@charset "UTF-8";
/*
Theme Name: Web JustBusiness
Author: JustBusiness Studio
Author URI: https://web.justbusiness.studio/
Description: Кастомная тема для вебстудии
Version: 1.0.1
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html
*/
/*core*/
@font-face {
  font-family: "Wix Madefor Display";
  font-weight: 400;
  src: url("fonts/WixMadeforDisplay-Regular.woff2") format("woff2"), url("fonts/WixMadeforDisplay-Regular.ttf") format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "Wix Madefor Display";
  font-weight: 500;
  src: url("fonts/WixMadeforDisplay-Medium.woff2") format("woff2"), url("fonts/WixMadeforDisplay-Medium.ttf") format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "Wix Madefor Display";
  font-weight: 600;
  src: url("fonts/WixMadeforDisplay-SemiBold.woff2") format("woff2"), url("fonts/WixMadeforDisplay-SemiBold.ttf") format("truetype");
  font-display: swap;
}
:root {
  --c-primary: #DAF560;
  --c-primary-90: #DAF560E6;
  --c-primary-80: #DAF560CC;
  --c-primary-70: #DAF560B3;
  --c-primary-60: #DAF56099;
  --c-primary-50: #DAF56080;
  --c-primary-40: #DAF56066;
  --c-primary-30: #DAF5604D;
  --c-primary-20: #DAF56033;
  --c-primary-10: #DAF5601A;
  --c-secondary: #FB4F08;
  --c-secondary-90: #FB4F08E6;
  --c-secondary-80: #FB4F08CC;
  --c-secondary-70: #FB4F08B3;
  --c-secondary-60: #FB4F0899;
  --c-secondary-50: #FB4F0880;
  --c-secondary-40: #FB4F0866;
  --c-secondary-30: #FB4F084D;
  --c-secondary-20: #FB4F0833;
  --c-secondary-10: #FB4F081A;
  --c-bg-1: #1C1C1C;
  --c-bg-1-90: #1C1C1CE6;
  --c-bg-1-80: #1C1C1CCC;
  --c-bg-1-70: #1C1C1CB3;
  --c-bg-1-60: #1C1C1C99;
  --c-bg-1-50: #1C1C1C80;
  --c-bg-1-40: #1C1C1C66;
  --c-bg-1-30: #1C1C1C4D;
  --c-bg-1-20: #1C1C1C33;
  --c-bg-1-10: #1C1C1C1A;
  --c-bg-2: #F1F1F1;
  --c-bg-2-90: #F1F1F1E6;
  --c-bg-2-80: #F1F1F1CC;
  --c-bg-2-70: #F1F1F1B3;
  --c-bg-2-60: #F1F1F199;
  --c-bg-2-50: #F1F1F180;
  --c-bg-2-40: #F1F1F166;
  --c-bg-2-30: #F1F1F14D;
  --c-bg-2-20: #F1F1F133;
  --c-bg-2-10: #F1F1F11A;
  --c-bg-3: #2F2F2F;
  --c-bg-3-90: #2F2F2FE6;
  --c-bg-3-80: #2F2F2FCC;
  --c-bg-3-70: #2F2F2FB3;
  --c-bg-3-60: #2F2F2F99;
  --c-bg-3-50: #2F2F2F80;
  --c-bg-3-40: #2F2F2F66;
  --c-bg-3-30: #2F2F2F4D;
  --c-bg-3-20: #2F2F2F33;
  --c-bg-3-10: #2F2F2F1A;
  --c-white: #ffffff;
  --c-white-90: #ffffffE6;
  --c-white-80: #ffffffCC;
  --c-white-70: #ffffffB3;
  --c-white-60: #ffffff99;
  --c-white-50: #ffffff80;
  --c-white-40: #ffffff66;
  --c-white-30: #ffffff4D;
  --c-white-20: #ffffff33;
  --c-white-10: #ffffff1A;
  --c-black: #000000;
  --c-black-90: #000000E6;
  --c-black-80: #000000CC;
  --c-black-70: #000000B3;
  --c-black-60: #00000099;
  --c-black-50: #00000080;
  --c-black-40: #00000066;
  --c-black-30: #0000004D;
  --c-black-20: #00000033;
  --c-black-10: #0000001A;
  --c-text: #8F8F8F;
  --c-text-90: #8F8F8FE6;
  --c-text-80: #8F8F8FCC;
  --c-text-70: #8F8F8FB3;
  --c-text-60: #8F8F8F99;
  --c-text-50: #8F8F8F80;
  --c-text-40: #8F8F8F66;
  --c-text-30: #8F8F8F4D;
  --c-text-20: #8F8F8F33;
  --c-text-10: #8F8F8F1A;
  --c-alert: #d9534f;
  --c-alert-90: #d9534fE6;
  --c-alert-80: #d9534fCC;
  --c-alert-70: #d9534fB3;
  --c-alert-60: #d9534f99;
  --c-alert-50: #d9534f80;
  --c-alert-40: #d9534f66;
  --c-alert-30: #d9534f4D;
  --c-alert-20: #d9534f33;
  --c-alert-10: #d9534f1A;
  --c-success: #5cb85c;
  --c-success-90: #5cb85cE6;
  --c-success-80: #5cb85cCC;
  --c-success-70: #5cb85cB3;
  --c-success-60: #5cb85c99;
  --c-success-50: #5cb85c80;
  --c-success-40: #5cb85c66;
  --c-success-30: #5cb85c4D;
  --c-success-20: #5cb85c33;
  --c-success-10: #5cb85c1A;
  --c-info: #5bb5de;
  --c-info-90: #5bb5deE6;
  --c-info-80: #5bb5deCC;
  --c-info-70: #5bb5deB3;
  --c-info-60: #5bb5de99;
  --c-info-50: #5bb5de80;
  --c-info-40: #5bb5de66;
  --c-info-30: #5bb5de4D;
  --c-info-20: #5bb5de33;
  --c-info-10: #5bb5de1A;
  --c-warning: #f0ad4e;
  --c-warning-90: #f0ad4eE6;
  --c-warning-80: #f0ad4eCC;
  --c-warning-70: #f0ad4eB3;
  --c-warning-60: #f0ad4e99;
  --c-warning-50: #f0ad4e80;
  --c-warning-40: #f0ad4e66;
  --c-warning-30: #f0ad4e4D;
  --c-warning-20: #f0ad4e33;
  --c-warning-10: #f0ad4e1A;
  /*Typography*/
  --ff-1: "Wix Madefor Display", sans-serif;
  --ff-2: "Wix Madefor Display", sans-serif;
  --fz-h1: 4rem;
  --fz-h2: 2.75rem;
  --fz-h3: 1.5rem;
  --fz-h4: 1.125rem;
  --fz-h5: max(12px, 1rem);
  --fz-p: max(12px, 1rem);
  --fz-btn: max(12px, 1rem);
  --border-radius: 24px;
}
@media screen and (max-width: 1440px) {
  :root {
    --fz-h3: 18px;
  }
}
@media screen and (max-width: 1024px) {
  :root {
    --fz-h2: 36px;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --fz-h1: 40px;
    --fz-h2: 32px;
  }
}

* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

*::-webkit-scrollbar {
  height: 12px;
  width: 12px;
}

*::-webkit-scrollbar-thumb {
  background-color: var(--c-white);
  border-radius: 0.3125rem;
  border: 0.125rem solid var(--c-black);
}

*::-webkit-scrollbar-track {
  background: transparent;
}

html {
  font-size: 16px;
}
@media (min-width: 768px) {
  html {
    font-size: 1vw;
  }
}
@media (min-width: 1600px) {
  html {
    font-size: 16px;
  }
}

html,
body {
  scroll-padding-top: -5.25rem;
}

:root {
  --jb-scrollbar-compensate: 0px;
}

@media (min-width: 1200px) {
  body.menu-opened,
  body.menu-clicked {
    --jb-scrollbar-compensate: 12px;
  }
}
html.with-fancybox,
html.with-fancybox body {
  --jb-scrollbar-compensate: var(--fancybox-scrollbar-compensate, 0px);
}

body {
  background-color: var(--c-black);
  color: var(--c-white);
  font-family: var(--ff-1);
  line-height: 1.4;
  font-style: normal;
  font-size: max(12px, 1rem);
  position: relative;
}

body.menu-opened, body.menu-clicked, .with-fancybox {
  overflow: hidden !important;
}
@media (min-width: 768px) {
  body.menu-opened .smooth-wrapper, body.menu-clicked .smooth-wrapper, .with-fancybox .smooth-wrapper {
    padding-right: var(--jb-scrollbar-compensate);
  }
}

main {
  display: flex;
  flex-direction: column;
  background-color: #000000;
}

footer {
  flex: 0 0 auto;
}

h1 {
  font-family: var(--ff-2);
  font-size: var(--fz-h1);
  font-weight: 500;
  line-height: 1;
}

h2 {
  font-family: var(--ff-2);
  font-size: var(--fz-h2);
  font-weight: 500;
  line-height: 1.2;
}

h3 {
  font-family: var(--ff-2);
  font-size: var(--fz-h3);
  font-weight: 500;
  line-height: 1.2;
}

h4 {
  font-size: var(--fz-h4);
  font-weight: 400;
  line-height: 1.2;
}

p {
  color: var(--c-text);
  font-size: var(--fz-p);
  font-style: normal;
  font-weight: 400;
}
p:not(:last-child) {
  margin-bottom: 0.875rem;
}

a {
  color: var(--c-white);
  font-size: var(--fz-p);
  font-style: normal;
  font-weight: 400;
  text-decoration: none;
  transition: color 0.3s ease;
}
a:hover {
  color: var(--c-primary);
}

ul {
  margin: 0 0 0.75rem 0.75rem;
}

ul > li {
  margin: 0 0 0.3125rem 0.3125rem;
}

main section {
  margin-bottom: 7.5rem;
}
@media (max-width: 767.9px) {
  main section {
    margin-bottom: 5rem;
  }
}

input, textarea {
  padding: 1.1875rem 1.5rem;
  color: var(--c-black);
  font-family: var(--ff-1);
  font-size: var(--fz-p);
  border-radius: 0.5rem;
  border: solid 0.0625rem var(--c-black-25);
  background-color: var(--c-white);
  outline: none;
  resize: none;
  transition: 0.3s;
}
input:not(:placeholder-shown), input:focus, textarea:not(:placeholder-shown), textarea:focus {
  border: none;
}
input.invalid, input.wpcf7-not-valid, textarea.invalid, textarea.wpcf7-not-valid {
  color: #FB4F08;
  padding: 0.6875rem 1.5rem 1.6875rem;
}
input.invalid::placeholder, input.wpcf7-not-valid::placeholder, textarea.invalid::placeholder, textarea.wpcf7-not-valid::placeholder {
  color: #FB4F08 !important;
}

form .wpcf7-response-output {
  display: none;
}
form .wpcf7-spinner {
  position: absolute;
  right: 1rem;
  top: 1.5rem;
}
@media (max-width: 767.9px) {
  form .wpcf7-spinner {
    right: -0.5rem;
    top: 1rem;
  }
}
form .wpcf7-acceptance input[type=checkbox] {
  display: none;
}
form .wpcf7-acceptance .wpcf7-list-item {
  margin-left: 0;
}
form .wpcf7-acceptance .wpcf7-list-item-label {
  display: flex;
  align-items: start;
  gap: 0.375rem;
  cursor: pointer;
  font-size: max(12px, 0.75rem);
  color: var(--c-white-60);
}
form .wpcf7-acceptance .wpcf7-list-item-label a {
  font-size: max(12px, 0.75rem);
  color: var(--c-white-60);
  text-decoration: underline;
}
form .wpcf7-acceptance .wpcf7-list-item-label a:hover {
  text-decoration: none;
}
form .wpcf7-acceptance .wpcf7-list-item-label:before {
  content: "";
  display: inline-block;
  min-width: max(12px, 1rem);
  height: max(12px, 1rem);
  border: 1px solid #ffffff;
  background: transparent;
  border-radius: 4px;
  transition: all 0.3s;
  opacity: 0.6;
}
form .wpcf7-acceptance input[type=checkbox]:checked + .wpcf7-list-item-label:before {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z"/></svg>') no-repeat center;
  opacity: 1;
}
form .wpcf7-acceptance input[type=checkbox][aria-invalid=true] + .wpcf7-list-item-label:before {
  border-color: #ff0000;
  opacity: 1;
}
form .wpcf7-acceptance + .wpcf7-not-valid-tip {
  display: none;
}

input:not([type=checkbox]):not([type=radio]),
textarea,
select {
  -webkit-appearance: none;
  -moz-appearance: textfield;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  appearance: none;
  margin: 0;
}

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

::-webkit-input-placeholder { /* Chrome */
  color: var(--c-text);
}

:-ms-input-placeholder { /* IE 10+ */
  color: var(--c-text);
}

::-moz-placeholder { /* Firefox 19+ */
  color: var(--c-text);
  opacity: 1;
}

:-moz-placeholder { /* Firefox 4 - 18 */
  color: var(--c-text);
  opacity: 1;
}

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

.form-control-wrap {
  position: relative;
}

.form-control-wrap.error input {
  border-color: var(--c-alert) !important;
  color: var(--c-alert) !important;
}

.wpcf7-not-valid-tip {
  color: var(--c-black);
  font-size: max(12px, 0.75rem);
  line-height: 1.2;
  position: absolute;
  left: 1.5rem;
  right: 1.5rem;
  bottom: 0.15rem;
  white-space: normal;
}

table,
thead,
tbody,
tfoot,
tr,
th,
td {
  display: block;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  border: none;
  border-collapse: inherit;
  border-spacing: 0;
  border-color: inherit;
  vertical-align: inherit;
  text-align: left;
  font-weight: inherit;
  -webkit-border-horizontal-spacing: 0;
  -webkit-border-vertical-spacing: 0;
}

th, td {
  display: inline;
}

strong {
  font-weight: 500;
}

@media (max-width: 767.9px) {
  #wpadminbar {
    display: none;
  }
}

.jb-visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.copy-to-clipboard {
  cursor: pointer;
}
.copy-to-clipboard:before {
  content: "";
  display: block;
  min-width: 1.25rem;
  height: 1.25rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1.25rem;
  background-image: url("images/copy1.svg");
  transition: background-image 0.15s;
}
.copy-to-clipboard:hover:before {
  background-image: url("images/copy2.svg");
}
.copy-to-clipboard.copied:before {
  background-image: url("images/copy3.svg");
}

/*base*/
.jb-section {
  margin: 60px 0;
}
@media (max-width: 1023.9px) {
  .jb-section {
    margin: 30px 0;
  }
}
@media (max-width: 767.9px) {
  .jb-section {
    margin: 20px 0;
  }
}
.jb-section__header {
  display: flex;
  align-items: end;
  gap: 1rem;
  overflow: hidden;
}
@media (max-width: 767.9px) {
  .jb-section__header {
    flex-direction: column;
    align-items: start;
  }
}
.jb-section__header .jb-title {
  font-size: 3rem;
  min-width: 0;
}
@media (max-width: 767.9px) {
  .jb-section__header .jb-title {
    font-size: 1.75rem;
  }
  .jb-section__header .jb-title br {
    display: none;
  }
}
.jb-section__header .jb-subtitle {
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .jb-section__header .jb-subtitle {
    max-width: 50%;
  }
}

.jb-container {
  max-width: 100%;
  margin: 0 2.5rem;
  display: flex;
  flex-direction: column;
}
@media (max-width: 767.9px) {
  .jb-container {
    margin: 0 1rem;
  }
}
@media (min-width: 1600px) {
  .jb-container {
    max-width: 1520px;
    margin: 0 auto;
    width: 100%;
  }
}
.jb-container-card {
  width: 100%;
  background-color: var(--c-bg-2);
  border-radius: var(--border-radius);
  color: var(--c-text);
  padding: 3.75rem;
  display: grid;
}
@media screen and (max-width: 1440px) {
  .jb-container-card {
    padding: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .jb-container-card {
    padding: 2.5rem 1.25rem;
  }
}
.jb-container-card__inner {
  max-width: 85rem;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
@media screen and (max-width: 1440px) {
  .jb-container-card__inner {
    max-width: 100rem;
  }
}
.jb-container-card--swiper {
  padding: 0;
  overflow: hidden !important;
}
.jb-container-card--swiper .jb-container-card__inner {
  max-width: 100%;
}

.jb-menu__logo {
  display: flex;
}
.jb-menu__menu {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: 100dvh;
  background: #000000;
  transition: clip-path 0.7s ease;
  clip-path: inset(0 0 0 100%);
  padding: 0 2.5rem 0;
  display: block;
  overflow-y: auto;
}
.jb-menu__menu > .jb-container {
  height: 100%;
  padding: 1.75rem 0 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: start;
  flex-grow: 1;
  gap: 3.125rem;
}
@media (max-width: 1599.9px) {
  .jb-menu__menu > .jb-container {
    margin: 0;
    max-width: calc(1520px - var(--jb-scrollbar-compensate));
  }
}
@media (max-width: 767.9px) {
  .jb-menu__menu > .jb-container {
    padding: 0 0 2.5rem;
  }
}
@media (max-width: 767.9px) {
  .jb-menu__menu {
    padding: 1.875rem 1rem 1.5rem;
    gap: 2rem;
    transition: clip-path 0.3s ease;
  }
}
.jb-menu__menu ul.menu {
  list-style-type: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}
.jb-menu__menu ul.menu ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.jb-menu__menu ul.menu li {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin: 0;
}
@media (min-width: 768px) {
  .jb-menu__menu ul.menu li {
    width: fit-content;
  }
}
@media (max-width: 767.9px) {
  .jb-menu__menu ul.menu li {
    gap: 1rem;
  }
}
.jb-menu__menu ul.menu li.current-menu-item a {
  border-bottom: 2px solid var(--c-white);
  width: fit-content;
}
.jb-menu__menu.fade {
  opacity: 0;
}
@media (min-width: 768px) {
  .jb-menu__menu.fade {
    width: calc(100% - var(--jb-scrollbar-compensate));
  }
}
.jb-menu__menu.fade.in {
  opacity: 1;
  clip-path: inset(0 0 0 0%);
}
.jb-menu__menu.site-navigation ul.menu {
  margin: 0;
  flex-direction: column;
  gap: 1rem;
}
@media (min-width: 768px) {
  .jb-menu__menu.site-navigation ul.menu {
    padding-left: 58.375rem;
  }
}
.jb-menu__menu.site-navigation ul.menu > li {
  position: relative;
  margin: 0;
}
.jb-menu__menu.site-navigation ul.menu > li a {
  font-family: var(--ff-2);
  line-height: 120%;
  transition: 0.3s;
}
.jb-menu__menu.site-navigation ul.menu > li a:hover {
  color: #DAF560;
}
.jb-menu__menu.site-navigation ul.menu > li.jb-menu--callback a {
  opacity: 1 !important;
  color: var(--c-primary);
  display: flex;
  gap: 0.625rem;
  align-items: center;
}
.jb-menu__menu.site-navigation ul.menu > li.jb-menu--callback a::after {
  content: "";
  display: inline-block;
  width: 0.625rem;
  height: 0.625rem;
  background-image: url("/wp-content/themes/web-jb/images/arrow.svg");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: 100%;
  transition: 0.2s;
  transform: rotate(0deg);
}
.jb-menu__menu.site-navigation ul.menu > li.jb-menu--callback:hover a::after {
  transform: rotate(45deg);
}
.jb-menu__menu.site-navigation ul.menu li a {
  font-size: 3rem;
  font-weight: 500;
}
@media (max-width: 767.9px) {
  .jb-menu__menu.site-navigation ul.menu li a {
    font-size: 1.75rem;
  }
}
.jb-menu__menu.site-navigation ul.menu .menu-item-has-children ul li a {
  font-family: var(--ff-1);
  font-weight: 400;
  font-size: max(12px, 1rem);
  line-height: 140%;
  color: var(--c-white-60);
}
.jb-menu__menu.site-navigation ul.menu .menu-item-has-children ul li a:hover {
  color: var(--c-primary);
}
.jb-menu__menu.site-navigation ul.menu .menu-item-has-children ul li.current-menu-item a {
  border-bottom: 1px solid var(--c-white-60);
}
.jb-menu__menu.site-navigation ul.menu .menu-item-has-children ul li.current-menu-item a:hover {
  border-color: var(--c-primary);
}
@media (min-width: 768px) {
  .jb-menu__menu.site-navigation ul.menu .menu-item-has-children {
    position: absolute;
  }
  .jb-menu__menu.site-navigation ul.menu .menu-item-has-children:nth-child(2) {
    left: 0;
  }
  .jb-menu__menu.site-navigation ul.menu .menu-item-has-children:nth-child(3) {
    left: 20rem;
  }
  .jb-menu__menu.site-navigation ul.menu .menu-item-has-children a {
    font-size: max(12px, 1rem);
  }
  .jb-menu__menu.site-navigation ul.menu .menu-item-has-children > a {
    cursor: default;
    font-family: var(--ff-1);
    font-size: 1.5rem;
    font-weight: 400;
  }
  .jb-menu__menu.site-navigation ul.menu .menu-item-has-children > a:hover {
    color: #ffffff;
  }
  .jb-menu__menu.site-navigation ul.menu .menu-item-has-children ul {
    display: flex !important;
    flex-direction: column;
    gap: 1rem;
  }
}
@media (max-width: 767.9px) {
  .jb-menu__menu.site-navigation ul.menu .menu-item-has-children > a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
  .jb-menu__menu.site-navigation ul.menu .menu-item-has-children > a:after {
    content: url(images/arrow-down.svg);
    transition: transform 0.5s ease;
    line-height: 1;
    font-size: 7px;
  }
  .jb-menu__menu.site-navigation ul.menu .menu-item-has-children ul {
    display: none;
    gap: 0.75rem;
    flex-direction: column;
  }
  .jb-menu__menu.site-navigation ul.menu .menu-item-has-children.open > a:after {
    content: url(images/arrow-up.svg);
    transform: rotate(180deg);
  }
}
.jb-menu__menu.site-navigation ul.menu li.menu-label > a {
  position: relative;
  align-self: flex-start;
  width: fit-content;
}
.jb-menu__menu.site-navigation ul.menu .jb-menu__label {
  position: absolute;
  left: 100%;
  top: 0;
  z-index: 1;
  transform: translate(0.5em, -50%);
  display: inline-flex;
  align-items: center;
  padding: 0.15em 0.6em;
  border-radius: 0.5em;
  background-color: var(--c-primary);
  color: var(--c-black);
  font-family: var(--ff-1);
  font-size: min(0.75em, 1rem);
  font-weight: 500;
  line-height: 1.4;
  text-transform: uppercase;
  white-space: nowrap;
  pointer-events: none;
}
.jb-menu__menu.site-navigation ul.menu li.menu-label--accent > a .jb-menu__label {
  background-color: var(--c-secondary);
}
.jb-menu__menu.site-navigation ul.menu .jb-menu__label--round {
  width: 6em;
  height: 6em;
  padding: 0;
  border-radius: 50%;
  justify-content: center;
}
.jb-menu__menu.site-navigation ul.menu .jb-menu__label--round svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  animation: jb-menu-label-spin 10s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .jb-menu__menu.site-navigation ul.menu .jb-menu__label--round svg {
    animation: none;
  }
}
.jb-menu__menu.site-navigation ul.menu .jb-menu__label--round text {
  fill: currentColor;
  font-family: var(--ff-1);
  font-size: 16px;
  font-weight: 500;
}
.jb-menu__menu.site-navigation ul.menu .calc-item {
  padding: 1rem 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
  border-top: 1px solid var(--c-white-40);
  border-bottom: 1px solid var(--c-white-40);
  margin-top: 1rem;
}
@media (min-width: 768px) {
  .jb-menu__menu.site-navigation ul.menu .calc-item {
    position: absolute;
    left: 20rem;
    top: calc(151.2px + 12.3rem);
    padding: 0.75rem 0;
    gap: 0.75rem;
    margin-top: 0;
  }
  .jb-menu__menu.site-navigation ul.menu .calc-item a {
    font-family: var(--ff-1);
    font-size: 1.5rem;
    font-weight: 400;
  }
}
@media (min-width: 1024px) {
  .jb-menu__menu.site-navigation ul.menu .calc-item {
    top: unset;
    bottom: calc(-8rem - 1.4 * max(12px, 1rem));
  }
}
.jb-menu__menu.site-navigation ul.menu .calc-item:before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background: url(images/calc-icon.svg) center/contain no-repeat;
}
@media (max-width: 767.9px) {
  .jb-menu__menu.site-navigation ul.menu .calc-item:before {
    padding: 18px;
    border-radius: 12px;
    border: 1px solid var(--c-white-40);
    background: url(images/calc-icon-mob.svg) center no-repeat;
  }
}
.jb-menu__list {
  width: 100%;
  position: relative;
}
.jb-menu__toggle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: none;
  outline: none;
  background-color: #2F2F2F;
  border-radius: 0.375rem;
  height: 3rem;
  width: 3.375rem;
}
.jb-menu__toggle span {
  height: 2px;
  width: 1.5rem;
  background: #fff;
  border-radius: 2px;
  transition: all 0.3s;
}
.jb-menu__toggle.active span {
  transform-origin: center;
}
.jb-menu__toggle.active span:first-child {
  transform: translateY(8px) rotate(45deg);
}
.jb-menu__toggle.active span:nth-child(2) {
  opacity: 0;
  visibility: hidden;
}
.jb-menu__toggle.active span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}
.jb-menu__bottom {
  display: flex;
  justify-content: space-between;
  align-items: end;
  width: 100%;
  gap: 1.25rem 2rem;
}
@media (max-width: 767.9px) {
  .jb-menu__bottom {
    flex-direction: column;
    align-items: start;
  }
}
.jb-menu__bottom--left {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: end;
  width: 100%;
  gap: 1.25rem 0.75rem;
}
@media (min-width: 768px) {
  .jb-menu__bottom--left {
    flex-direction: row;
    align-items: center;
    justify-content: start;
  }
}
.jb-menu__inputs {
  display: flex;
  gap: 1rem;
  position: relative;
}
@media (max-width: 767.9px) {
  .jb-menu__inputs > span:not(.wpcf7-spinner) {
    width: calc(100% - 168px);
  }
  .jb-menu__inputs > span:not(.wpcf7-spinner) input {
    width: 100%;
  }
}
.jb-menu__contacts {
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
  gap: 1rem;
}
@media (min-width: 768px) {
  .jb-menu__contacts {
    order: 2;
    flex-direction: column;
    gap: 0.5rem;
  }
}
@media (max-width: 767.9px) {
  .jb-menu__contacts a {
    font-weight: 500;
  }
}
@media (min-width: 768px) {
  .jb-menu__contacts a {
    color: var(--c-white-60);
  }
  .jb-menu__contacts a:hover {
    color: var(--c-primary);
  }
}
.jb-menu__form .screen-reader-response {
  display: none;
}
.jb-menu__form form {
  display: flex;
  gap: 1.5rem;
  flex-direction: column;
}
@media (min-width: 768px) {
  .jb-menu__form form label {
    width: max-content;
  }
}
@media (max-width: 767.9px) {
  .jb-menu__form form {
    gap: 1rem;
  }
}
@media (min-width: 768px) {
  .jb-menu__form > label {
    padding: 1.125rem 1.5rem;
    background-color: #1C1C1C;
    border-radius: 0.5rem;
  }
}
@media (max-width: 767.9px) {
  .jb-menu__form > label {
    font-weight: 500;
  }
  .jb-menu__form > label span {
    display: none;
  }
}

@keyframes jb-menu-label-spin {
  to {
    transform: rotate(360deg);
  }
}
#main-header {
  position: absolute;
  width: 100%;
}

.jb-header {
  padding: 1.75rem 0 1.25rem;
  z-index: 1000;
  position: relative;
  overflow: hidden;
}
@media (max-width: 767.9px) {
  .jb-header {
    padding-top: 1.875rem;
    position: absolute;
  }
}
@media (min-width: 1600px) {
  .menu-opened .jb-header > .jb-container, .with-fancybox .jb-header > .jb-container {
    max-width: calc(1520px + var(--jb-scrollbar-compensate));
  }
}
.jb-header__logo {
  position: relative;
  transition: 0.3s;
  display: inline-flex;
  position: relative;
}
.jb-header__logo svg {
  width: 13.5625rem;
  height: 1.5rem;
}
@media (max-width: 767.9px) {
  .jb-header__logo svg {
    width: 11.3125rem;
    height: 1.25rem;
  }
}
.jb-header__logo:before {
  content: "";
  position: absolute;
  top: 0;
  right: calc(100% - 1px);
  width: 25vw;
  height: 100%;
  background-color: #DAF560;
}
@media (max-width: 767.9px) {
  .jb-header__logo:before {
    width: 1.0625rem;
  }
}
.jb-header__inner {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.jb-header__contacts {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.625rem;
}
@media screen and (max-width: 40rem) {
  .jb-header__contacts {
    gap: 0.3125rem;
  }
}
.jb-header__contacts--tel {
  color: var(--c-white);
  font-size: var(--fz-h3);
  font-weight: 500;
  margin-right: 0.1875rem;
}
@media screen and (max-width: 40.0625rem) {
  .jb-header__contacts--tel {
    display: none;
  }
}
.jb-header__contacts--tel span {
  display: block;
  margin-top: 0.25rem;
  color: var(--c-text);
  font-size: 0.8125rem;
  font-weight: 300;
}
@media screen and (min-width: 40.0625rem) {
  .jb-header__contacts .jb-btn--icon.tel {
    display: none;
  }
}
.jb-header .jb-btn_mail {
  display: none;
}
@media (max-width: 1024px) {
  .jb-header .jb-btn_mail {
    display: block;
  }
}
.jb-header__right {
  display: flex;
  gap: 0.75rem;
  position: fixed;
  top: 1.5rem;
  right: 2.5rem;
  z-index: 100000;
  align-items: center;
}
@media (max-width: 767.9px) {
  .jb-header__right {
    top: 1rem;
    right: 1rem;
  }
}
@media (min-width: 1600px) {
  .jb-header__right {
    right: 0 !important;
    left: 0 !important;
    width: 100%;
    max-width: 1520px;
    margin: 0 auto;
    justify-content: flex-end;
    height: 0;
    align-items: normal;
  }
}
@media (min-width: 768px) {
  .menu-opened .jb-header__right, .with-fancybox .jb-header__right {
    right: calc(2.5rem + var(--jb-scrollbar-compensate));
  }
}
@media (min-width: 1600px) {
  .menu-opened .jb-header__right, .with-fancybox .jb-header__right {
    max-width: calc(1520px - var(--jb-scrollbar-compensate));
  }
}
.jb-header__btn {
  text-transform: uppercase;
  font-family: var(--ff-2);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  padding: 1rem;
  background-color: #2F2F2F;
  border-radius: 0.375rem;
  height: 3rem;
  transition: all 0.3s ease;
  /*.mac-os & {
  	margin-top: pxToRem(6px);
  }*/
}
.menu-opened .jb-header__btn {
  opacity: 0;
  cursor: default;
}
@media (max-width: 767.9px) {
  .jb-header__btn {
    display: none;
  }
}
@media (min-width: 768px) {
  .jb-header input[type=tel] {
    min-width: 25.75rem;
  }
}

.jb-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 1.25rem 1.5rem;
  color: var(--c-black);
  font-size: var(--fz-btn);
  font-family: var(--ff-2);
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  border: 0.0625rem solid var(--c-primary);
  background-color: var(--c-primary);
  border-radius: 0.5rem;
  white-space: nowrap;
  text-align: center;
  cursor: pointer;
  user-select: none;
  transition: all 0.3s ease;
  color: var(--c-black);
  width: fit-content;
  gap: 0.375rem;
}
.jb-btn:not(.jb-btn:disabled):hover {
  color: var(--c-black);
  background-color: white;
}
.jb-btn-primary {
  border: 0.0625rem solid var(--c-primary);
  background-color: var(--c-primary);
}
.jb-btn-primary:not(:disabled):hover::before {
  transform: translateX(0) scale(1);
}
.jb-btn-primary:not(:disabled):hover span {
  transform: translateX(0);
}
.jb-btn-primary span {
  transform: translateX(-pxToRem(12px));
  transition: 0.2s;
}
.jb-btn-secondary {
  color: var(--c-white);
  border: 0.0625rem solid var(--c-white-40);
  background-color: transparent;
}
.jb-btn-secondary:hover {
  color: var(--c-black);
  background-color: var(--c-primary);
}
.jb-btn-gray {
  color: #f1f1f1;
  background-color: #2F2F2F;
  border-color: #2F2F2F;
}
.jb-btn-outline {
  color: var(--c-primary);
  background-color: transparent;
  border-color: var(--c-white-40);
}
.jb-btn-gray:not(.jb-btn:disabled):hover, .jb-btn-outline:not(.jb-btn:disabled):hover {
  color: var(--c-black);
  background-color: var(--c-primary);
  border-color: var(--c-primary);
}
.jb-btn-gray.jb-btn--arrow:after, .jb-btn-outline.jb-btn--arrow:after {
  background-image: url(images/arrow-light.svg);
}
.jb-btn-gray.jb-btn--arrow:hover:after, .jb-btn-outline.jb-btn--arrow:hover:after {
  background-image: url(images/arrow.svg);
}
.jb-btn--icon {
  min-width: unset;
  border-radius: 0.625rem;
  padding: 0.75rem;
  background-color: var(--c-bg-2);
  border-color: var(--c-bg-2);
  width: 2.625rem;
  height: 2.625rem;
}
.jb-btn--icon:hover {
  background-color: var(--c-primary);
}
@media screen and (max-width: 40rem) {
  .jb-btn--icon {
    padding: 0.625rem;
    width: 2.25rem;
    height: 2.25rem;
  }
}
.jb-btn--icon svg {
  display: block;
  width: 1rem;
  height: 1rem;
}
@media screen and (max-width: 40rem) {
  .jb-btn--icon svg {
    width: 0.875rem;
    height: 0.875rem;
  }
}
.jb-btn--arrow:after {
  content: "";
  width: 0.875rem;
  height: 0.5625rem;
  background: url(images/arrow.svg) center bottom/contain no-repeat;
}
.jb-btn-secondary.jb-btn--arrow:after {
  background-image: url(images/arrow-light.svg);
}
.jb-btn-secondary.jb-btn--arrow:hover:after {
  background-image: url(images/arrow.svg);
}
.jb-btn--arrow-left:before {
  content: "";
  width: 0.875rem;
  height: 1.125rem;
  background: url(images/arrow.svg) center center/contain no-repeat;
  transform: rotate(180deg);
}
.jb-btn--small {
  font-size: 0.875rem;
  padding: 1rem 1.25rem;
}

.jb-btn,
button,
[role=button] {
  cursor: pointer;
}

/*:disabled {
	cursor: not-allowed;
}*/
.jb-footer__container {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  padding-bottom: 1.5rem;
}
@media (max-width: 767.9px) {
  .jb-footer__container {
    gap: 2.5rem;
  }
}
.jb-footer__top {
  display: grid;
  grid-template-columns: minmax(0, 30%) minmax(0, 1fr) minmax(0, 14%);
  align-items: start;
  gap: 2.5rem;
}
@media (min-width: 768px) and (max-width: 1199.9px) {
  .jb-footer__top {
    grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
  }
}
@media (max-width: 767.9px) {
  .jb-footer__top {
    grid-template-columns: minmax(0, 1fr);
  }
}
.jb-footer__info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
  min-width: 0;
}
@media (min-width: 768px) and (max-width: 1199.9px) {
  .jb-footer__info {
    grid-column: 1/-1;
  }
}
.jb-footer__info p {
  margin: 0;
  color: var(--c-text);
  font-size: max(12px, 1rem);
}
.jb-footer__logo:has(img)::before {
  display: none;
}
.jb-footer__logo img {
  width: 13.5625rem;
  height: auto;
}
.jb-footer__logo svg {
  width: 13.5625rem;
  height: 1.5rem;
}
.jb-footer__contacts {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.jb-footer__contacts a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--c-text);
  font-size: max(12px, 1rem);
}
.jb-footer__contacts a[href^="tel:"] {
  font-size: 1.5rem;
  color: var(--c-white);
  line-height: 1.2;
}
.jb-footer__contacts a:hover {
  color: var(--c-primary);
}
.jb-footer__contacts span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.jb-footer__contacts svg {
  flex: 0 0 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  color: var(--c-primary);
}
.jb-footer__contacts svg [stroke] {
  stroke: var(--c-primary);
}
.jb-footer__nav {
  min-width: 0;
}
.jb-footer__nav ul {
  display: block;
  margin: 0 0 -1rem;
  padding: 0;
  list-style: none;
}
@media (max-width: 767.9px) {
  .jb-footer__nav ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin: 0;
  }
}
.jb-footer__nav ul li {
  margin: 0;
  padding: 0 0 1rem;
  min-width: 0;
  break-inside: avoid;
}
@media (max-width: 767.9px) {
  .jb-footer__nav ul li {
    padding: 0;
  }
}
.jb-footer__nav ul.jb-footer__menu--cols {
  columns: 3;
  column-gap: 1.5rem;
}
.jb-footer__nav a {
  display: inline-block;
}
.jb-footer__title {
  margin-bottom: 1.5rem;
  color: var(--c-primary);
  font-size: max(12px, 1rem);
  text-transform: uppercase;
}
.jb-footer__year {
  font-size: max(12px, 0.75rem);
}
.jb-footer__map {
  border-radius: 0.75rem;
  background-color: #1C1C1C;
  display: flex;
  width: 100%;
  height: auto;
}
@media (max-width: 767.9px) {
  .jb-footer__map {
    object-fit: cover;
    height: 20.5rem;
  }
}
.jb-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  border-top: 1px solid var(--c-white-40);
  padding-top: 1.5rem;
}
@media (min-width: 768px) {
  .jb-footer__bottom {
    padding-bottom: 3.5rem;
  }
}
.jb-footer__bottom .jb-footer__link {
  text-decoration: underline;
  text-underline-offset: 0.125rem;
}
@media (max-width: 767.9px) {
  .jb-footer__bottom {
    flex-direction: column;
    gap: 1rem;
    padding-top: 2.5rem;
  }
}
.jb-footer__bottom-left {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  font-size: clamp(12px, 1rem, 16px);
}
@media (max-width: 767.9px) {
  .jb-footer__bottom-left {
    gap: 0.5rem;
  }
}
.jb-footer__menu {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
}
.jb-footer__menu li {
  margin: 0;
  padding: 0;
}
@media (max-width: 767.9px) {
  .jb-footer__menu {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem 1.5rem;
    flex: 0 1 auto;
    order: 3;
    width: 100%;
  }
}
.jb-footer__copyright {
  color: var(--c-text);
  font-size: max(12px, 1rem);
}
.jb-footer__copyright span::before {
  content: " · ";
}
@media (max-width: 767.9px) {
  .jb-footer__copyright {
    width: 100%;
  }
  .jb-footer__copyright span {
    display: block;
    margin-top: 1rem;
  }
  .jb-footer__copyright span::before {
    content: none;
  }
}
.jb-footer__link {
  color: var(--c-text);
  font-size: clamp(12px, 1rem, 16px);
}
.jb-footer__link:hover {
  color: var(--c-primary);
}
@media (max-width: 767.9px) {
  .jb-footer__link {
    width: 100%;
  }
}
.jb-footer__socials {
  display: flex;
  gap: 0.75rem;
}
@media (max-width: 767.9px) {
  .jb-footer__socials {
    flex: 0 1 auto;
    order: 1;
    width: 100%;
  }
}
.jb-footer > .jb-footer__container > .jb-footer__socials {
  order: 0;
  flex-wrap: wrap;
}
.jb-footer > .jb-footer__container > .jb-footer__socials .jb-footer__icon path {
  fill: var(--c-white);
}
.jb-footer > .jb-footer__container > .jb-footer__socials .jb-footer__icon:hover path {
  fill: var(--c-primary);
}
.jb-footer__icon {
  border-radius: 0.75rem;
  border: 1px solid var(--c-white-40);
  padding: 0.9375rem;
  display: flex;
}
.jb-footer__icon svg {
  width: 1.5rem;
  height: 1.5rem;
}
.jb-footer__icon path {
  transition: fill 0.3s ease;
}
.jb-footer__icon:hover path {
  fill: #ffffff;
}

.jb-map {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1520/440;
}
@media (max-width: 767.9px) {
  .jb-map {
    aspect-ratio: unset;
    height: 20.5rem;
  }
}
.jb-map.is-loading:after {
  content: "Загружаем карту…";
  color: var(--c-white-60);
  font-size: max(12px, 1rem);
}
.jb-map.is-failed:after {
  content: "Карта недоступна. Причина — в консоли браузера.";
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  color: var(--c-white-60);
  font-size: max(12px, 0.875rem);
}
.jb-map__canvas {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
}
.jb-map__pin {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding: 0.5rem 1rem;
  border-radius: 6.25rem;
  background-color: var(--c-secondary);
  color: var(--c-white);
  font-family: var(--ff-2);
  font-size: max(12px, 0.875rem);
  font-weight: 500;
  line-height: 1;
  transform: translate(-50%, -50%);
}
.jb-map__pin--metro {
  background-color: var(--c-primary);
  color: var(--c-black);
}
.jb-map__route {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 2;
}

.jb-scroll-top {
  position: fixed;
  right: 2.5rem;
  bottom: 6.25rem;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  border: none;
  border-radius: 50%;
  background-color: var(--c-bg-1);
  border: 1px solid var(--c-white-20);
  appearance: none;
  -webkit-appearance: none;
  outline: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(0.75rem);
  transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
  pointer-events: none;
}
@media (min-width: 768px) {
  body.menu-opened .jb-scroll-top, body.menu-clicked .jb-scroll-top, .with-fancybox .jb-scroll-top {
    right: calc(2.5rem + var(--jb-scrollbar-compensate));
  }
}
@media (max-width: 767.9px) {
  .jb-scroll-top {
    right: 1rem;
    bottom: 1rem;
  }
}
@media (min-width: 768px) and (max-width: 1023.9px) {
  .jb-scroll-top {
    bottom: 10rem;
  }
}
.jb-scroll-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.jb-scroll-top:hover {
  transform: scale(1.1);
}
.jb-scroll-top svg {
  width: 0.875rem;
  height: 0.875rem;
  transform: rotate(180deg);
}
.jb-scroll-top svg path {
  fill: var(--c-primary);
}

.jb-title {
  font-weight: 500;
  opacity: 0.01;
}

.jb-subtitle {
  font-size: max(12px, 0.75rem);
  margin-bottom: 0.625rem;
}
@media (max-width: 767.9px) {
  .jb-subtitle {
    margin-bottom: 0;
  }
}

.jb-crumbs {
  color: var(--c-text);
  font-size: 0.875rem;
  font-weight: 500;
}
.jb-crumbs a {
  color: var(--c-text);
  font-size: inherit;
}
.jb-crumbs a:hover {
  color: var(--c-primary);
}
.jb-crumbs .breadcrumb--last {
  color: var(--c-white);
}

.modal {
  position: relative;
}
.modal.fancybox__content {
  clip-path: inset(0 0 0 100%);
  transition: clip-path 0.7s ease;
}
@media (max-width: 767.9px) {
  .modal.fancybox__content {
    transition: clip-path 0.3s ease;
  }
}
.modal.fancybox__content.open {
  clip-path: inset(0 0 0 0%);
}
.modal__holder {
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: var(--c-bg-1);
  padding: 3rem 2.5rem;
  color: var(--c-text);
  gap: 2rem;
}
@media (max-width: 767.9px) {
  .modal__holder {
    padding: 1.125rem 1rem 1.5rem;
  }
}
.modal__title {
  color: var(--c-white);
}
.modal__desc {
  color: var(--c-white);
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 767.9px) {
  .modal__desc {
    font-size: 1.25rem;
    margin-bottom: 1rem;
  }
}
.modal .jb-menu__bottom {
  margin-top: auto;
}
@media (min-width: 768px) {
  .modal .jb-menu__logo {
    display: none;
  }
}
.modal__content {
  margin-top: auto;
}
.modal__inputs {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  position: relative;
  width: 100%;
  min-width: 0;
}
.modal__inputs > span {
  min-width: 0;
}
.modal__inputs > span input {
  width: 100%;
  min-width: 0;
}
.modal__inputs > .wpcf7-submit {
  min-width: 0;
  max-width: 100%;
}
.modal__form .screen-reader-response {
  display: none;
}
.modal__form form {
  display: flex;
  gap: 1.5rem;
  flex-direction: column;
}
@media (max-width: 767.9px) {
  .modal__form form {
    gap: 1rem;
  }
}
.modal__form label {
  color: #ffffff;
}
.modal {
  /*& > .f-button.is-close-btn {
  	--f-button-width: 35px !important;
  	--f-button-height: 35px !important;
  	--f-button-border-radius: 50% !important;
  	--f-button-color: var(--c-primary) !important;
  	--f-button-hover-color: var(--c-primary) !important;
  	--f-button-svg-width: 12px !important;
  	--f-button-svg-height: 12px !important;
  	--f-button-border: solid 1px #EEEEEE !important;
  	--f-button-bg: transparent !important;
  	--f-button-hover-bg: transparent !important;
  	--f-button-active-bg: transparent !important;
  	top: 20px !important;
  	right: 20px !important;
  	opacity: 1;
  }*/
}

.callback-modal.fancybox__content {
  clip-path: inset(0 0 0 0%);
}
.callback-modal.fancybox__content.open {
  clip-path: inset(0 0 0 0%);
}
.callback-modal .modal__holder {
  height: auto;
  border-radius: 0.75rem;
}

.failed-modal,
.success-modal {
  text-align: center;
}
.failed-modal__icon,
.success-modal__icon {
  display: inline-block;
  max-width: 100px;
  margin: 0 auto 20px;
}
.failed-modal .modal__title,
.success-modal .modal__title {
  margin-bottom: 20px;
}
.failed-modal .modal__holder,
.success-modal .modal__holder {
  max-width: 500px;
}

.fancybox__container:not(.is-compact) .fancybox__slide.has-close-btn {
  padding-top: 0px;
}

.jb-chat__overlay {
  position: fixed;
  inset: 0;
  z-index: 998;
  background: rgba(0, 0, 0, 0.25);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.jb-chat__overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.jb-chat__launcher {
  position: fixed;
  right: 5.9375rem;
  bottom: 0;
  z-index: 999;
  display: flex;
  align-items: center;
}
@media (max-width: 767.9px) {
  .jb-chat__launcher {
    right: 1rem;
    bottom: 5.25rem;
  }
}
.jb-chat--left .jb-chat__launcher {
  right: auto;
  left: 5.9375rem;
}
@media (max-width: 767.9px) {
  .jb-chat--left .jb-chat__launcher {
    left: 1rem;
    right: auto;
  }
}
.jb-chat__button {
  position: relative;
  display: inline-flex;
  align-items: center;
  appearance: none;
  border: none;
  margin: 0;
  cursor: pointer;
  background-color: var(--c-primary);
  color: var(--c-black);
  text-transform: uppercase;
  font-family: var(--ff-1);
  font-weight: 500;
  font-size: 1rem;
  white-space: nowrap;
  border-radius: 0.375rem 0.375rem 0 0;
  padding: 0.625rem 5rem 0.625rem 1.5rem;
  box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.25);
  transition: box-shadow 0.2s ease;
}
.jb-chat__button:hover {
  box-shadow: 0 0.375rem 1.25rem rgba(0, 0, 0, 0.32);
}
@media (max-width: 767.9px) {
  .jb-chat__button {
    width: 3.5rem;
    height: 3.5rem;
    padding: 0;
    justify-content: center;
    border-radius: 50%;
    box-shadow: 0 0.25rem 0.875rem rgba(0, 0, 0, 0.3);
  }
}
.jb-chat__button-text {
  display: inline-block;
}
@media (max-width: 767.9px) {
  .jb-chat__button-text {
    display: none;
  }
}
.jb-chat__mobile-visual {
  display: none;
}
@media (max-width: 767.9px) {
  .jb-chat__mobile-visual {
    position: relative;
    display: block;
    width: 1.625rem;
    height: 1.625rem;
    color: var(--c-black);
  }
}
.jb-chat__mobile-frame {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.jb-chat__mobile-frame.is-active {
  opacity: 1;
}
.jb-chat__mobile-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
.jb-chat__mobile-frame svg {
  width: 100%;
  height: 100%;
}
.jb-chat__avatar {
  position: absolute;
  top: 50%;
  right: 0.5rem;
  transform: translateY(-50%);
  width: 3.8125rem;
  height: 3.8125rem;
  padding: 0;
  margin: 0;
  border: 0.1875rem solid var(--c-primary);
  border-radius: 50%;
  background: var(--c-white);
  cursor: pointer;
  overflow: hidden;
  box-shadow: 0 0.125rem 0.625rem rgba(0, 0, 0, 0.3);
}
.jb-chat__avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
@media (max-width: 767.9px) {
  .jb-chat__avatar {
    display: none;
  }
}
.jb-chat__menu {
  position: fixed;
  right: 7.5rem;
  bottom: 3.25rem;
  z-index: 999;
  width: max-content;
  min-width: 12.5rem;
  max-width: min(20rem, 100vw - 2rem);
  background: #f7f7f7;
  border-radius: 0.375rem;
  box-shadow: 0 0.625rem 1.875rem rgba(0, 0, 0, 0.28);
  opacity: 0;
  visibility: hidden;
  transform: translateY(1.5rem) scale(0.92);
  transform-origin: bottom right;
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
  pointer-events: none;
}
.jb-chat__menu.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}
@media (max-width: 767.9px) {
  .jb-chat__menu {
    right: 1.25rem;
    bottom: 8.625rem;
    min-width: 10rem;
    max-width: calc(100vw - 2rem);
    transform-origin: bottom right;
  }
}
.jb-chat--left .jb-chat__menu {
  right: auto;
  left: 7.5rem;
}
@media (max-width: 767.9px) {
  .jb-chat--left .jb-chat__menu {
    left: 1.25rem;
    right: auto;
  }
}
.jb-chat__close {
  position: absolute;
  top: -2.125rem;
  right: 0;
  width: 1.75rem;
  height: 1.75rem;
  border: none;
  border-radius: 50%;
  background: var(--c-white);
  color: var(--c-black);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.25);
}
.jb-chat__close:hover {
  background: var(--c-bg-2);
}
.jb-chat__close svg {
  width: 0.75rem;
  height: 0.75rem;
}
@media (min-width: 768px) {
  .jb-chat[data-behavior=hover_click] .jb-chat__close {
    display: none;
  }
}
.jb-chat__list {
  list-style: none;
  margin: 0;
  padding: 0.5rem 0;
}
.jb-chat__item {
  margin: 0;
}
.jb-chat__link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 1.25rem;
  text-decoration: none;
  color: var(--c-black);
  text-transform: uppercase;
  font-family: var(--ff-1);
  font-weight: 500;
  font-size: 0.875rem;
  transition: background-color 0.15s ease;
}
.jb-chat__link:hover, .jb-chat__link:focus-visible {
  background: #ededed;
  color: var(--c-black);
}
.jb-chat__link-icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.125rem;
  height: 1.125rem;
  color: var(--c-black);
}
.jb-chat__link-icon svg {
  width: 100%;
  height: 100%;
}
.jb-chat__link-label {
  flex: 1 1 auto;
}
.jb-chat__tail {
  display: block;
  position: absolute;
  bottom: -0.375rem;
  right: 1rem;
  width: 0.875rem;
  height: 0.875rem;
  background: #f7f7f7;
  transform: rotate(45deg);
  box-shadow: 0.125rem 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
}
@media (max-width: 767.9px) {
  .jb-chat__tail {
    bottom: -0.4375rem;
    right: 1.75rem;
  }
}
.jb-chat--left .jb-chat__tail {
  right: auto;
  left: 1rem;
}
@media (max-width: 767.9px) {
  .jb-chat--left .jb-chat__tail {
    left: 1.75rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jb-chat__menu,
  .jb-chat__overlay,
  .jb-chat__mobile-frame {
    transition: none;
  }
}
.page404 {
  margin-top: 6rem;
  text-align: center;
}
@media (max-width: 767.9px) {
  .page404 {
    margin-top: 5rem;
  }
}
.page404__container {
  gap: 3rem;
  padding: 8.75rem;
  background-color: #1C1C1C;
  border-radius: 0.75rem;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767.9px) {
  .page404__container {
    gap: 1.5rem;
    padding: 3rem 1.5rem;
  }
}
.page404__title {
  font-size: 15.625rem;
  line-height: 0.7;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
@media (max-width: 767.9px) {
  .page404__title {
    font-size: 8.25rem;
    margin-bottom: 1.5rem;
    gap: 0.75rem;
  }
}
.page404__title svg {
  width: 11.875rem;
  height: 11.875rem;
}
@media (max-width: 767.9px) {
  .page404__title svg {
    width: 6.25rem;
    height: 6.25rem;
  }
}
.page404__text {
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--c-white);
}

/*modules*/
/*FANCYBOX*/
:root {
  --fancybox-content-bg: transparent;
  --fancybox-content-color: var(--c-text);
}

.fancybox__container {
  --fancybox-bg: var(--c-black-10);
}

.fancybox__content {
  padding: 0;
}

.f-thumbs__slide__img {
  object-position: top;
}

.modal.fancybox__content > .f-button.is-close-btn {
  --f-button-svg-width: 2rem !important;
  --f-button-svg-height: 2rem !important;
  --f-button-width: 2rem !important;
  --f-button-height: 2rem !important;
  --f-button-color: var(--c-text) !important;
  --f-button-hover-color: var(--c-bg-2) !important;
  --f-button-bg: transparent !important;
  --f-button-hover-bg: transparent !important;
  --f-button-active-bg: transparent !important;
  opacity: 1 !important;
  top: 1.9375rem !important;
  right: 3rem !important;
}
@media (max-width: 767.9px) {
  .modal.fancybox__content > .f-button.is-close-btn {
    --f-button-svg-width: 20px !important;
    --f-button-svg-height: 20px !important;
    --f-button-width: 20px !important;
    --f-button-height: 20px !important;
    top: 1.125rem !important;
    right: 1.3125rem !important;
  }
}

.has-html5video .fancybox__content > .f-button.is-close-btn {
  --f-button-svg-width: 32px !important;
  --f-button-svg-height: 32px !important;
  --f-button-width: 32px !important;
  --f-button-height: 32px !important;
  --f-button-color: var(--c-white) !important;
  --f-button-hover-color: var(--c-white-60) !important;
}

.fancybox__slide {
  overflow: hidden;
  padding: 0;
}

html.with-fancybox.-blur-page body > *:not(.fancybox__container) {
  filter: blur(20px);
  transition: filter 0.15s ease;
}

html.with-fancybox body {
  overflow: hidden;
}
@media (min-width: 768px) {
  html.with-fancybox body.hide-scrollbar {
    margin-right: var(--fancybox-body-margin, 0px);
  }
}
html.with-fancybox {
  /*@media screen and (min-width: 1441px) {
  	--fancybox-body-margin: -12px;
  }*/
}

.is-compact .fancybox__content > .f-button.is-close-btn {
  --f-button-bg: transparent;
  --f-button-hover-bg: transparent;
  --f-button-active-bg: transparent;
  top: -40px;
}

/*SWIPER*/
:root {
  --swiper-pagination-bullet-horizontal-gap: 6px;
  --swiper-pagination-bullet-inactive-color: var(--c-white);
  --swiper-theme-color: var(--c-primary);
  --swiper-pagination-bottom: 0;
  --swiper-pagination-top: 0;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-size: 10px;
  --swiper-preloader-color: var(--c-white);
}
@media screen and (max-width: 767px) {
  :root {
    --swiper-pagination-bullet-horizontal-gap: 6px;
    --swiper-pagination-bullet-size: 8px;
  }
}

body .swiper-horizontal > .swiper-pagination-bullets,
body .swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: 0;
  left: 0;
}

/*.swiper-pagination-bullet {
	transition: .4s;
	transform: scale(1);

	&.swiper-pagination-bullet-active {
		transform: scale(1.5);
	}
}*/
.swiper-slide img.swiper-lazy[src=""], .swiper-slide img.swiper-lazy:not([src]) {
  opacity: 0;
}

/*sections*/
.hero {
  display: flex;
  flex-direction: column;
  height: 100svh;
  position: relative;
  padding-bottom: 2.5rem;
  margin-bottom: 36rem;
}
@media (max-width: 767.9px) {
  .hero {
    padding-bottom: 1.25rem;
  }
}
@media only screen and (orientation: portrait) {
  .hero {
    margin-bottom: 3.75rem;
    height: unset;
    min-height: 100svh;
  }
}
.hero__container {
  height: 100%;
  position: relative;
  gap: 1.5rem;
  justify-content: space-between;
}
@media (min-width: 1600px) {
  .hero__container {
    position: static;
  }
}
.hero__wrapper {
  margin-top: 5.625rem;
  width: 85%;
  overflow: hidden;
}
@media (max-width: 767.9px) {
  .hero__wrapper {
    width: 100%;
  }
}
.hero__wrapper .jb-crumbs {
  margin-bottom: 1rem;
}
.hero__title {
  font-size: 4.5rem;
  line-height: normal;
  opacity: 0.01;
}
@media (max-width: 767.9px) {
  .hero__title {
    font-size: 2.5rem;
  }
}
@media (max-width: 575.9px) {
  .hero__title {
    font-size: 2rem;
  }
}
.hero__title span {
  display: block;
  margin-bottom: 0.5rem;
  font-size: max(12px, 1.5rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: normal;
  color: var(--c-white-60);
}
@media (max-width: 767.9px) {
  .hero__title span {
    font-size: 1.25rem;
  }
}
@media (max-width: 575.9px) {
  .hero__title span {
    font-size: 1.125rem;
  }
}
.hero__contents {
  display: flex;
  flex-direction: column;
  gap: 2.5rem 0;
  margin: auto 0 0 auto;
  max-width: 47rem;
  z-index: 10;
  transform: translateY(0);
}
@media (max-width: 767.9px) {
  .hero__contents {
    gap: 2rem 0;
  }
}
@media only screen and (orientation: portrait) {
  .hero__contents {
    margin-top: 0;
  }
}
.hero__desc {
  font-weight: 500;
  font-size: max(12px, 1.5rem);
  line-height: 1.2;
  font-family: var(--ff-2);
}
@media (max-width: 767.9px) {
  .hero__desc {
    align-items: flex-start;
    font-size: 1.25rem;
  }
}
.hero__footer {
  display: flex;
  justify-content: space-between;
  gap: 0 0.625rem;
  margin-top: 1.75rem;
  padding-top: 1rem;
  border-top: 1px solid var(--c-white-40);
}
@media (max-width: 767.9px) {
  .hero__footer {
    margin-top: 3rem;
  }
}
.hero__copyright {
  line-height: 1.4;
  font-size: max(12px, 0.75rem);
}
.hero__video {
  position: absolute;
  left: 50%;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 2.25rem;
  transform: translateX(-50%) translateY(0) scale(0.3, 0.3);
}
@media (min-width: 1600px) {
  .hero__video {
    max-width: 1520px;
    max-width: calc(100vw - 80px);
    width: auto;
    height: 100%;
    aspect-ratio: 16/9;
  }
}
@media only screen and (orientation: portrait) {
  .hero__video {
    position: unset;
    height: auto;
    top: 36vh;
    transform: scale(1) translateY(0);
  }
}

.services {
  display: flex;
  flex-direction: column;
}
.services__container {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.services__header {
  display: flex;
  gap: 1rem;
}
.services__header .jb-btn {
  margin-left: auto;
}
@media (max-width: 767.9px) {
  .services__header .jb-btn {
    display: none;
  }
}
.services__grid {
  display: flex;
  flex-wrap: wrap;
  align-content: start;
  gap: 1rem;
}
@media (max-width: 767.9px) {
  .services__grid {
    flex-direction: column;
  }
}
.services__block {
  display: flex;
  flex-direction: column;
  background-color: #1C1C1C;
  border-radius: 0.75rem;
  padding: 2.5rem;
  align-items: start;
  justify-content: start;
  width: calc(25% - 0.75rem);
}
.services__block--icon {
  display: grid;
  grid-auto-rows: min-content;
}
.services__block--light {
  background-color: #F1F1F1;
}
.services__block--light * {
  color: #000000;
}
@media (max-width: 1023.9px) {
  .services__block {
    width: calc(33.33% - 0.6875rem);
  }
  .services__block:nth-child(n+7) {
    display: none;
  }
}
.col2 .services__block {
  width: calc(50% - 0.5rem);
}
.col3 .services__block {
  width: calc(33.33% - 0.6875rem);
}
.col4 .services__block {
  width: calc(25% - 0.75rem);
}
.col32 .services__block {
  width: calc(33.33% - 0.6875rem);
}
.col32 .services__block:nth-child(n+4) {
  width: calc(50% - 0.5rem);
}
.page-id-447 .services__block {
  width: calc(25% - 0.75rem);
}
@media (max-width: 767.9px) {
  .services__block {
    padding: 1.5rem;
    gap: 0 1rem;
    width: 100% !important;
  }
  .services__block:nth-child(n+5) {
    display: none;
  }
  .services__block--vertical {
    display: flex;
  }
  .services__block--vertical .services__icon {
    margin-bottom: 1.5rem;
  }
}
.services__grid--accent .services__block:last-child {
  background-color: #DAF560;
  color: #000000;
  width: 100%;
}
.services__grid--accent .services__block:last-child .services__desc {
  color: #000000;
}
.services__block:hover .services__price {
  color: #ffffff;
}
.services__icon {
  border-radius: 0.75rem;
  padding: 1.25rem;
  background-color: #2F2F2F;
  width: fit-content;
  transition: background-color 0.3s ease;
  display: flex;
  height: fit-content;
  margin-bottom: 2.5rem;
}
.services__icon svg {
  width: 2rem;
  height: 2rem;
}
@media (max-width: 767.9px) {
  .services__icon svg {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.services__icon svg path {
  transition: stroke 0.3s ease;
}
@media (max-width: 767.9px) {
  .services__icon {
    padding: 1rem;
    grid-column: 1/2;
    grid-row: 1/3;
    border-radius: 0.5rem;
    margin-bottom: 0;
  }
}
.services:not(.services--targets, .services--interfere, .services--tech, .services--steps, .services--formats) .services__block:hover .services__icon {
  background-color: #DAF560;
}
.services:not(.services--targets, .services--interfere, .services--tech, .services--steps, .services--formats) .services__block:hover .services__icon svg path {
  stroke: #000000;
}
a.services__block:hover .services__icon {
  background-color: #DAF560;
}
a.services__block:hover .services__icon path {
  stroke: #000000;
}
.services__name {
  font-weight: 500;
  line-height: 1.2;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  width: fit-content;
}
@media (max-width: 767.9px) {
  .services__name {
    font-size: 1.25rem;
    grid-column: 2/3;
    grid-row: 1/2;
  }
  .services--other .services__name {
    font-size: 1.5rem;
  }
}
.page-id-447 div.services__block .services__name {
  padding-bottom: 0.375rem;
  width: fit-content;
}
.services__name a {
  font: inherit;
  color: inherit;
  transition: color 0.3s ease;
}
.services__name a:hover {
  color: var(--c-primary);
}
.services .services__block--light .services__name a:hover {
  color: inherit;
  text-decoration: underline;
}

.services__name:after {
  content: "";
  width: 100%;
  height: 0.125rem;
  background: url(images/hr.png) center/100% 0.125rem no-repeat;
}
.page-template-tmp__design-support .services__name:after, .page-template-tmp__service2 .services__name:after {
  display: none;
}
.services__desc {
  margin-top: 0.9375rem;
  color: var(--c-white-60);
}
@media (max-width: 767.9px) {
  .services__desc {
    grid-column: 2/3;
    grid-row: 2/3;
  }
}
.services__desc ul {
  margin-bottom: 0;
}
.services__desc p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.services__desc p:not(:last-child) {
  margin-bottom: 0.75rem;
}
.services__desc a {
  color: var(--c-primary);
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.services__desc a:hover {
  color: var(--c-white);
}
.services__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 9.25rem;
  width: 100%;
}
@media (max-width: 767.9px) {
  .services__bottom {
    margin-top: 1.625rem;
  }
}
.services__bottom .jb-btn {
  color: var(--c-primary);
  padding: 0.75rem;
  font-size: max(12px, 0.75rem);
}
.services__price {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.2;
  width: fit-content;
  color: #ffffff;
}
@media (max-width: 767.9px) {
  .services__price {
    font-size: 1.5rem;
  }
}
.services__top-price {
  display: flex;
  align-items: center;
  background-color: #2F2F2F;
  padding: 1rem;
  border-radius: 0.75rem;
  height: 4.5rem;
  font-size: 1.5rem;
}
@media (max-width: 767.9px) {
  .services__top-price {
    height: 3.5rem;
    font-size: 1.25rem;
  }
}
.services__btn {
  margin-top: 1rem;
}
@media (min-width: 1024px) {
  .services__btn {
    display: none;
  }
}
.services__top {
  display: flex;
  gap: 0.5rem;
}
.services--targets .services__header {
  align-items: baseline;
}
@media (max-width: 767.9px) {
  .services--targets .services__header {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 0.25rem;
  }
}
.services--targets .services__header .jb-title {
  font-size: 3rem;
  line-height: 1.2;
}
@media (max-width: 1023.9px) {
  .services--targets .services__header .jb-title {
    font-size: 1.75rem;
  }
}
.services--targets .services__header .jb-subtitle {
  margin-bottom: 0;
}
.services--targets .services__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
@media (max-width: 1023.9px) {
  .services--targets .services__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767.9px) {
  .services--targets .services__grid {
    grid-template-columns: 1fr;
  }
}
.services--targets .services__block {
  width: auto !important;
  background-color: #1C1C1C;
  gap: 2.5rem;
  padding: 2.5rem;
  align-items: flex-start;
}
@media (max-width: 1023.9px) {
  .services--targets .services__block {
    gap: 1.5rem;
    padding: 1.5rem !important;
  }
  .services--targets .services__block:nth-child(n+5) {
    display: none;
  }
}
@media (max-width: 767.9px) {
  .services--targets .services__block {
    gap: 1rem;
    padding: 1.25rem !important;
    grid-template-columns: auto 1fr;
  }
}
.services--targets .services__icon {
  width: 4.5rem;
  height: 4.5rem;
  padding: 1rem;
  background-color: #2F2F2F;
  border-radius: 0.5rem;
  margin-bottom: 0;
  align-items: center;
  justify-content: center;
}
.services--targets .services__icon svg {
  width: 2rem;
  height: 2rem;
  color: var(--c-primary);
  display: block;
}
@media (max-width: 767.9px) {
  .services--targets .services__icon {
    width: 3rem;
    height: 3rem;
    padding: 0.625rem;
    grid-row: 1/2;
  }
  .services--targets .services__icon svg {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.services--targets .services__block:hover .services__icon {
  background-color: #2F2F2F;
}
.services--targets .services__block:hover .services__icon svg path {
  stroke: none;
}
.services--targets .services__name {
  font-family: var(--ff-2);
  font-size: 1.5rem;
  line-height: 1.2;
  font-weight: 500;
  color: var(--c-white);
  gap: 0;
}
.services--targets .services__name:after {
  display: none;
}
@media (max-width: 767.9px) {
  .services--targets .services__name {
    align-self: center;
    font-size: 1.25rem;
  }
}
.services--targets .services__desc {
  margin-top: 0;
  color: var(--c-white-60);
  font-size: max(12px, 1rem);
  line-height: 1.4;
}
@media (max-width: 767.9px) {
  .services--targets .services__desc {
    grid-column: 1/3;
  }
}
.services--steps .services__header {
  align-items: baseline;
}
@media (max-width: 767.9px) {
  .services--steps .services__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
}
.services--steps .services__header .jb-title {
  font-size: 3rem;
  line-height: 1.2;
}
@media (max-width: 1023.9px) {
  .services--steps .services__header .jb-title {
    font-size: 1.75rem;
  }
}
.services--steps .services__header .jb-subtitle {
  margin-bottom: 0;
}
@media (max-width: 767.9px) {
  .services--steps .services__header .jb-subtitle {
    order: -1;
  }
}
.services--steps .services__header .jb-btn {
  background-color: #2F2F2F;
  border-color: #2F2F2F;
  color: var(--c-bg-2);
}
.services--steps .services__header .jb-btn:after {
  content: "";
  width: 1.125rem;
  height: 0.875rem;
  background: currentColor;
  -webkit-mask: url(images/rkn-152fz/arrow-cta.svg) center/contain no-repeat;
  mask: url(images/rkn-152fz/arrow-cta.svg) center/contain no-repeat;
}
@media (max-width: 767.9px) {
  .services--steps .services__header .jb-btn {
    display: flex;
    width: 100%;
    background-color: var(--c-primary);
    border-color: var(--c-primary);
    color: var(--c-black);
  }
}
.services--steps .services__block {
  background-color: #1C1C1C;
  gap: 0;
  padding: 2.5rem;
  align-items: flex-start;
}
@media (max-width: 1023.9px) {
  .services--steps .services__block {
    gap: 0;
    padding: 1.5rem !important;
  }
  .services--steps .services__block:nth-child(n+5) {
    display: none;
  }
}
@media (max-width: 767.9px) {
  .services--steps .services__block {
    gap: 1rem;
    padding: 1.25rem !important;
    grid-template-columns: auto 1fr;
  }
}
.services--steps .services__icon {
  width: 4.5rem;
  height: 4.5rem;
  padding: 1rem;
  background-color: #2F2F2F;
  border-radius: 0.5rem;
  margin-bottom: 2.5rem;
}
@media (max-width: 1023.9px) {
  .services--steps .services__icon {
    margin-bottom: 1.5rem;
  }
}
.services--steps .services__icon {
  align-items: center;
  justify-content: center;
}
.services--steps .services__icon svg {
  width: 2rem;
  height: 2rem;
  color: var(--c-primary);
  display: block;
}
@media (max-width: 767.9px) {
  .services--steps .services__icon {
    width: 3rem;
    height: 3rem;
    padding: 0.625rem;
    grid-row: 1/2;
    margin-bottom: 0;
  }
  .services--steps .services__icon svg {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.services--steps .services__block:hover .services__icon {
  background-color: #2F2F2F;
}
.services--steps .services__name {
  font-family: var(--ff-2);
  font-size: 1.5rem;
  line-height: 1.2;
  font-weight: 500;
  color: var(--c-white);
  gap: 0;
  margin: 0 0 1rem;
}
.services--steps .services__name:after {
  display: none;
}
@media (max-width: 767.9px) {
  .services--steps .services__name {
    align-self: center;
    margin: 0;
    font-size: 1.25rem;
  }
}
.services--steps .services__desc {
  margin-top: 0;
  color: var(--c-white-60);
  font-size: max(12px, 1rem);
  line-height: 1.4;
}
@media (max-width: 767.9px) {
  .services--steps .services__desc {
    grid-column: 1/3;
  }
}
.services--steps .services__note {
  background-color: #1C1C1C;
  border-radius: 0.75rem;
  padding: 1.25rem 2.5rem;
  color: var(--c-primary);
  font-size: max(12px, 1rem);
  line-height: 1.4;
  text-align: center;
  margin: 0;
  width: 100%;
}
@media (max-width: 1023.9px) {
  .services--steps .services__note {
    padding: 1rem 1.25rem;
    text-align: left;
  }
}
.services--steps .services__note p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.services--steps .services__note p:not(:last-child) {
  margin-bottom: 0.75rem;
}
.services--steps .services__note a {
  color: var(--c-white);
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.services--steps .services__note a:hover {
  color: var(--c-primary);
}
.services--interfere .services__header {
  align-items: baseline;
}
@media (max-width: 767.9px) {
  .services--interfere .services__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
}
.services--interfere .services__header .jb-title {
  font-size: 3rem;
  line-height: 1.2;
}
@media (max-width: 1023.9px) {
  .services--interfere .services__header .jb-title {
    font-size: 1.75rem;
  }
}
.services--interfere .services__header .jb-subtitle {
  margin-bottom: 0;
}
@media (max-width: 767.9px) {
  .services--interfere .services__header .jb-subtitle {
    order: -1;
  }
}
.services--interfere .services__header .jb-btn {
  background-color: #2F2F2F;
  border-color: #2F2F2F;
  color: var(--c-bg-2);
}
.services--interfere .services__header .jb-btn:after {
  content: "";
  width: 1.125rem;
  height: 0.875rem;
  background: currentColor;
  -webkit-mask: url(images/rkn-152fz/arrow-cta.svg) center/contain no-repeat;
  mask: url(images/rkn-152fz/arrow-cta.svg) center/contain no-repeat;
}
@media (max-width: 767.9px) {
  .services--interfere .services__header .jb-btn {
    display: flex;
    width: 100%;
    background-color: var(--c-primary);
    border-color: var(--c-primary);
    color: var(--c-black);
  }
}
.services--interfere .services__block {
  background-color: #1C1C1C;
  gap: 0;
  padding: 2.5rem;
  align-items: flex-start;
}
@media (max-width: 1023.9px) {
  .services--interfere .services__block {
    gap: 0;
    padding: 1.5rem !important;
  }
  .services--interfere .services__block:nth-child(n+5) {
    display: none;
  }
}
@media (max-width: 767.9px) {
  .services--interfere .services__block {
    gap: 1rem;
    padding: 1.25rem !important;
    grid-template-columns: auto 1fr;
  }
}
.services--interfere .services__icon {
  width: 4.5rem;
  height: 4.5rem;
  padding: 1rem;
  background-color: #2F2F2F;
  border-radius: 0.5rem;
  margin-bottom: 2.5rem;
}
@media (max-width: 767.9px) {
  .services--interfere .services__icon {
    width: 3.75rem;
    height: 3.75rem;
    padding: 1.125rem;
    margin-bottom: 0;
    grid-row: 1/2;
  }
}
.services--interfere .services__icon {
  align-items: center;
  justify-content: center;
}
.services--interfere .services__icon svg {
  width: 2rem;
  height: 2rem;
  color: var(--c-primary);
  display: block;
}
@media (max-width: 767.9px) {
  .services--interfere .services__icon svg {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.services--interfere .services__block:hover .services__icon {
  background-color: #2F2F2F;
}
.services--interfere .services__name {
  font-family: var(--ff-2);
  font-size: 1.5rem;
  line-height: 1.2;
  font-weight: 500;
  color: var(--c-white);
  gap: 0;
  margin: 0 0 1rem;
}
.services--interfere .services__name:after {
  display: none;
}
@media (max-width: 767.9px) {
  .services--interfere .services__name {
    align-self: center;
    margin: 0;
    font-size: 1.25rem;
  }
}
.services--interfere .services__desc {
  margin-top: 0;
  color: var(--c-white-60);
  font-size: max(12px, 1rem);
  line-height: 1.4;
}
@media (max-width: 767.9px) {
  .services--interfere .services__desc {
    grid-column: 1/3;
  }
}
.services--interfere .services__note {
  background-color: #1C1C1C;
  border-radius: 0.75rem;
  padding: 1.25rem 2.5rem;
  color: var(--c-primary);
  font-size: max(12px, 1rem);
  line-height: 1.4;
  text-align: center;
  margin: 0;
  width: 100%;
}
@media (max-width: 1023.9px) {
  .services--interfere .services__note {
    padding: 1rem 1.25rem;
    text-align: left;
  }
}
.services--prescription .services__container {
  gap: 1.5rem;
}
.services--prescription .services__header {
  align-items: baseline;
}
@media (max-width: 767.9px) {
  .services--prescription .services__header {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 0.25rem;
  }
}
.services--prescription .services__header .jb-title {
  font-size: 3rem;
  line-height: 1.2;
}
@media (max-width: 1023.9px) {
  .services--prescription .services__header .jb-title {
    font-size: 1.75rem;
  }
}
.services--prescription .services__grid {
  gap: 1rem;
}
.services--prescription .services__block {
  background-color: var(--c-secondary);
  padding: 1.25rem 2.5rem;
  gap: 0.5rem;
  align-items: flex-start;
  color: var(--c-white);
}
@media (max-width: 1023.9px) {
  .services--prescription .services__block {
    padding: 1.25rem 1.5rem !important;
  }
  .services--prescription .services__block:nth-child(n+5) {
    display: none;
  }
}
.services--prescription .services__block:hover .services__icon {
  background-color: var(--c-secondary);
}
.services--prescription .services__block:hover .services__icon svg path {
  stroke: none;
}
.services--prescription .services__name {
  font-family: var(--ff-2);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--c-white);
  gap: 0;
}
.services--prescription .services__name:after {
  display: none;
}
@media (max-width: 767.9px) {
  .services--prescription .services__name {
    font-size: 1.25rem;
  }
}
.services--prescription .services__desc {
  margin-top: 0;
  color: var(--c-white);
  font-size: max(12px, 1rem);
  line-height: 1.4;
}
.services--prescription .services__contact {
  background-color: var(--c-bg-2);
  border-radius: 0.75rem;
  padding: 2.5rem;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
  width: 100%;
}
@media (max-width: 1023.9px) {
  .services--prescription .services__contact {
    flex-direction: column;
    align-items: stretch;
    padding: 1.5rem;
    gap: 1.25rem;
  }
}
.services--prescription .services__contact-info {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
@media (max-width: 1023.9px) {
  .services--prescription .services__contact-info {
    gap: 1rem;
  }
}
@media (max-width: 767.9px) {
  .services--prescription .services__contact-info {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
}
.services--prescription .services__contact-avatar {
  width: 4rem;
  height: auto;
  border-radius: 50%;
  object-fit: cover;
  aspect-ratio: 1/1;
  flex-shrink: 0;
}
.services--prescription .services__contact-text {
  margin: 0;
  font-family: var(--ff-2);
  font-size: max(12px, 1rem);
  font-weight: 500;
  line-height: 1.4;
  color: var(--c-black);
}
.services--prescription .services__contact-text a {
  color: var(--c-secondary);
  text-decoration: underline;
  font-weight: inherit;
  font-size: inherit;
}
.services--prescription .services__contact-text a:hover {
  text-decoration: none;
}
.services--prescription .services__contact-socials {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  gap: 1rem;
  align-items: stretch;
}
@media (max-width: 1023.9px) {
  .services--prescription .services__contact-socials {
    gap: 0.5rem;
  }
}
.services--prescription .services__contact-social {
  flex: 1 0 0;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  background-color: var(--c-white);
  border: 1px solid transparent;
  border-radius: 0.75rem;
  color: #2F2F2F;
  font-family: var(--ff-2);
  font-size: max(12px, 1rem);
  font-weight: 500;
  line-height: 1;
  transition: border-color 0.3s ease, background-color 0.3s ease, color 0.3s ease;
}
.services--prescription .services__contact-social:hover {
  border-color: var(--c-secondary);
  color: var(--c-secondary);
}
.services--prescription .services__contact-social--highlight {
  border-color: var(--c-secondary);
}
.services--prescription .services__contact-social svg {
  width: 2rem;
  height: 2rem;
  color: inherit;
  flex-shrink: 0;
  display: block;
}
@media (max-width: 767.9px) {
  .services--prescription .services__contact-social {
    padding: 1rem;
    gap: 0;
    justify-content: center;
  }
  .services--prescription .services__contact-social span {
    display: none;
  }
}
.services--alert .services__container {
  gap: 1.5rem;
}
.services--alert .services__header .jb-title {
  font-size: 3rem;
  line-height: 1.2;
  color: var(--c-secondary);
}
@media (max-width: 1023.9px) {
  .services--alert .services__header .jb-title {
    font-size: 1.75rem;
  }
}
.services--alert .services__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
@media (max-width: 1023.9px) {
  .services--alert .services__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
  }
}
@media (max-width: 767.9px) {
  .services--alert .services__grid {
    grid-template-columns: 1fr;
  }
}
.services--alert .services__block {
  width: auto !important;
  background-color: var(--c-secondary);
  gap: 1rem;
  padding: 2.5rem;
  align-items: flex-start;
}
@media (max-width: 1023.9px) {
  .services--alert .services__block {
    padding: 1.25rem !important;
  }
  .services--alert .services__block:nth-child(n+5) {
    display: none;
  }
}
.services--alert .services__price {
  font-family: var(--ff-2);
  font-size: 3rem;
  line-height: 1.2;
  font-weight: 500;
  color: var(--c-white);
}
@media (max-width: 1023.9px) {
  .services--alert .services__price {
    font-size: 1.75rem;
  }
}
.services--alert .services__desc {
  color: var(--c-white);
  font-size: max(12px, 1rem);
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0;
}

.services--formats .services__header {
  align-items: baseline;
}
@media (max-width: 767.9px) {
  .services--formats .services__header {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 0.25rem;
  }
}
.services--formats .services__header .jb-title {
  font-size: 3rem;
  line-height: 1.2;
}
@media (max-width: 1023.9px) {
  .services--formats .services__header .jb-title {
    font-size: 1.75rem;
  }
}
.services--formats .services__header .jb-subtitle {
  margin-bottom: 0;
}
.services--formats .services__grid {
  gap: 1rem;
}
.services--formats .services__block {
  background-color: #1C1C1C;
  padding: 2.5rem;
  gap: 1.5rem;
  align-items: flex-start;
}
@media (max-width: 767.9px) {
  .services--formats .services__block {
    padding: 1.5rem !important;
    gap: 1.25rem;
  }
}
.services--formats .services__name {
  font-family: var(--ff-2);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  gap: 0;
}
.services--formats .services__name:after {
  display: none;
}
@media (max-width: 767.9px) {
  .services--formats .services__name {
    font-size: 1.25rem;
  }
}
.services--formats .services__top {
  align-items: center;
  gap: 0.75rem;
}
.services--formats .services__icon {
  width: 4.5rem;
  height: 4.5rem;
  padding: 1rem;
  background-color: #2F2F2F;
  border-radius: 0.5rem;
  margin-bottom: 0;
  align-items: center;
  justify-content: center;
}
.services--formats .services__icon svg {
  width: 2rem;
  height: 2rem;
  color: var(--c-primary);
  display: block;
}
.services--formats .services__block:hover .services__icon {
  background-color: #2F2F2F;
}
.services--formats .services__desc {
  margin-top: 0;
  color: var(--c-white);
  font-size: max(12px, 1rem);
  line-height: 1.4;
}
.services--formats .services__desc--muted {
  color: var(--c-white-60);
}
.services--formats .services__top-price {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 4.5rem;
  padding: 1rem;
  border-radius: 0.5rem;
  background-color: #2F2F2F;
  font-family: var(--ff-2);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--c-white);
}
@media (max-width: 767.9px) {
  .services--formats .services__top-price {
    font-size: 1.25rem;
    padding: 1rem 2.75rem;
  }
}

.services--contact .services__contact {
  background-color: var(--c-bg-2);
  border-radius: 0.75rem;
  padding: 2.5rem;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
  width: 100%;
}
@media (max-width: 1023.9px) {
  .services--contact .services__contact {
    flex-direction: column;
    align-items: stretch;
    padding: 1.5rem;
    gap: 1.25rem;
  }
}
.services--contact .services__contact-info {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
@media (max-width: 1023.9px) {
  .services--contact .services__contact-info {
    gap: 1rem;
  }
}
@media (max-width: 767.9px) {
  .services--contact .services__contact-info {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
}
.services--contact .services__contact-avatar {
  width: 4rem;
  height: auto;
  border-radius: 50%;
  object-fit: cover;
  aspect-ratio: 1/1;
  flex-shrink: 0;
}
.services--contact .services__contact-text {
  margin: 0;
  font-family: var(--ff-2);
  font-size: max(12px, 1rem);
  font-weight: 500;
  line-height: 1.4;
  color: var(--c-black);
}
@media (min-width: 768px) {
  .services--contact .services__contact-text {
    max-width: 27.0625rem;
  }
}
@media (min-width: 768px) and (max-width: 1023.9px) {
  .services--contact .services__contact-text {
    max-width: none;
  }
}
.services--contact .services__contact-text a {
  color: var(--c-secondary);
  text-decoration: underline;
  font-weight: inherit;
  font-size: inherit;
}
.services--contact .services__contact-text a:hover {
  text-decoration: none;
}
.services--contact .services__contact-socials {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  gap: 1rem;
  align-items: stretch;
}
@media (max-width: 1023.9px) {
  .services--contact .services__contact-socials {
    gap: 0.5rem;
  }
}
.services--contact .services__contact-social {
  flex: 1 0 0;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  background-color: var(--c-white);
  border: 1px solid transparent;
  border-radius: 0.75rem;
  color: #2F2F2F;
  font-family: var(--ff-2);
  font-size: max(12px, 1rem);
  font-weight: 500;
  line-height: 1;
  transition: border-color 0.3s ease, background-color 0.3s ease, color 0.3s ease;
}
.services--contact .services__contact-social:hover {
  border-color: var(--c-secondary);
  color: var(--c-secondary);
}
.services--contact .services__contact-social--highlight {
  border-color: var(--c-secondary);
}
.services--contact .services__contact-social svg {
  width: 2rem;
  height: 2rem;
  color: inherit;
  flex-shrink: 0;
  display: block;
}
@media (max-width: 767.9px) {
  .services--contact .services__contact-social {
    padding: 1rem;
    gap: 0;
    justify-content: center;
  }
  .services--contact .services__contact-social span {
    display: none;
  }
}

@media (min-width: 768px) {
  .services--steps .services__title {
    max-width: 62.5rem;
  }
}
.services--steps .services__desc ul {
  margin: 0;
  padding-left: 1.25rem;
  list-style: disc;
  color: var(--c-white-60);
}
.services--steps .services__desc ul li {
  margin-bottom: 0;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .services--steps .services__desc ul li {
    font-size: max(12px, 0.9375rem);
  }
}
.services--steps .services__desc ul li:last-child {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .services--interfere .services__title {
    max-width: 62.5rem;
  }
}
.services--interfere .services__desc ul {
  margin: 0;
  padding-left: 1.25rem;
  list-style: disc;
  color: var(--c-white-60);
}
.services--interfere .services__desc ul li {
  margin-bottom: 0;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .services--interfere .services__desc ul li {
    font-size: max(12px, 0.9375rem);
  }
}
.services--interfere .services__desc ul li:last-child {
  margin-bottom: 0;
}

.services--other-uslugi .services__bottom {
  flex-grow: 1;
  align-items: flex-end;
  margin-top: 0.625rem;
}
@media (min-width: 768px) {
  .services--other-uslugi .services__bottom {
    margin-top: 2.5rem;
  }
}
.services--other-uslugi .services__bottom .jb-btn {
  font-size: 1rem;
}
@media (max-width: 1023.9px) {
  .services--other-uslugi .services__swiper {
    overflow: hidden;
  }
}
@media (max-width: 1023.9px) {
  .services--other-uslugi .services__grid {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0;
  }
}
@media (max-width: 1023.9px) {
  .services--other-uslugi .services__block {
    flex-shrink: 0;
  }
  .services--other-uslugi .services__block:nth-child(n) {
    display: flex !important;
  }
}
@media (min-width: 768px) and (max-width: 1023.9px) {
  .services--other-uslugi .services__block {
    width: calc((100% - 48px) / 3.25) !important;
  }
}
@media (max-width: 767.9px) {
  .services--other-uslugi .services__block {
    width: 85% !important;
  }
}
.services--other-uslugi .swiper-wrapper {
  height: auto !important;
  align-items: stretch !important;
}
@media (min-width: 1024px) {
  .services--other-uslugi .swiper-wrapper {
    transform: none !important;
    width: 100% !important;
  }
}
.services--other-uslugi .swiper-slide {
  height: auto !important;
  align-self: stretch !important;
}
@media (min-width: 1024px) {
  .services--other-uslugi .swiper-slide {
    margin: 0 !important;
  }
}

.services--tech .services__header {
  align-items: baseline;
}
@media (max-width: 767.9px) {
  .services--tech .services__header {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 0.25rem;
  }
}
.services--tech .services__header .jb-title {
  font-size: 3rem;
  line-height: 1.2;
}
@media (max-width: 1023.9px) {
  .services--tech .services__header .jb-title {
    font-size: 1.75rem;
  }
}
.services--tech .services__header .jb-subtitle {
  margin-bottom: 0;
}
.services--tech .services__lead {
  margin: 0;
  color: var(--c-white-60);
  font-size: max(12px, 1rem);
  line-height: 1.4;
}
@media (min-width: 768px) {
  .services--tech .services__lead {
    max-width: 35rem;
  }
}
.services--tech .services__lead p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.services--tech .services__lead p:not(:last-child) {
  margin-bottom: 0.75rem;
}
.services--tech .services__lead a {
  color: inherit;
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.services--tech .services__lead a:hover {
  color: var(--c-primary);
}
.services--tech .services__block {
  background-color: #1C1C1C;
  padding: 2.5rem;
  gap: 1.5rem;
  align-items: flex-start;
}
@media (max-width: 1023.9px) {
  .services--tech .services__block:nth-child(n+7) {
    display: flex;
  }
}
.services--tech .services__block {
  width: calc((100% - (var(--cols-d) - 1) * 1rem) / var(--cols-d));
}
@media (min-width: 768px) and (max-width: 1023.9px) {
  .services--tech .services__block {
    width: calc((100% - (var(--cols-t) - 1) * 1rem) / var(--cols-t));
  }
}
@media (max-width: 767.9px) {
  .services--tech .services__block {
    width: calc((100% - (var(--cols-m) - 1) * 1rem) / var(--cols-m)) !important;
  }
}
@media (max-width: 767.9px) {
  .services--tech .services__block {
    padding: 1.5rem !important;
    gap: 1rem;
  }
  .services--tech .services__block:nth-child(n+5) {
    display: flex;
  }
}
.services--tech .services__grid {
  --cols-d: 3;
  --cols-t: 2;
  --cols-m: 1;
}
@media (max-width: 767.9px) {
  .services--tech .services__grid {
    flex-direction: row;
  }
}
@media (min-width: 768px) and (max-width: 1023.9px) {
  .services--tech .services__grid--has-photo {
    --cols-t: 2 !important;
  }
}
@media (min-width: 768px) and (max-width: 1023.9px) {
  .services--tech .services__grid--has-photo.services__grid--odd .services__block:last-child:not(.services__block--photo) {
    width: 100%;
  }
}
.services--tech .services__top {
  align-items: center;
  gap: 0.75rem;
}
.services--tech .services__icon {
  width: 3.5rem;
  height: 3.5rem;
  padding: 0;
  margin: 0;
  background-color: transparent;
  border-radius: 0;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
}
.services--tech .services__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
@media (max-width: 767.9px) {
  .services--tech .services__icon {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.services--tech .services__block:hover .services__icon {
  background-color: transparent;
}
.services--tech-icons-accent .services__icon svg {
  color: var(--c-primary);
}
.services--tech-icons-accent .services__icon svg *[fill]:not([fill=none]) {
  fill: currentColor;
}
.services--tech-icons-accent .services__icon svg *[stroke]:not([stroke=none]) {
  stroke: currentColor;
}
.services--tech .services__name {
  font-family: var(--ff-2);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--c-white);
  margin: 0;
  gap: 0;
}
.services--tech .services__name:after {
  display: none;
}
.services--tech .services__name a {
  font: inherit;
  color: inherit;
  transition: color 0.3s ease;
}
.services--tech .services__name a:hover {
  color: var(--c-primary);
}
@media (max-width: 767.9px) {
  .services--tech .services__name {
    font-size: 1.25rem;
  }
}
.services--tech .services__block--accent .services__name a:hover,
.services--tech .services__block--light .services__name a:hover {
  color: inherit;
  text-decoration: underline;
}
.services--tech .services__desc {
  margin-top: 0;
  color: var(--c-white-60);
  font-size: max(12px, 1rem);
  line-height: 1.4;
}
.services--tech .services__tags {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.services--tech .services__tags-label {
  color: var(--c-white);
  font-size: max(12px, 1rem);
  line-height: 1.4;
}
.services--tech .services__tags-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.services--tech .services__chip {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  border-radius: 6.25rem;
  border: 1px solid var(--c-white-20);
  color: var(--c-white-60);
  font-size: max(12px, 0.875rem);
  line-height: 1.2;
}
@media (max-width: 767.9px) {
  .services--tech .services__chip {
    padding: 0.375rem 0.75rem;
  }
}
.services--tech .services__bottom {
  margin-top: auto;
}
.services--tech .services__bottom .project-hero__link {
  font-size: max(12px, 1rem);
  gap: 0.5rem;
}
.services--tech .services__bottom .project-hero__link:after {
  width: 0.875rem;
  height: 0.875rem;
  background: currentColor;
  -webkit-mask: url(images/arrow-corner.svg) center/contain no-repeat;
  mask: url(images/arrow-corner.svg) center/contain no-repeat;
  transition: transform 0.3s ease;
}
.services--tech .services__bottom .project-hero__link:hover:after {
  transform: rotate(45deg);
}
.services--tech .services__block--accent {
  background-color: #DAF560;
}
.services--tech .services__block--accent .services__name,
.services--tech .services__block--accent .services__desc,
.services--tech .services__block--accent .services__tags-label {
  color: #000000;
}
.services--tech .services__block--accent .services__chip {
  border-color: var(--c-black-20);
  color: var(--c-black-60);
}
.services--tech .services__block--accent .services__bottom .jb-btn {
  background-color: #2F2F2F;
  border-color: #2F2F2F;
  color: var(--c-bg-2);
  padding: 1.25rem 1.5rem;
  font-size: var(--fz-btn);
}
.services--tech .services__block--accent .services__bottom .jb-btn:not(:disabled):hover {
  background-color: #000000;
  border-color: #000000;
  color: var(--c-bg-2);
}
@media (max-width: 767.9px) {
  .services--tech .services__block--accent .services__bottom .jb-btn {
    width: 100%;
  }
}

.services--tech .services__block--photo {
  padding: 0;
  overflow: hidden;
  min-height: 20rem;
}
@media (min-width: 768px) and (max-width: 1023.9px) {
  .services--tech .services__block--photo {
    min-height: unset;
    aspect-ratio: 1/1;
  }
  .services--tech .services__block--photo img {
    object-position: top;
  }
  .services--tech .services__block--photo.services__block--wide {
    aspect-ratio: 2/1;
  }
  .services--tech .services__block--photo.services__block--wide img {
    object-position: center;
  }
}
@media (max-width: 767.9px) {
  .services--tech .services__block--photo {
    padding: 0 !important;
    min-height: unset;
    aspect-ratio: 1/1;
  }
  .services--tech .services__block--photo img {
    object-position: top;
  }
}
.services--tech .services__block--photo picture,
.services--tech .services__block--photo img {
  width: 100%;
  height: 100%;
  display: block;
}
.services--tech .services__block--photo img {
  object-fit: cover;
  border-radius: 0.75rem;
}
@media (max-width: 767.9px) {
  .services--tech .services__block--photo img {
    border-radius: 0.5rem;
  }
}
.services--tech .services__block--wide {
  width: calc((100% - (var(--cols-d) - 1) * 1rem) / var(--cols-d) * 2 + 1rem);
}
@media (min-width: 768px) and (max-width: 1023.9px) {
  .services--tech .services__block--wide {
    width: calc((100% - (var(--cols-t) - 1) * 1rem) / var(--cols-t) * 2 + 1rem);
  }
}
@media (max-width: 767.9px) {
  .services--tech .services__block--wide {
    width: 100% !important;
  }
}

.services--tech-light {
  background-color: var(--c-bg-2);
  padding: 7.5rem 0;
}
@media (max-width: 767.9px) {
  .services--tech-light {
    padding: 4rem 0;
  }
}
.services--tech-light .jb-title,
.services--tech-light .jb-subtitle {
  color: var(--c-black);
}
.services--tech-light .services__lead {
  color: var(--c-black);
  opacity: 0.6;
}

.services--tech-stacked .services__top {
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
}

.services--tech .services__btn {
  display: inline-flex;
  margin-top: 1rem;
  align-self: flex-start;
}
@media (max-width: 767.9px) {
  .services--tech .services__btn {
    width: 100%;
  }
}

.quote__container {
  background-color: var(--c-secondary);
  border-radius: 0.75rem;
  overflow: hidden;
  min-height: 28.75rem;
}
.quote__container--light {
  color: #000000;
  background-color: #F1F1F1;
}
.quote__wrapper {
  display: flex;
  align-items: center;
  margin: 0 2.5rem;
  position: relative;
}
.quote--service2 .quote__wrapper {
  align-items: unset;
}
@media (max-width: 767.9px) {
  .quote__wrapper {
    flex-direction: column;
    align-items: start;
    gap: 0.5rem 0;
    margin: 1.5rem 1.5rem 0;
  }
}
.quote__wrapper picture {
  align-self: end;
}
.quote__contents {
  display: flex;
  flex-direction: column;
  width: 59.3125rem;
  padding: 2rem 0;
}
@media (max-width: 767.9px) {
  .quote__contents {
    width: 100%;
    padding: 0;
  }
}
.quote--service2 .quote__contents {
  margin: 2.5rem 0;
}
@media (max-width: 767.9px) {
  .quote--service2 .quote__contents {
    margin: 0;
  }
}
@media (min-width: 768px) {
  .quote__wrapper--form .quote__contents {
    height: 23.75rem;
  }
}
.quote__title {
  width: 75%;
  font-weight: 500;
  font-size: 3rem;
  font-family: var(--ff-2);
  line-height: 1.2;
}
@media (max-width: 767.9px) {
  .quote__title {
    align-items: flex-start;
    width: 100%;
    font-size: 1.75rem;
  }
  .quote__title br {
    display: none;
  }
}
.quote__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
@media (max-width: 767.9px) {
  .quote__buttons {
    margin-top: 1.5rem;
  }
}
.quote__btn {
  margin-top: 3rem;
}
@media (max-width: 767.9px) {
  .quote__btn {
    margin-top: 2rem;
  }
}
@media (max-width: 767.9px) {
  .quote--service2 .quote__btn {
    width: 100%;
    margin-top: 0;
  }
}
.quote__bottom {
  display: flex;
  justify-content: space-between;
  margin-top: 2rem;
}
@media (max-width: 767.9px) {
  .quote__bottom {
    margin-top: 0;
    position: relative;
  }
}
.quote--service2 .quote__bottom {
  margin: auto 0 2.5rem;
}
@media (max-width: 767.9px) {
  .quote--service2 .quote__bottom {
    margin: 0;
  }
}
@media (min-width: 768px) {
  .quote__wrapper--form .quote__bottom {
    position: absolute;
    top: 0;
    right: -7.5rem;
    margin-top: 0;
  }
}
@media (min-width: 1200px) {
  .quote__wrapper--form .quote__bottom {
    right: -31.25rem;
  }
}
.quote__socials {
  display: flex;
  gap: 1rem;
  align-items: center;
}
@media (max-width: 767.9px) {
  .quote__socials {
    display: none;
  }
}
.quote__socials span {
  opacity: 0.6;
}
.quote__socials a {
  display: flex;
}
.quote__socials svg {
  width: 1.5rem;
  height: 1.5rem;
}
.quote__socials path {
  transition: fill 0.3s ease;
}
.quote__socials a:hover path {
  fill: #DAF560;
}
.quote__author {
  opacity: 0.6;
  margin-left: auto;
}
.quote__image {
  height: 28.75rem;
  width: 28.75rem;
  object-fit: cover;
  margin-left: auto;
}
@media (max-width: 767.9px) {
  .quote__image {
    margin-right: -5rem;
    width: 20.25rem;
    height: 20.25rem;
    max-width: unset;
  }
}
@media (min-width: 768px) {
  .quote__wrapper--form .quote__image {
    margin-right: 5.625rem;
  }
}
.quote__form form {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  flex-wrap: wrap;
}
@media (max-width: 767.9px) {
  .quote__form form {
    gap: 1rem;
  }
}
.quote__form input {
  max-width: 20.625rem;
}
@media (max-width: 767.9px) {
  .quote__form input:not([type=submit]) {
    width: 100%;
  }
}
@media (min-width: 768px) {
  .quote__wrapper--form .quote__form {
    margin-top: auto;
  }
}
.quote__socials2 {
  display: flex;
  gap: 0.75rem;
  position: absolute;
  left: 30.9375rem;
  bottom: max(28px, 2.25rem);
}
@media (max-width: 1023.9px) {
  .quote__socials2 {
    display: none;
  }
}
@media (max-width: 767.9px) {
  .quote__socials2 {
    display: flex;
    position: inherit;
    margin-top: 1rem;
  }
}
.quote__socials2:before {
  content: "";
  width: 1px;
  height: 3.5rem;
  background-color: var(--c-white-40);
  margin-right: 0.75rem;
}
@media (max-width: 767.9px) {
  .quote__socials2:before {
    display: none;
  }
}
.quote__icon2 {
  border-radius: 0.75rem;
  padding: 1rem;
  display: flex;
  background-color: #ffffff;
  transition: background-color 0.3s ease;
}
.quote__icon2 svg {
  width: 1.5rem;
  height: 1.5rem;
}
.quote__icon2 path {
  fill: var(--c-black-60);
  transition: fill 0.3s ease;
}
.quote__icon2:hover {
  background-color: #1C1C1C;
}
.quote__icon2:hover path {
  fill: #ffffff;
}
.quote__desc {
  margin-top: auto;
  max-width: 42.625rem;
}
@media (max-width: 767.9px) {
  .quote__desc {
    margin-top: 2rem;
  }
}

.quote--promo .quote__container {
  min-height: unset;
  overflow: hidden;
  border-radius: 0.75rem;
  padding: 2.5rem;
}
@media (max-width: 767.9px) {
  .quote--promo .quote__container {
    padding: 1.5rem 1.5rem 0;
  }
}
.quote--promo .quote__wrapper {
  align-items: flex-start;
  gap: 5rem;
  margin: 0;
}
@media (max-width: 767.9px) {
  .quote--promo .quote__wrapper {
    flex-direction: column;
    gap: 3rem;
  }
}
@media (max-width: 575.9px) {
  .quote--promo .quote__wrapper {
    gap: 1.5rem;
  }
}
.quote--promo .quote__contents {
  flex: 1 0 0;
  min-width: 0;
  width: auto;
  padding: 0;
  gap: 1.5rem;
}
@media (max-width: 767.9px) {
  .quote--promo .quote__contents {
    width: 100%;
  }
  .quote--promo .quote__contents:only-child {
    padding-bottom: 1.5rem;
  }
}
.quote--promo .quote__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.quote--promo .quote__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.75rem;
  border-radius: 0.375rem;
  background-color: #ffffff;
  color: #FB4F08;
  font-family: var(--ff-1);
  font-size: max(12px, 1rem);
  font-weight: 500;
  line-height: 1.4;
  text-transform: uppercase;
  white-space: nowrap;
}
@media (max-width: 767.9px) {
  .quote--promo .quote__badge {
    font-size: max(12px, 0.75rem);
  }
}
.quote--promo .quote__title {
  width: 100%;
  margin: 0;
  color: var(--c-white);
  font-family: var(--ff-2);
  font-weight: 500;
  font-size: 3rem;
  line-height: 1.1;
}
@media (max-width: 1023.9px) {
  .quote--promo .quote__title {
    font-size: 1.75rem;
  }
}
.quote--promo .quote__title p {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.quote--promo .quote__title p:not(:last-child) {
  margin-bottom: 0;
}
.quote--promo .quote__desc {
  margin: 0;
  max-width: 42.375rem;
  color: var(--c-white);
  font-size: max(12px, 1rem);
  line-height: 1.4;
}
.quote--promo .quote__desc p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.quote--promo .quote__promo-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-top: 5rem;
}
@media (max-width: 767.9px) {
  .quote--promo .quote__promo-form {
    margin-top: 0;
  }
}
@media (min-width: 768px) {
  .quote--promo .quote__btn {
    margin-top: 5rem;
  }
}
.quote--promo .quote__form-title {
  margin: 0;
  color: var(--c-white);
  font-family: var(--ff-2);
  font-weight: 500;
  font-size: max(12px, 1.5rem);
  line-height: 1.2;
}
@media (max-width: 767.9px) {
  .quote--promo .quote__form-title {
    font-size: 1.125rem;
  }
}
.quote--promo .quote__form {
  min-width: 0;
}
.quote--promo .quote__form .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.quote--promo .quote__form input[type=tel],
.quote--promo .quote__form input[type=text] {
  width: 20.625rem;
  height: 3.5rem;
  padding: 0 1.5rem;
  border: none;
  border-radius: 0.5rem;
  background-color: var(--c-white);
}
@media (max-width: 767.9px) {
  .quote--promo .quote__form input[type=tel],
  .quote--promo .quote__form input[type=text] {
    min-width: 0;
    width: 100%;
  }
}
.quote--promo .quote__form .wpcf7-submit {
  height: 3.5rem;
  padding: 0 1.5rem;
  border: none;
  border-radius: 0.5rem;
  background-color: var(--c-primary);
  color: var(--c-black);
  font-family: var(--ff-2);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  transition: opacity 0.3s ease, color 0.15s ease;
}
.quote--promo .quote__form .wpcf7-submit:hover {
  opacity: 0.85;
}
@media (max-width: 767.9px) {
  .quote--promo .quote__form .wpcf7-submit {
    width: 100%;
  }
}
.quote--promo .quote__aside {
  position: relative;
  flex-shrink: 0;
  width: 30.5625rem;
  align-self: stretch;
}
@media (max-width: 767.9px) {
  .quote--promo .quote__aside {
    width: 100%;
    min-height: 20rem;
  }
}
@media (max-width: 575.9px) {
  .quote--promo .quote__aside {
    min-height: 12rem;
  }
}
.quote--promo .quote__bottom {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.25rem;
  margin-top: 0;
  text-align: right;
}
@media (max-width: 767.9px) {
  .quote--promo .quote__bottom {
    right: unset;
    left: 0;
  }
}
.quote--promo .quote__author {
  opacity: 1;
  margin-left: 0;
  color: var(--c-white);
  font-family: var(--ff-1);
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.2;
}
.quote--promo .quote__position {
  color: var(--c-bg-2);
  font-size: 0.75rem;
  line-height: 1.4;
}
.quote--promo .quote__image {
  position: absolute;
  right: 3rem;
  bottom: -2.5rem;
  width: 27.6875rem;
  height: auto;
  margin-left: 0;
  object-fit: contain;
  pointer-events: none;
}
@media (min-width: 768px) {
  .quote--promo .quote__image {
    top: 1.5rem;
    bottom: auto;
    height: calc(100% + 1rem);
    object-position: right bottom;
  }
}
@media (max-width: 767.9px) {
  .quote--promo .quote__image {
    bottom: 0;
    width: auto;
    max-width: 22.5rem;
    display: block;
  }
}
@media (max-width: 575.9px) {
  .quote--promo .quote__image {
    max-width: 13rem;
  }
}

.quote--promo.quote--dark .quote__container {
  background-color: #1C1C1C;
}
.quote--promo.quote--dark .quote__badge {
  background-color: #FB4F08;
  color: #ffffff;
}

.quote--promo.quote--accent .quote__container {
  background-color: var(--c-primary);
}
.quote--promo.quote--accent .quote__contents {
  gap: 2.5rem;
}
.quote--promo.quote--accent .quote__header {
  align-items: baseline;
}
.quote--promo.quote--accent .quote__title {
  width: auto;
  min-width: 0;
}
.quote--promo.quote--accent .quote__badge {
  background-color: #000000;
  color: #ffffff;
}
.quote--promo.quote--accent .quote__title,
.quote--promo.quote--accent .quote__subtitle,
.quote--promo.quote--accent .quote__desc,
.quote--promo.quote--accent .quote__form-title,
.quote--promo.quote--accent .quote__author,
.quote--promo.quote--accent .quote__position {
  color: #000000;
}
.quote--promo.quote--accent .quote__desc {
  max-width: none;
  font-weight: 500;
}
.quote--promo.quote--accent .quote__desc a {
  color: #000000;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.quote--promo.quote--accent .quote__desc a:hover {
  color: var(--c-white);
}
.quote--promo.quote--accent .quote__btn {
  margin-top: 0;
}
@media (min-width: 768px) {
  .quote--promo.quote--accent .quote__btn {
    margin-top: 0;
  }
}
.quote--promo.quote--accent .quote__btn {
  background-color: #ffffff;
  border-color: #ffffff;
}
.quote--promo.quote--accent .quote__btn:hover {
  background-color: #000000;
  border-color: #000000;
  color: #ffffff;
}
.quote--promo.quote--accent .quote__btn:hover:after {
  background-image: url(images/arrow-light.svg);
}

.products__container {
  display: flex;
  flex-direction: column;
}
.products__text {
  color: var(--c-white-60);
  font-family: var(--ff-1);
  font-size: 1rem;
  line-height: 1.7;
}
.products__text > * + * {
  margin-top: 1.375rem;
}
.products__text h2,
.products__text h3,
.products__text h4 {
  color: var(--c-white);
  font-family: var(--ff-2);
  font-weight: 500;
  line-height: 1.25;
  scroll-margin-top: 6.25rem;
}
.products__text h2 {
  font-size: 2rem;
  margin-top: 3rem;
}
.products__text h3 {
  font-size: 1.5rem;
  margin-top: 2.25rem;
}
.products__text h4 {
  font-size: 1.25rem;
  margin-top: 1.75rem;
}
.products__text p {
  color: inherit;
  font-size: inherit;
  margin-bottom: 0;
}
.products__text strong,
.products__text b {
  color: var(--c-white);
  font-weight: 600;
}
.products__text a {
  color: var(--c-primary);
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.products__text a:hover {
  color: var(--c-white);
}
.products__text ul,
.products__text ol {
  margin: 1.5rem 0 0;
  padding-left: 1.5rem;
  color: inherit;
}
.products__text li {
  margin: 0 0 0.5rem;
  color: inherit;
}
.products__text li::marker {
  color: var(--c-primary);
}
.products__text li > ul,
.products__text li > ol {
  margin-top: 0.5rem;
}
.products__text blockquote,
.products__text .wp-block-quote {
  margin: 2rem auto;
  padding: 0 0 0 3rem;
  border-left: 0.1875rem solid var(--c-primary);
  border-radius: 0.875rem;
  color: var(--c-white);
  font-size: 1.25rem;
  font-style: normal;
}
@media (max-width: 767.9px) {
  .products__text blockquote,
  .products__text .wp-block-quote {
    padding-left: 1.5rem;
  }
}
.products__text blockquote p,
.products__text .wp-block-quote p {
  color: var(--c-white);
}
.products__text blockquote cite,
.products__text blockquote .wp-block-quote__citation,
.products__text .wp-block-quote cite,
.products__text .wp-block-quote .wp-block-quote__citation {
  display: block;
  margin-top: 0.625rem;
  color: var(--c-text);
  font-size: 0.9375rem;
  font-style: normal;
}
.products__text .wp-block-pullquote {
  margin: 2.5rem auto;
  padding: 3rem;
  border: 0.125rem dashed var(--c-primary);
  dashes: 6, 6;
  border-radius: 0.875rem;
  text-align: center;
}
.products__text .wp-block-pullquote blockquote {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
}
.products__text .wp-block-pullquote p {
  color: var(--c-white);
  font-size: 1.625rem;
}
@media (max-width: 767.9px) {
  .products__text .wp-block-pullquote {
    padding: 1.5rem;
  }
}
.products__text figure,
.products__text .wp-block-image {
  margin: 2rem auto;
}
.products__text img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 1rem;
}
.products__text figcaption,
.products__text .wp-block-image figcaption {
  margin-top: 0.625rem;
  color: var(--c-text);
  font-size: 0.875rem;
  text-align: center;
}
.products__text .alignleft {
  float: left;
  max-width: 50%;
  margin: 0.375rem 1.5rem 1rem 0;
}
.products__text .alignright {
  float: right;
  max-width: 50%;
  margin: 0.375rem 0 1rem 1.5rem;
}
.products__text .aligncenter {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.products__text .alignwide {
  width: min(100vw - 4rem, 65rem);
  max-width: none;
  margin-left: 50%;
  transform: translateX(-50%);
}
.products__text .alignfull {
  width: 100vw;
  max-width: none;
  margin-left: 50%;
  transform: translateX(-50%);
}
.products__text .wp-block-columns {
  gap: 1.5rem;
}
.products__text :where(.wp-block-column, .wp-block-group, .wp-block-group__inner-container) > * + * {
  margin-top: 1.375rem;
}
.products__text .wp-block-gallery {
  --wp--style--gallery-gap-default: 1.5rem;
}
.products__text .wp-block-table {
  max-width: 100%;
  overflow-x: auto;
  font-size: 1rem;
  border-radius: 0.5rem;
  border: none;
}
.products__text table,
.products__text .wp-block-table table {
  display: table;
  width: 100%;
  border-collapse: collapse;
  border-radius: 0.5rem;
}
.products__text thead {
  display: table-header-group;
  border-width: 1px;
}
.products__text tbody {
  display: table-row-group;
}
.products__text tr {
  display: table-row;
}
.products__text th,
.products__text td {
  display: table-cell;
  padding: 0.75rem 1rem;
  border: 1px solid var(--c-white-20);
  text-align: left;
  vertical-align: top;
}
.products__text th {
  color: var(--c-white);
  font-weight: 500;
}
.products__text .wp-block-table:not(.is-style-stripes) {
  background-color: var(--c-bg-3);
  padding: 3rem;
}
@media (max-width: 767.9px) {
  .products__text .wp-block-table:not(.is-style-stripes) {
    padding: 1.5rem;
  }
}
.products__text .wp-block-table:not(.is-style-stripes) th,
.products__text .wp-block-table:not(.is-style-stripes) td {
  padding: 0.875rem 0.875rem 0.875rem 0;
  border: none;
  border-bottom: 0.0625rem solid var(--c-white-40);
  color: var(--c-white);
}
.products__text .wp-block-table:not(.is-style-stripes) td {
  padding: 2.375rem 0.875rem 0.875rem 0;
}
.products__text .wp-block-table:not(.is-style-stripes) tr:last-child td {
  border-bottom: none;
}
.products__text .wp-block-table:not(.is-style-stripes) th {
  color: var(--c-white-60);
}
.products__text .wp-block-table figcaption {
  margin-top: 0.5rem;
  text-align: left;
}
.products__text .wp-block-table.is-style-stripes {
  border: 1px solid var(--c-white-20);
}
.products__text .wp-block-table.is-style-stripes th,
.products__text .wp-block-table.is-style-stripes td {
  border-color: transparent;
}
.products__text .wp-block-table.is-style-stripes thead th {
  border-bottom-color: var(--c-white-20);
}
.products__text .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: var(--c-white-10);
}
.products__text .jb-table-scroll {
  position: relative;
  margin: 2rem auto;
}
.products__text .jb-table-scroll .wp-block-table {
  margin: 0;
}
.products__text .jb-table-scroll::before, .products__text .jb-table-scroll::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 2;
  width: 3rem;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.products__text .jb-table-scroll::before {
  left: -1px;
  background: linear-gradient(to right, var(--c-black), transparent);
}
.products__text .jb-table-scroll::after {
  right: -1px;
  background: linear-gradient(to left, var(--c-black), transparent);
}
.products__text .jb-table-scroll.has-left::before {
  opacity: 1;
}
.products__text .jb-table-scroll.has-right::after {
  opacity: 1;
}
.products__text code {
  padding: 0.15em 0.4em;
  background: var(--c-white-10);
  border-radius: 0.25rem;
  font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 0.9em;
}
.products__text pre {
  margin: 1.75rem 0;
  padding: 1.25rem;
  overflow: auto;
  background: #111;
  border-radius: 0.75rem;
  color: #e6e6e6;
  font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 0.9375rem;
  line-height: 1.5;
}
.products__text pre code {
  padding: 0;
  background: none;
  font-size: inherit;
}
.products__text .wp-block-buttons {
  margin-top: 2rem;
}
.products__text .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem 1.5rem;
  border: 0.0625rem solid var(--c-primary);
  border-radius: 0.5rem;
  background-color: var(--c-primary);
  color: var(--c-black);
  font-family: var(--ff-2);
  font-size: var(--fz-btn);
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  transition: all 0.3s ease;
}
.products__text .wp-block-button__link:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.products__text .wp-block-button.is-style-outline .wp-block-button__link {
  border-color: var(--c-white-40);
  background-color: transparent;
  color: var(--c-primary);
}
.products__text .wp-block-button.is-style-outline .wp-block-button__link:hover {
  border-color: var(--c-primary);
  background-color: var(--c-primary);
  color: var(--c-black);
}
.products__text .wp-block-separator {
  margin: 2.5rem auto;
  border: 0;
  border-top: 0.0625rem solid var(--c-white-20);
}
.products__text .wp-block-embed {
  margin: 2rem 0;
}
.products__text .wp-block-details {
  padding: 1.5rem 0;
  border-bottom: 0.0625rem solid var(--c-white-40);
}
@media (max-width: 767.9px) {
  .products__text .wp-block-details {
    padding: 1rem 0;
  }
}
.products__text .wp-block-details:first-of-type {
  border-top: 0.0625rem solid var(--c-white-40);
}
.products__text .wp-block-details > summary {
  position: relative;
  margin: 0;
  padding-right: 2.375rem;
  list-style: none;
  color: var(--c-white);
  font-family: var(--ff-2);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  cursor: pointer;
  transition: color 0.3s ease;
}
@media (max-width: 767.9px) {
  .products__text .wp-block-details > summary {
    font-size: 1.25rem;
  }
}
.products__text .wp-block-details > summary::-webkit-details-marker {
  display: none;
}
.products__text .wp-block-details > summary::before, .products__text .wp-block-details > summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  background-color: var(--c-white);
  transition: transform 0.3s ease, opacity 0.3s ease, background-color 0.3s ease;
}
.products__text .wp-block-details > summary::before {
  width: 1.125rem;
  height: 0.1rem;
  transform: translateY(-50%);
}
.products__text .wp-block-details > summary::after {
  right: 0.5125rem;
  width: 0.1rem;
  height: 1.125rem;
  transform: translateY(-50%);
}
.products__text .wp-block-details > summary ~ * {
  margin-top: 1.5rem;
}
@media (max-width: 767.9px) {
  .products__text .wp-block-details > summary ~ * {
    margin-top: 0.75rem;
  }
}
.products__text .wp-block-details > summary ~ * ~ *,
.products__text .wp-block-details .jb-details__content > * + * {
  margin-top: 1rem;
}
.products__text .wp-block-details.is-open > summary {
  color: var(--c-primary);
}
.products__text .wp-block-details.is-open > summary::before {
  background-color: var(--c-primary);
}
.products__text .wp-block-details.is-open > summary::after {
  transform: translateY(-50%) scaleY(0);
  opacity: 0;
}
.products__text .has-drop-cap:first-letter {
  float: left;
  margin: 0.375rem 0.625rem 0 0;
  color: var(--c-primary);
  font-family: var(--ff-2);
  font-size: 4rem;
  line-height: 0.8;
}
.products__text {
  max-width: 47.5rem;
  margin-top: 1.5rem;
}
.products__text > *:first-child {
  margin-top: 0;
}
.products__text > *:last-child {
  margin-bottom: 0;
}
.products__grid {
  display: flex;
  flex-wrap: wrap;
  margin: 1.5rem 0 0;
  gap: 1rem;
}
.products__item {
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  border-radius: 0.75rem;
  background: #1C1C1C top center/cover no-repeat;
  width: calc(25% - 0.75rem);
}
@media (min-width: 768px) {
  .products__item {
    min-height: 23rem;
  }
}
@media (max-width: 1023.9px) {
  .products__item {
    width: calc(33% - 0.6875rem);
  }
}
@media (max-width: 767.9px) {
  .products__item {
    gap: 0.5rem;
    padding: 1.5rem;
    width: 100%;
  }
  .products .products__item:nth-last-child(2) {
    order: 1;
  }
  .solutions .products__item:nth-child(1) {
    order: 1;
  }
  .solutions .products__item:nth-child(2) {
    order: 5;
  }
  .solutions .products__item:nth-child(3) {
    order: 2;
  }
  .solutions .products__item:nth-child(4) {
    order: 4;
  }
  .solutions .products__item:nth-child(5) {
    order: 3;
  }
  .solutions .products__item:nth-child(6) {
    order: 6;
  }
}
.products__item--img {
  padding: 0;
}
@media (max-width: 767.9px) {
  .products__item--img {
    aspect-ratio: 1/1;
    max-height: 23rem;
  }
}
.products__item--img picture {
  width: 100%;
  height: 100%;
}
.products__item--img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.75rem;
}
@media (min-width: 768px) {
  .products__item--col2 {
    width: calc(50% - 0.625rem);
  }
}
@media (max-width: 1023.9px) {
  .products__item--col2 {
    width: calc(33% - 0.625rem);
  }
}
@media (max-width: 767.9px) {
  .products__item--col2 {
    width: 100%;
  }
}
.solutions .products__item {
  background-position: center center;
}
.products__item:hover .products__price {
  color: #ffffff;
}
.products__name {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.2;
}
@media (max-width: 767.9px) {
  .products__name {
    font-size: 1.25rem;
  }
}
.products__name a {
  font: inherit;
  color: inherit;
  transition: color 0.3s ease;
}
.products__name a:hover {
  color: var(--c-primary);
}
.solutions .products__name {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  width: fit-content;
}
.solutions .products__name:after {
  content: "";
  width: 100%;
  height: 0.125rem;
  background: url(images/hr.png) center/100% 0.125rem no-repeat;
}
.products__name-link {
  display: block;
  width: fit-content;
}
.products__desc {
  margin-top: 1rem;
  color: var(--c-white-60);
}
.solutions .products__desc {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.products__desc p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.products__desc p:not(:last-child) {
  margin-bottom: 0.75rem;
}
.products__desc a {
  color: var(--c-primary);
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.products__desc a:hover {
  color: var(--c-white);
}
.products__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  width: 100%;
}
@media (max-width: 767.9px) {
  .products__bottom {
    margin-top: 1.625rem;
  }
}
.products__bottom .jb-btn {
  color: var(--c-primary);
  padding: 0.75rem;
  font-size: 0.75rem;
}
.products__price {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.2;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  width: fit-content;
}
@media (max-width: 767.9px) {
  .products__price {
    font-size: 1.25rem;
  }
}
.products__price:after {
  content: "";
  width: 100%;
  height: 0.125rem;
  background: url(images/hr.png) center/100% 0.125rem no-repeat;
}
.products__image {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.products__btn {
  margin-top: auto;
}
.solutions .products__btn {
  margin-top: auto;
  color: var(--c-primary);
  padding: 0.75rem;
  font-size: 0.75rem;
}

.process__container {
  background-color: var(--c-bg-1);
  border-radius: 0.75rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 2.5rem;
}
@media (max-width: 767.9px) {
  .process__container {
    padding: 1.5rem 1.5rem;
  }
}
.process__header {
  display: flex;
  gap: 0 1rem;
}
.process__desc {
  margin-top: 1rem;
  max-width: 33.5rem;
  color: var(--c-text);
  font-size: var(--fz-p);
  margin-bottom: 0.875rem;
}
@media (max-width: 767.9px) {
  .process__desc {
    margin-top: 1rem;
  }
}
.process__desc p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.process__desc p:not(:last-child) {
  margin-bottom: 0.75rem;
}
.process__desc a {
  color: var(--c-primary);
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.process__desc a:hover {
  color: var(--c-white);
}
.process__swiper {
  display: flex;
  gap: 0 1rem;
  margin-top: 3rem;
  cursor: grab;
}
.process__swiper .swiper-wrapper {
  align-items: stretch;
  height: unset;
}
.process__slide {
  display: flex;
  flex-direction: column;
  width: 21.75rem;
  background-color: var(--c-primary);
  color: #000000;
  border-radius: 0.75rem;
  padding: 2rem;
  position: relative;
}
.process__slide--light {
  background-color: var(--c-bg-2);
}
.process__slide.process__slide--image {
  background-color: transparent;
  color: var(--c-white);
  padding: 0;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .process__slide {
    width: calc((100% - 48px) / 3.25);
  }
}
@media (max-width: 767.9px) {
  .process__slide {
    width: 17.5rem;
    padding: 1.5rem;
  }
}
.process__icon {
  padding: 0.75rem;
  border-radius: 0.75rem;
  background-color: #1C1C1C;
  width: fit-content;
  display: flex;
}
.process__icon svg {
  width: 2rem;
  height: 2rem;
}
.process__icon path {
  stroke: var(--c-primary);
}
.process__slide--light .process__icon path {
  stroke: var(--c-bg-2);
}
.process__stage {
  font-family: var(--ff-2);
  margin-top: 2.5rem;
  font-weight: 500;
  line-height: 1.2;
}
.process__media {
  aspect-ratio: 832/628;
  border-radius: 0.75rem;
  overflow: hidden;
}
.process__media picture,
.process__media img {
  display: block;
  width: 100%;
  height: 100%;
}
.process__media img {
  object-fit: cover;
}
.process__txt {
  margin-top: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.process__txt p {
  color: var(--c-black);
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.process__txt p:not(:last-child) {
  margin-bottom: 0.75rem;
}
.process__txt a {
  color: inherit;
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.process__txt a:hover {
  opacity: 0.7;
}
.process__txt-name {
  margin: 0;
  font-weight: 400;
  line-height: 1.4;
  font-size: 1.5rem;
}
@media (max-width: 767.9px) {
  .process__txt-name {
    font-size: 1.25rem;
  }
}
.process__txt-name a {
  font: inherit;
  color: inherit;
  text-decoration: none;
}
.process__txt-name a:hover {
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}
.process__txt--image {
  margin-top: 1rem;
}

.how {
  --how-card-w: 23rem;
  --how-gap: 10.5rem;
  --how-stagger: 7.5rem;
}
@media (max-width: 767.9px) {
  .how {
    --how-card-w: 17.5rem;
    --how-gap: 5rem;
    --how-stagger: 0;
  }
}
@media (max-width: 575.9px) {
  .how {
    --how-gap: 1.25rem;
  }
}
.how__container {
  background-color: var(--c-bg-1);
  border-radius: 0.75rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.how__header {
  display: flex;
  gap: 0 1rem;
  padding: 2.5rem 2.5rem 0;
}
@media (max-width: 767.9px) {
  .how__header {
    padding: 1.5rem 1.5rem 0;
  }
}
.how__header .jb-subtitle {
  flex-shrink: 0;
}
.how__header .jb-title {
  min-width: 0;
}
.how__desc {
  margin-top: 1rem;
  padding: 0 2.5rem;
  max-width: 33.5rem;
  color: var(--c-text);
  font-size: var(--fz-p);
}
@media (max-width: 767.9px) {
  .how__desc {
    padding: 0 1.5rem;
  }
}
.how__desc p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.how__desc p:not(:last-child) {
  margin-bottom: 0.75rem;
}
.how__desc a {
  color: var(--c-primary);
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.how__desc a:hover {
  color: var(--c-white);
}
.how__viewport {
  position: relative;
  margin-top: 3rem;
  padding-bottom: 2.5rem;
  overflow: hidden;
}
@media (max-width: 767.9px) {
  .how__viewport {
    padding-bottom: 1.5rem;
  }
}
.how__track {
  display: flex;
  align-items: flex-start;
  column-gap: var(--how-gap);
  width: max-content;
  cursor: grab;
}
.how__track:active {
  cursor: grabbing;
}
.how__step {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  width: var(--how-card-w);
}
.how__step:nth-child(even) {
  margin-top: var(--how-stagger);
}
.how__card {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  background-color: var(--c-bg-3);
  background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2));
  border-radius: 0.75rem;
  padding: 2.5rem;
  transform: translateZ(0);
}
@media (max-width: 767.9px) {
  .how__card {
    padding: 1.5rem;
  }
}
.how__step:not(.is-active) .how__card::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.875rem;
  height: 1.875rem;
  margin: -0.9375rem 0 0 -0.9375rem;
  border: 1px solid var(--c-white-40);
  border-radius: 50%;
  pointer-events: none;
  opacity: 0;
  animation: how-pulse 2.5s ease-out infinite;
}
.how__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  padding: 0.75rem;
  border-radius: 0.75rem;
  background-color: var(--c-bg-1);
  color: var(--c-primary);
  transition: background-color 0.3s ease, color 0.3s ease;
  backface-visibility: hidden;
  transform: translateZ(0);
}
.how__icon svg {
  width: 2rem;
  height: 2rem;
}
.how__icon path {
  stroke: currentColor;
  transition: stroke 0.3s ease;
}
.how__name {
  margin-top: 1.5rem;
  font-family: var(--ff-2);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--c-primary);
  word-break: break-word;
  transition: color 0.3s ease;
}
@media (max-width: 767.9px) {
  .how__name {
    font-size: 1.25rem;
  }
}
.how__list {
  margin-top: 2rem;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--c-white);
  transition: color 0.3s ease;
}
@media (max-width: 767.9px) {
  .how__list {
    margin-top: 1.5rem;
  }
}
.how__list ul {
  list-style: disc;
  padding-left: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin: 0;
}
.how__list p {
  color: inherit;
}
.how__list a {
  color: var(--c-primary);
  text-decoration: underline;
}
.how__list a:hover {
  color: var(--c-white);
}
.how__result {
  margin-top: 1.5rem;
  padding-top: 0.75rem;
  border-top: 1px dashed var(--c-white-40);
  transition: border-color 0.3s ease;
}
.how__result-label {
  font-family: var(--ff-2);
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--c-primary);
  transition: color 0.3s ease;
}
.how__result-text {
  margin-top: 0.25rem;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--c-white);
  transition: color 0.3s ease;
}
.how__result-text p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.how__result-text p:not(:last-child) {
  margin-bottom: 0.75rem;
}
.how__step:not(.is-active) .how__result-label,
.how__step:not(.is-active) .how__result-text {
  color: var(--c-white-40);
}
.how__step:not(.is-active) .how__name,
.how__step:not(.is-active) .how__list {
  color: var(--c-white-40);
}
.how__step.is-current .how__icon {
  background-color: var(--c-bg-1);
  color: var(--c-primary);
}
.how__step.is-active:not(.is-current) .how__icon {
  background-color: var(--c-black);
  color: var(--c-primary);
}
.how__step:not(.is-active) .how__icon {
  background-color: var(--c-bg-1);
  color: var(--c-white-60);
}
.how__connector {
  position: absolute;
  z-index: -1;
  top: 10rem;
  left: 100%;
  width: 10.5rem;
  pointer-events: none;
}
@media (max-width: 767.9px) {
  .how__connector {
    top: 5rem;
    width: 5rem;
  }
}
.how__connector svg {
  display: block;
  overflow: visible;
  width: 100%;
  height: 100%;
}
.how__connector--down {
  height: 7.8125rem;
}
@media (max-width: 767.9px) {
  .how__connector--down {
    height: 3.6875rem;
  }
}
.how__connector--up {
  top: 2.5rem;
  height: 5.3125rem;
}
@media (max-width: 767.9px) {
  .how__connector--up {
    height: 2.5rem;
  }
}
.how__connector-fill {
  fill: none;
  stroke: var(--c-white);
  stroke-dasharray: 9999;
  stroke-dashoffset: 9999;
}

@keyframes how-pulse {
  0% {
    opacity: 0;
    transform: scale(1);
  }
  20% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(3.3333);
  }
}
.projects__container {
  display: flex;
  flex-direction: column;
}
.projects__header {
  display: flex;
  gap: 0 1rem;
}
.projects__list {
  display: flex;
  flex-direction: column;
  margin-top: 1.5rem;
}
.projects__item {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 0 0.625rem;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--c-white-40);
}
@media (min-width: 768px) {
  .projects__item:first-child {
    border-top: 1px solid var(--c-white-40);
  }
}
@media (max-width: 767.9px) {
  .projects__item {
    flex-direction: column;
    align-items: center;
    gap: 0.5rem 0.625rem;
    padding: 2rem 0;
  }
  .projects__item:first-child {
    padding-top: 0.5rem;
  }
  .projects__item:last-child {
    border-bottom: unset;
    padding-bottom: 1rem;
  }
}
.projects__name {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.2;
  width: 19rem;
}
@media (max-width: 767.9px) {
  .projects__name {
    font-size: 1.25rem;
    width: 100%;
    margin-top: 1.5rem;
  }
}
.projects__desc {
  color: var(--c-white-60);
  margin-bottom: 0 !important;
  width: 19rem;
}
@media (max-width: 767.9px) {
  .projects__desc {
    width: 100%;
  }
}
.projects__image {
  width: 47rem;
  border-radius: 0.75rem;
  overflow: hidden;
}
@media (max-width: 767.9px) {
  .projects__image {
    order: -1;
    width: 100%;
  }
}
.projects__image img, .projects__image video {
  width: 100%;
  height: 20rem;
  object-fit: cover;
  border-radius: 0.75rem;
  clip-path: inset(0 0% 0 0 round 0.75rem);
}
@media (max-width: 767.9px) {
  .projects__image img, .projects__image video {
    width: 100%;
    height: 12.5rem;
  }
}
.projects__image video {
  object-position: top;
}
.projects__btn {
  margin-top: 3rem;
}
@media (max-width: 767.9px) {
  .projects__btn {
    margin-top: 1.5rem;
  }
}

.projects--cards {
  overflow-x: hidden;
}
.projects--cards .projects__header {
  display: flex;
  align-items: baseline;
  gap: 1rem;
}
@media (max-width: 767.9px) {
  .projects--cards .projects__header {
    flex-direction: row;
    flex-wrap: wrap;
  }
}
.projects--cards .projects__all {
  margin-left: auto;
}
@media (max-width: 767.9px) {
  .projects--cards .projects__all {
    margin-left: 0;
  }
}
.projects--cards .projects__swiper {
  width: 100%;
  margin-top: 1.5rem;
  overflow: visible;
  cursor: grab;
}
.projects--cards .projects__slide {
  width: 59rem;
  max-width: 85%;
  height: auto;
}
@media (max-width: 1023.9px) {
  .projects--cards .projects__slide {
    width: 43.75rem;
  }
}
@media (max-width: 767.9px) {
  .projects--cards .projects__slide {
    width: 90%;
    max-width: none;
  }
}
.projects--cards .projects__card {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  height: 100%;
}
.projects--cards .projects__image {
  width: 100%;
  border-radius: 1rem;
  overflow: hidden;
  display: flex;
}
.projects--cards .projects__image picture {
  display: flex;
}
.projects--cards .projects__image img,
.projects--cards .projects__image video {
  width: 100%;
  height: 29.5rem;
  object-fit: cover;
  display: block;
}
@media (max-width: 767.9px) {
  .projects--cards .projects__image img,
  .projects--cards .projects__image video {
    height: auto;
    aspect-ratio: 280/320;
  }
}
.projects--cards .projects__foot {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
@media (max-width: 767.9px) {
  .projects--cards .projects__foot {
    flex-wrap: wrap;
  }
}
.projects--cards .projects__desc {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  width: auto;
  color: var(--c-white-60);
  font-size: max(12px, 1rem);
  line-height: 1.4;
}
.projects--cards .projects__more {
  flex: 0 0 auto;
}
.projects--cards .projects__more.jb-btn--arrow:after {
  background: currentColor;
  -webkit-mask: url(images/arrow-corner.svg) center/contain no-repeat;
  mask: url(images/arrow-corner.svg) center/contain no-repeat;
  transition: transform 0.3s ease;
}
.projects--cards .projects__more.jb-btn--arrow:hover:after {
  background: currentColor;
  transform: rotate(45deg);
}

.daily__title {
  width: 71rem;
  margin-top: 0;
  margin-bottom: 6.625rem;
  font-size: 3rem;
  color: #fff;
  line-height: 1.2;
}
@media (max-width: 767.9px) {
  .daily__title {
    width: 100%;
    margin-bottom: 2rem;
    font-size: 1.25rem;
  }
}
.daily__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  row-gap: 1.5rem;
  column-gap: 1rem;
}
@media (max-width: 767.9px) {
  .daily__grid {
    grid-template: repeat(2, auto)/auto;
    row-gap: 1rem;
  }
}
.daily__grid p {
  margin-bottom: 0;
}
.daily__grid .daily__text-2 {
  margin-bottom: 1.375rem;
}
.daily__img-wrap-1 {
  grid-column: 1/span 2;
}
@media (max-width: 767.9px) {
  .daily__img-wrap-1 {
    height: 15rem;
  }
}
@media (max-width: 767.9px) {
  .daily__img-wrap-1 img {
    object-position: right;
  }
}
.daily__img-wrap-2 {
  grid-row: 2;
  grid-column: 1;
  margin-top: 5.875rem;
}
@media (max-width: 767.9px) {
  .daily__img-wrap-2 {
    margin-top: 1rem;
    grid-column: 1;
    grid-row: 3;
  }
}
.daily__img-wrap-3 {
  grid-row: 2;
  grid-column: 3;
  margin-top: 5.875rem;
}
@media (max-width: 767.9px) {
  .daily__img-wrap-3 {
    margin-top: 1rem;
    grid-column: 2;
    grid-row: 3;
  }
}
.daily__img-wrap-4 {
  grid-row: 2;
  grid-column: 4;
  margin-top: 5.875rem;
}
@media (max-width: 767.9px) {
  .daily__img-wrap-4 {
    margin-top: 0;
    grid-row: 4;
    grid-column: 1/span 2;
  }
}
.daily__img-wrap-5 {
  grid-row: 3;
  grid-column: 1/span 2;
  margin-top: 5.875rem;
}
@media (max-width: 767.9px) {
  .daily__img-wrap-5 {
    height: 15rem;
    grid-row: 5;
    margin-top: 0;
  }
}
.daily__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.75rem;
}
.daily__text {
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 0;
}
.daily__text-1 {
  align-self: end;
}
@media (max-width: 767.9px) {
  .daily__text-1 {
    grid-column: 1/span 2;
    grid-row: 2;
  }
}
.daily__text-2 {
  grid-row: 3;
  grid-column: 3;
  align-self: end;
}
@media (max-width: 767.9px) {
  .daily__text-2 {
    grid-column: 1/span 2;
    grid-row: 6;
  }
}

.faq__container {
  display: flex;
  flex-direction: column;
}
.faq__header {
  display: flex;
  gap: 0 1rem;
}
@media (max-width: 767.9px) {
  .faq__header {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 0.25rem;
  }
}
.faq__list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  margin-top: 1.5rem;
}
.faq__list--mini {
  gap: 0;
}
.faq__icon {
  position: relative;
  width: 1.125rem;
  margin-top: 0.3125rem;
}
.faq__icon:before {
  content: "";
  width: 0;
  height: 1.125rem;
  border-right: 0.1rem solid var(--c-white);
  position: absolute;
  top: 0;
  left: 0.5rem;
  transition: all 0.3s ease;
}
.faq__icon:after {
  content: "";
  width: 1.125rem;
  height: 0;
  border-bottom: 0.1rem solid var(--c-white);
  position: absolute;
  top: 0.5rem;
  left: 0;
  transition: opacity 0.3s ease;
}
.faq__item {
  display: flex;
  justify-content: space-between;
  gap: 0 1.5rem;
  cursor: pointer;
  padding: 2.5rem;
  border: 1px solid var(--c-white-40);
  border-radius: 0.75rem;
}
@media (max-width: 767.9px) {
  .faq__item {
    padding: 1.5rem;
  }
}
.faq__item.active .faq__icon:before {
  transform: rotate(90deg);
  border-color: var(--c-primary);
}
.faq__item.active .faq__icon:after {
  opacity: 0;
}
.faq__list--mini .faq__item {
  padding: 1.5rem 0;
  border: none;
  border-bottom: 1px solid var(--c-white-40);
  border-radius: 0;
}
@media (max-width: 767.9px) {
  .faq__list--mini .faq__item {
    padding: 1rem 0;
  }
}
.faq__list--mini .faq__item:first-child {
  border-top: 1px solid var(--c-white-40);
}
.faq__contents {
  display: flex;
  flex-direction: column;
  width: 50%;
}
@media (max-width: 767.9px) {
  .faq__contents {
    width: 100%;
  }
}
.faq__question {
  font-family: var(--ff-2);
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.2;
  transition: color 0.3s ease;
}
@media (max-width: 767.9px) {
  .faq__question {
    font-size: 1.25rem;
  }
}
.faq__toggle {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: inherit;
  text-align: left;
  cursor: pointer;
}
.faq__item.active .faq__question {
  color: var(--c-primary);
}
.faq__answer {
  display: none;
  margin-top: 1.5rem;
  color: var(--c-text);
  font-size: var(--fz-p);
}
@media (max-width: 767.9px) {
  .faq__answer {
    margin-top: 0.75rem;
  }
}
.faq__answer strong {
  font-weight: 500;
  color: #ffffff;
}
.faq__answer ul {
  color: var(--c-white-60);
  margin: -0.625rem 0 1.25rem 1.25rem;
}
.faq__answer p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.faq__answer p:not(:last-child) {
  margin-bottom: 0.75rem;
}
.faq__answer a {
  color: var(--c-primary);
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.faq__answer a:hover {
  color: var(--c-white);
}
.faq__btn {
  margin-top: 1.25rem;
}
.faq__bottom {
  margin-top: 1.5rem;
  opacity: 0.6;
}
.faq__bottom a {
  text-decoration: underline;
}

.faq--materials .faq__item {
  align-items: flex-start;
  gap: 1rem;
}
@media (max-width: 767.9px) {
  .faq--materials .faq__item {
    flex-wrap: wrap;
  }
}
.faq--materials .faq__side {
  flex: 0 0 50%;
  max-width: 50%;
  display: flex;
  align-items: flex-start;
  gap: 3rem;
}
@media (max-width: 1023.9px) {
  .faq--materials .faq__side {
    gap: 1.5rem;
  }
}
@media (max-width: 767.9px) {
  .faq--materials .faq__side {
    flex: 1 1 100%;
    max-width: 100%;
    gap: 0;
    flex-direction: column;
  }
}
.faq--materials .faq__num {
  flex: 0 0 auto;
  min-width: 3.5rem;
  color: var(--c-white-40);
  font-size: max(12px, 1rem);
  line-height: 1.5;
}
@media (max-width: 767.9px) {
  .faq--materials .faq__num {
    min-width: 2rem;
  }
}
.faq--materials .faq__media {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  flex: 0 0 auto;
  width: 26rem;
  max-width: 100%;
  display: flex;
  transition: max-height 0.4s ease, opacity 0.4s ease;
}
.faq--materials .faq__media picture {
  display: flex;
  width: 100%;
}
.faq--materials .faq__media img {
  width: 100%;
  height: 19.625rem;
  display: block;
  object-fit: cover;
  border-radius: 0.75rem;
}
@media (max-width: 1023.9px) {
  .faq--materials .faq__media img {
    height: 15rem;
  }
}
@media (max-width: 767.9px) {
  .faq--materials .faq__media img {
    margin-top: 1rem;
    border-radius: 0.5rem;
    object-fit: cover;
    height: 15.5rem;
    width: 100%;
  }
}
.faq--materials .faq__item.active .faq__media {
  max-height: 19.625rem;
  opacity: 1;
}
@media (max-width: 767.9px) {
  .faq--materials .faq__item.active .faq__media {
    max-height: 16.5rem;
  }
}
.faq--materials .faq__contents {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
}
.faq--materials .faq__icon {
  flex: 0 0 auto;
  width: 0.75rem;
  height: 0.75rem;
  margin-top: 0.5rem;
  border-right: 0.1rem solid var(--c-white);
  border-bottom: 0.1rem solid var(--c-white);
  transform: rotate(45deg);
  transition: transform 0.3s ease, border-color 0.3s ease;
}
.faq--materials .faq__icon:before, .faq--materials .faq__icon:after {
  content: none;
}
.faq--materials .faq__item.active .faq__icon {
  transform: rotate(225deg);
  border-color: var(--c-primary);
}
.faq--materials .faq__body ul {
  margin: 0 0 1.5rem 1.25rem;
  color: var(--c-white-60);
}
.faq--materials .faq__body ul li {
  margin-bottom: 0.5rem;
  line-height: 1.4;
}
.faq--materials .faq__btn {
  margin-top: 0;
}

.accordion__container {
  display: flex;
  flex-direction: column;
}
.accordion__list {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-top: 1.5rem;
}
.accordion__item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  cursor: pointer;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--c-white-40);
}
.accordion__item:first-child {
  border-top: 1px solid var(--c-white-40);
}
@media (max-width: 767.9px) {
  .accordion__item {
    padding: 1rem 0;
    flex-wrap: wrap;
  }
}
.accordion__side {
  flex: 0 0 50%;
  max-width: 50%;
  display: flex;
  align-items: flex-start;
  gap: 3rem;
}
@media (max-width: 1023.9px) {
  .accordion__side {
    gap: 1.5rem;
  }
}
@media (max-width: 767.9px) {
  .accordion__side {
    flex: 1 1 100%;
    max-width: 100%;
    gap: 0;
    flex-direction: column;
  }
}
.accordion__num {
  flex: 0 0 auto;
  min-width: 3.5rem;
  color: var(--c-white-40);
  font-size: max(12px, 1rem);
  line-height: 1.5;
}
@media (max-width: 767.9px) {
  .accordion__num {
    min-width: 2rem;
  }
}
.accordion__media {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  flex: 0 0 auto;
  width: 26rem;
  max-width: 100%;
  display: flex;
  transition: max-height 0.4s ease, opacity 0.4s ease;
}
.accordion__media picture {
  display: flex;
  width: 100%;
}
.accordion__media img {
  width: 100%;
  height: 19.625rem;
  display: block;
  object-fit: cover;
  border-radius: 0.75rem;
}
@media (max-width: 767.9px) {
  .accordion__media img {
    margin-top: 1rem;
    border-radius: 0.5rem;
    object-fit: cover;
    height: 15.5rem;
    width: 100%;
  }
}
.accordion__item.active .accordion__media {
  max-height: 19.625rem;
  opacity: 1;
}
@media (max-width: 767.9px) {
  .accordion__item.active .accordion__media {
    max-height: 16.5rem;
  }
}
@media (max-width: 575.9px) {
  .accordion__item.active .accordion__media {
    width: 100%;
  }
}
.accordion__contents {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.accordion__question {
  font-family: var(--ff-2);
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.2;
  transition: color 0.3s ease;
}
@media (max-width: 767.9px) {
  .accordion__question {
    font-size: 1.25rem;
  }
}
.accordion__item:hover .accordion__question {
  color: var(--c-primary);
}
.accordion__item.active .accordion__question {
  color: var(--c-primary);
}
.accordion__answer {
  display: none;
  margin-top: 1.5rem;
}
@media (max-width: 767.9px) {
  .accordion__answer {
    margin-top: 0.75rem;
  }
}
.accordion__body {
  color: var(--c-white-60);
}
.accordion__body p {
  margin: 0 0 0.75rem;
  line-height: 1.4;
}
.accordion__body ul {
  margin: 0 0 1.5rem 1.25rem;
  color: var(--c-white-60);
}
.accordion__body ul li {
  margin-bottom: 0.5rem;
  line-height: 1.4;
}
.accordion__body strong {
  font-weight: 500;
  color: #ffffff;
}
.accordion__body > *:last-child {
  margin-bottom: 1.5rem;
}
.accordion__btn {
  margin-top: 0;
}
.accordion__icon {
  flex: 0 0 auto;
  width: 0.75rem;
  height: 0.75rem;
  margin-top: 0.5rem;
  border-right: 0.1rem solid var(--c-white);
  border-bottom: 0.1rem solid var(--c-white);
  transform: rotate(45deg);
  transition: transform 0.3s ease, border-color 0.3s ease;
}
.accordion__item.active .accordion__icon {
  transform: rotate(225deg);
  border-color: var(--c-primary);
}

.testimonials {
  color: #000000;
}
.testimonials__container {
  display: flex;
  flex-direction: column;
  background-color: #F1F1F1;
  border-radius: 0.75rem;
  padding: 2.5rem;
  overflow: hidden;
}
@media (max-width: 767.9px) {
  .testimonials__container {
    padding: 1.5rem;
  }
}
.testimonials__header {
  display: flex;
  gap: 0 1rem;
}
.testimonials__desc {
  margin-top: 1.5rem;
  margin-bottom: 0;
  max-width: 33.5625rem;
  opacity: 0.6;
}
@media (max-width: 767.9px) {
  .testimonials__desc {
    margin-top: 1rem;
  }
}
.testimonials__swiper {
  margin-top: 2.5rem;
  cursor: grab;
}
.testimonials__slide {
  display: flex;
  flex-direction: column;
  width: 21.75rem;
  background-color: #ffffff;
  border-radius: 0.75rem;
  height: auto;
  padding: 2rem;
  position: relative;
  overflow: hidden;
}
@media (max-width: 767.9px) {
  .testimonials__slide {
    width: 17.5rem;
    padding: 1.5rem;
  }
}
.testimonials__slide--video a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
@media (max-width: 767.9px) {
  .testimonials__slide--video a {
    justify-content: end;
  }
}
.testimonials__slide--video picture {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}
.testimonials__overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #000000;
  opacity: 0.6;
  transition: opacity 0.3s ease;
}
@media (max-width: 767.9px) {
  .testimonials__overlay {
    opacity: 0.3;
  }
}
.testimonials__slide:hover .testimonials__overlay {
  opacity: 0;
}
.testimonials__play {
  display: flex;
  transition: transform 0.3s ease;
  outline: none;
  align-self: center;
  margin-top: 2rem;
}
@media (max-width: 767.9px) {
  .testimonials__play {
    align-self: end;
  }
}
.testimonials__play svg {
  width: 3.5rem;
  height: 3.5rem;
}
.testimonials__play:hover {
  transform: scale(1.1);
}
.testimonials__author {
  width: 2.875rem;
  border-radius: 50%;
}
.testimonials__slide--video .testimonials__author {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.75rem;
}
.testimonials__txt {
  margin-top: 2rem;
}
@media (max-width: 767.9px) {
  .testimonials__txt {
    margin-top: 1.25rem;
  }
}
.testimonials__bottom {
  display: flex;
  align-items: center;
  gap: 0 0.75rem;
  margin-top: 3.75rem;
}
@media (max-width: 767.9px) {
  .testimonials__bottom {
    margin-top: 1.875rem;
  }
}
.testimonials__source {
  color: #000000;
  background-color: #F1F1F1;
  border-radius: 3.125rem;
  padding: 0.75rem 1.5rem;
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media (max-width: 767.9px) {
  .testimonials__source {
    padding: 0.75rem;
  }
}
.testimonials__source svg {
  width: auto;
  height: 1.125rem;
  transition: opacity 0.3s ease;
}
.testimonials__source g {
  transition: opacity 0.3s ease;
}
.testimonials__source:hover {
  color: #000000;
}
.testimonials__source:hover svg {
  opacity: 0.5;
}
.testimonials__name {
  font-family: var(--ff-2);
  font-size: max(12px, 1rem);
  font-weight: 500;
  line-height: 1.2;
  color: #000000;
  background-color: #F1F1F1;
  border-radius: 3.125rem;
  padding: 0.75rem 1.5rem;
  width: fit-content;
}
@media (max-width: 767.9px) {
  .testimonials__name {
    padding: 0.75rem;
  }
  .testimonials__slide--video .testimonials__name {
    display: none;
  }
}
.testimonials__label {
  color: #ffffff;
  font-weight: 500;
  font-size: 1.25rem;
}
@media (max-width: 767.9px) {
  .testimonials__label {
    font-size: 1rem;
    display: none;
  }
}

.cta__inner {
  background-color: var(--c-secondary);
  border-radius: 0.75rem;
  padding: 2.5rem;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 1023.9px) {
  .cta__inner {
    flex-direction: column;
    align-items: stretch;
    padding: 1.5rem;
    gap: 1.25rem;
  }
}
.cta__info {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
@media (max-width: 767.9px) {
  .cta__info {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
}
.cta__avatar {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  object-fit: cover;
  aspect-ratio: 1/1;
  flex-shrink: 0;
  background-color: var(--c-white);
}
.cta__text {
  margin: 0;
  font-family: var(--ff-2);
  font-size: max(12px, 1rem);
  font-weight: 500;
  line-height: 1.4;
  color: var(--c-white);
}
@media (min-width: 768px) {
  .cta__text {
    max-width: 47rem;
  }
}
@media (min-width: 1024px) {
  .cta__text {
    max-width: 29.0625rem;
  }
}
.cta__text * {
  color: inherit;
}
.cta__socials {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  gap: 1rem;
  align-items: stretch;
}
@media (max-width: 1023.9px) {
  .cta__socials {
    flex-wrap: wrap;
  }
}
@media (max-width: 575.9px) {
  .cta__socials {
    gap: 0.5rem;
  }
}
.cta__social {
  flex: 1 0 0;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 0.875rem 0.875rem;
  border: 1px solid transparent;
  border-radius: 0.75rem;
  background-color: var(--c-white-40);
  color: var(--c-white);
  font-family: var(--ff-2);
  font-size: max(12px, 1rem);
  font-weight: 500;
  line-height: 1;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
@media (max-width: 767.9px) {
  .cta__social {
    padding: 1rem;
  }
}
.cta__social svg {
  width: 1.75rem;
  height: 1.75rem;
  flex-shrink: 0;
  display: block;
}
@media (max-width: 767.9px) {
  .cta__social svg {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.cta__social svg path {
  fill: var(--c-white);
  transition: fill 0.3s ease;
}
.cta__social:hover {
  background-color: var(--c-white);
  border-color: var(--c-secondary);
  color: var(--c-secondary);
}
.cta__social:hover svg path {
  fill: var(--c-secondary);
}
.cta__social--highlight {
  background-color: var(--c-white);
  border-color: var(--c-secondary);
}
.cta__social--highlight svg path {
  fill: var(--c-secondary);
}
.cta__social--callback {
  flex: 0 0 auto;
  white-space: nowrap;
}
@media (max-width: 1023.9px) {
  .cta__social--callback {
    flex: 1 0 100%;
  }
}

.cta-form__inner {
  position: relative;
  overflow: hidden;
  background-color: var(--c-secondary);
  border-radius: 0.75rem;
  padding: 2.5rem;
  display: flex;
  gap: 5rem;
  align-items: flex-start;
}
@media (max-width: 767.9px) {
  .cta-form__inner {
    flex-direction: column;
    gap: 3rem;
    padding: 1.5rem 1.5rem 0;
  }
}
@media (max-width: 575.9px) {
  .cta-form__inner {
    gap: 1.5rem;
  }
}
.cta-form__main {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media (max-width: 767.9px) {
  .cta-form__main {
    gap: 2rem;
  }
}
.cta-form__title {
  color: var(--c-white);
  font-family: var(--ff-2);
  font-weight: 500;
  font-size: 3rem;
  line-height: 1.1;
}
@media (max-width: 1023.9px) {
  .cta-form__title {
    font-size: 1.75rem;
  }
}
.cta-form__contact {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.cta-form__subtitle {
  margin: 0;
  color: var(--c-white);
  font-family: var(--ff-2);
  font-weight: 500;
  font-size: max(12px, 1.5rem);
  line-height: 1.2;
}
@media (max-width: 767.9px) {
  .cta-form__subtitle {
    font-size: 1.125rem;
  }
}
.cta-form__form .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.cta-form__row {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
  width: 100%;
}
@media (max-width: 1199.9px) {
  .cta-form__row {
    gap: 1rem;
  }
}
@media (max-width: 767.9px) {
  .cta-form__row {
    gap: 1rem;
  }
}
.cta-form__divider {
  width: 1px;
  height: 3.5rem;
  background-color: var(--c-white-40);
  flex-shrink: 0;
}
@media (max-width: 767.9px) {
  .cta-form__divider {
    width: 100%;
    height: 1px;
    margin: 0.5rem 0;
  }
}
.cta-form__field {
  display: block;
}
@media (max-width: 767.9px) {
  .cta-form__field {
    flex: 1 0 100%;
  }
}
.cta-form__success {
  flex: 1 0 0;
  min-width: 0;
  color: var(--c-white);
  font-family: var(--ff-2);
  font-weight: 500;
  font-size: max(12px, 1rem);
  line-height: 1.4;
}
.cta-form input[type=tel],
.cta-form input[type=text] {
  width: 20.625rem;
  height: 3.5rem;
  padding: 0 1.5rem;
  border: none;
  border-radius: 0.5rem;
  background-color: var(--c-white);
}
@media (max-width: 767.9px) {
  .cta-form input[type=tel],
  .cta-form input[type=text] {
    min-width: 0;
    width: 100%;
  }
}
.cta-form__submit {
  position: relative;
  display: inline-flex;
}
@media (max-width: 767.9px) {
  .cta-form__submit {
    flex: 1 0 100%;
    width: 100%;
  }
}
.cta-form .wpcf7-submit {
  height: 3.5rem;
  padding: 0 1.5rem;
  border: none;
  border-radius: 0.5rem;
  background-color: var(--c-primary);
  color: var(--c-black);
  font-family: var(--ff-2);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  transition: opacity 0.3s ease, color 0.15s ease;
}
.cta-form .wpcf7-submit:hover {
  opacity: 0.85;
}
@media (max-width: 767.9px) {
  .cta-form .wpcf7-submit {
    width: 100%;
  }
}
.cta-form__submit .wpcf7-spinner {
  position: absolute;
  inset: 0;
  margin: auto;
  display: none;
  width: 1.5rem;
  height: 1.5rem;
  border: 2px solid var(--c-black);
  border-top-color: transparent;
  border-radius: 50%;
  background: none;
  animation: jb-loader-spin 0.8s linear infinite;
}
.cta-form__submit .wpcf7-spinner::before, .cta-form__submit .wpcf7-spinner::after {
  content: none;
}
.wpcf7-form.submitting .cta-form__submit .wpcf7-submit {
  color: transparent;
}
.wpcf7-form.submitting .cta-form__submit .wpcf7-spinner {
  display: block;
}
.cta-form__aside {
  position: relative;
  flex-shrink: 0;
  width: 30.5625rem;
  align-self: stretch;
}
@media (max-width: 767.9px) {
  .cta-form__aside {
    width: 100%;
    min-height: 20rem;
  }
}
@media (max-width: 575.9px) {
  .cta-form__aside {
    min-height: 12rem;
  }
}
.cta-form__author {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.25rem;
  text-align: right;
}
@media (max-width: 767.9px) {
  .cta-form__author {
    right: unset;
    left: 0;
  }
}
.cta-form__author-name {
  color: var(--c-white);
  font-family: var(--ff-1);
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.2;
}
.cta-form__author-role {
  color: var(--c-bg-2);
  font-size: 0.75rem;
  line-height: 1.4;
}
.cta-form__photo {
  position: absolute;
  right: 3rem;
  bottom: -2.5rem;
  width: 27.6875rem;
  height: auto;
  object-fit: contain;
  pointer-events: none;
}
@media (max-width: 767.9px) {
  .cta-form__photo {
    bottom: 0;
    width: auto;
    max-width: 22.5rem;
    display: block;
  }
}
@media (max-width: 575.9px) {
  .cta-form__photo {
    max-width: 13rem;
    margin-right: -5rem;
  }
}

@keyframes jb-loader-spin {
  to {
    transform: rotate(360deg);
  }
}
.jb-socials {
  display: inline-flex;
  gap: 0.75rem;
}
@media (max-width: 767.9px) {
  .jb-socials {
    gap: 0.5rem;
  }
}
.jb-socials__item {
  width: 3.5rem;
  height: 3.5rem;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 0.75rem;
  background-color: var(--c-white-40);
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
.jb-socials__item svg {
  width: 1.5rem;
  height: 1.5rem;
  display: block;
}
.jb-socials__item svg path {
  fill: var(--c-white);
  transition: fill 0.3s ease;
}
.jb-socials__item:hover {
  background-color: var(--c-white);
  border-color: var(--c-secondary);
}
.jb-socials__item:hover svg path {
  fill: var(--c-secondary);
}

.callback .jb-container-card {
  background-color: var(--c-white);
  padding: 51px 60px 54px;
}
@media screen and (max-width: 1440px) {
  .callback .jb-container-card {
    padding: 48px;
  }
}
@media screen and (max-width: 1280px) {
  .callback .jb-container-card {
    padding-top: 38px;
  }
}
@media screen and (max-width: 767px) {
  .callback .jb-container-card {
    padding: 40px 20px;
  }
}
.callback .jb-title {
  color: var(--c-bg-2);
  margin-bottom: 50px;
}
@media screen and (max-width: 1440px) {
  .callback .jb-title {
    margin-bottom: 38px;
  }
}
@media screen and (max-width: 1024px) {
  .callback .jb-title {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .callback .jb-title {
    font-size: 24px;
  }
}
@media screen and (max-width: 1024px) {
  .callback .jb-title br {
    display: none;
  }
}
.callback__form {
  display: flex;
  gap: 30px;
  flex-wrap: nowrap;
  align-items: center;
  margin-bottom: 30px;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .callback__form {
    flex-wrap: wrap;
    margin-bottom: 40px;
  }
}
.callback__form.sending::before {
  transform: scale(1);
  opacity: 1;
}
.callback__form .jb-btn {
  min-width: 225px;
  width: 100%;
}
.callback__form .iti {
  display: block;
}
.callback__form_item {
  width: 100%;
}
.callback__form_item.submit-wrapper {
  width: 93%;
}
@media screen and (max-width: 1024px) {
  .callback__form_item.submit-wrapper {
    width: 100%;
  }
}
.callback__form_divider {
  color: var(--c-bg-2);
}
.callback__form_divider.line {
  align-self: normal;
  display: flex;
  width: 1px;
  background-color: var(--c-black-25);
}
@media screen and (max-width: 1024px) {
  .callback__form_divider.line {
    width: 100%;
    height: 1px;
  }
}
.callback__direct {
  display: flex;
  gap: 11px;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .callback__direct {
    flex-wrap: wrap;
  }
}
.callback__direct span {
  font-weight: 300;
}
@media screen and (max-width: 767px) {
  .callback__direct span {
    width: 100%;
  }
}
.callback__socials {
  width: 30px;
  height: 30px;
  background-color: var(--c-text);
  border-radius: 50%;
  color: var(--c-white);
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
  transition: 0.2s;
}
.callback__socials:hover {
  background-color: var(--c-primary);
}
.callback__socials--telegram {
  background-image: url("/wp-content/themes/web-jb/images/tg.svg");
}
.callback__socials--whatsapp {
  background-image: url("/wp-content/themes/web-jb/images/wa.svg");
}
.callback__socials--tel {
  background-image: url("/wp-content/themes/web-jb/images/tel.svg");
}
.callback-modal {
  max-width: max(32.5rem, 400px);
}
.callback-modal .callback__form {
  flex-wrap: wrap;
}
.callback-modal .callback__form_divider.line {
  width: 100%;
  height: 1px;
}
.callback-modal .callback__form .submit-wrapper {
  width: 100%;
}
.callback--dark .jb-container-card {
  background-color: #1C1C1C;
  padding: 2.5rem;
  border-radius: 0.75rem;
}
@media (max-width: 1023.9px) {
  .callback--dark .jb-container-card {
    padding: 1.5rem;
  }
}
@media (max-width: 767.9px) {
  .callback--dark .jb-container-card {
    padding: 0;
    background-color: transparent;
    border-radius: 0;
  }
}
.callback--dark .jb-container-card__inner {
  max-width: none;
}
.callback--dark .jb-title {
  color: var(--c-white);
  margin-bottom: 0;
  font-size: 3rem;
  line-height: 1.2;
}
@media (max-width: 1023.9px) {
  .callback--dark .jb-title {
    font-size: 1.75rem;
  }
}
.callback--dark .callback__wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: stretch;
  width: 100%;
}
@media (max-width: 767.9px) {
  .callback--dark .callback__wrapper {
    grid-template-columns: 1fr;
  }
}
.callback--dark .callback__left {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media (max-width: 1023.9px) {
  .callback--dark .callback__left {
    gap: 1.5rem;
  }
}
@media (max-width: 767.9px) {
  .callback--dark .callback__left {
    background-color: #1C1C1C;
    border-radius: 0.75rem;
    padding: 1.5rem;
  }
}
.callback--dark .callback__subtitle {
  margin-bottom: 0;
  color: var(--c-white-60);
}
.callback--dark .callback__desc {
  max-width: 26.25rem;
  color: var(--c-white-60);
  font-size: max(12px, 1rem);
  line-height: 1.4;
  margin-bottom: 0 !important;
  opacity: 1;
}
.callback--dark .callback__desc p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.callback--dark .callback__desc p:not(:last-child) {
  margin-bottom: 0.75rem;
}
.callback--dark .callback__desc a {
  color: var(--c-primary);
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.callback--dark .callback__desc a:hover {
  color: var(--c-white);
}
.callback--dark .callback__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  color: var(--c-white-60);
}
.callback--dark .callback__list li {
  position: relative;
  padding-left: 1.125rem;
  margin: 0;
  font-size: max(12px, 1rem);
  line-height: 1.4;
}
.callback--dark .callback__list li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.375rem;
  width: 0.75rem;
  height: 0.75rem;
  background-color: var(--c-primary);
  -webkit-mask: url(images/rkn-152fz/icon-check.svg) center/contain no-repeat;
  mask: url(images/rkn-152fz/icon-check.svg) center/contain no-repeat;
}
.callback--dark .callback__right {
  flex: 1 0 0;
  min-width: 0;
  background-color: #2F2F2F;
  border-radius: 0.75rem;
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (max-width: 1023.9px) {
  .callback--dark .callback__right {
    padding: 1.5rem;
    gap: 1rem;
  }
}
@media (max-width: 767.9px) {
  .callback--dark .callback__right {
    background-color: #1C1C1C;
  }
}
.callback--dark .callback__right h3,
.callback--dark .callback__right .callback__form-title {
  font-family: var(--ff-2);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--c-white);
  margin: 0;
}
.callback--dark .callback__right input[type=text],
.callback--dark .callback__right input[type=email],
.callback--dark .callback__right input[type=tel],
.callback--dark .callback__right input[type=url],
.callback--dark .callback__right textarea {
  width: 100%;
  background-color: var(--c-bg-2);
  border: none;
  border-radius: 0.5rem;
  padding: 0.625rem 1.5rem;
  height: 3.5rem;
  color: var(--c-black);
  font-family: var(--ff-1);
  font-size: max(12px, 1rem);
  line-height: 1.4;
}
.callback--dark .callback__right input[type=text]::placeholder,
.callback--dark .callback__right input[type=email]::placeholder,
.callback--dark .callback__right input[type=tel]::placeholder,
.callback--dark .callback__right input[type=url]::placeholder,
.callback--dark .callback__right textarea::placeholder {
  color: rgba(0, 0, 0, 0.6);
}
@media (min-width: 768px) {
  .callback--dark .callback__right .cta-form__field {
    display: block;
    flex: 1 1 12.5rem;
    min-width: 0;
  }
}
.callback--dark .callback__right .wpcf7-form-control-wrap {
  position: relative;
  display: block;
}
.callback--dark .callback__right input.wpcf7-not-valid,
.callback--dark .callback__right input.invalid,
.callback--dark .callback__right textarea.wpcf7-not-valid,
.callback--dark .callback__right textarea.invalid {
  height: auto;
  padding-bottom: 1.6875rem;
}
.callback--dark .callback__right form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  flex-wrap: nowrap;
  margin-bottom: 0;
}
@media (max-width: 1023.9px) {
  .callback--dark .callback__right form {
    gap: 1rem;
  }
}
.callback--dark .callback__right .wpcf7-acceptance .wpcf7-list-item-label {
  color: var(--c-white-60);
  font-size: max(12px, 0.75rem);
}
.callback--dark .callback__right .wpcf7-acceptance .wpcf7-list-item-label a {
  color: var(--c-white-60);
  font-size: inherit;
  text-decoration: underline;
}
.callback--dark .callback__right .wpcf7-acceptance .wpcf7-list-item-label a:hover {
  text-decoration: none;
}
.callback--dark .callback__right .wpcf7-acceptance .wpcf7-list-item-label:before {
  border-color: var(--c-bg-2);
}
.callback--dark .callback__right .jb-btn,
.callback--dark .callback__right .wpcf7-submit {
  align-self: flex-start;
  min-width: auto;
  width: auto;
  background-color: var(--c-primary);
  color: var(--c-black);
  border-radius: 0.5rem;
  padding: 0.75rem 1.5rem;
  height: 3.5rem;
  font-family: var(--ff-2);
  font-size: max(12px, 1rem);
  font-weight: 500;
  border: none;
}
.callback--dark .callback__right .jb-btn:after,
.callback--dark .callback__right .wpcf7-submit:after {
  content: "→";
  margin-left: 0.25rem;
}

.banner {
  display: flex;
  flex-direction: column;
  position: relative;
  margin-top: 6rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 767.9px) {
  .banner {
    margin-top: 5rem;
  }
}
.banner__container {
  height: 100%;
  padding-left: 2.5rem;
  background: url(images/banner-bg.webp) top center/cover no-repeat;
  border-radius: 0.75rem;
  flex-direction: row;
  gap: 2.5rem 1.25rem;
  align-items: center;
  justify-content: space-between;
  min-height: 42.5rem;
}
@media (max-width: 767.9px) {
  .banner__container {
    padding: 2.5rem 1.5rem 1.5rem;
    flex-direction: column;
  }
}
.banner__contents {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 50%;
}
@media (max-width: 767.9px) {
  .banner__contents {
    width: 100%;
  }
}
.banner__wrapper {
  overflow: hidden;
}
.banner__title {
  font-size: 4.5rem;
  line-height: normal;
  opacity: 0.01;
}
@media (max-width: 767.9px) {
  .banner__title {
    font-size: 2.125rem;
  }
}
.banner__subtitle {
  font-weight: 500;
}
.banner__desc {
  opacity: 0.6;
  max-width: 31.25rem;
  margin-bottom: 0 !important;
  color: var(--c-text);
  font-size: var(--fz-p);
}
.banner__desc p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.banner__desc p:not(:last-child) {
  margin-bottom: 0.75rem;
}
.banner__desc a {
  color: var(--c-primary);
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.banner__desc a:hover {
  color: var(--c-white);
}
.banner picture {
  width: 50%;
}
@media (max-width: 767.9px) {
  .banner picture {
    width: 100%;
    margin: 0 -3rem -1.5rem 0;
  }
}
.banner__img {
  width: 100%;
  height: auto;
}
.banner__list {
  display: flex;
  gap: 0.5rem;
}
@media (max-width: 767.9px) {
  .banner__list {
    display: grid;
    grid-template-columns: 1fr;
  }
}
.banner__item {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #2F2F2F;
  border-radius: 0.75rem;
  padding: 0.5rem 1rem;
  gap: 0.5rem;
}
@media (max-width: 767.9px) {
  .banner__item {
    justify-content: flex-start;
    padding: 0.5rem 0.375rem;
  }
}
.banner__item-icon {
  width: 1.5rem;
  height: 1.5rem;
}
.banner--service2 .banner__container {
  padding-top: 2.5rem;
}
.banner--service2 .banner__btn {
  margin-bottom: 40px;
}
@media (max-width: 767.9px) {
  .banner--service2 .banner__btn {
    white-space: normal;
    width: fit-content;
    max-width: 100%;
  }
}
.banner--service2 .banner__list {
  flex-wrap: wrap;
}
@media (min-width: 576px) and (max-width: 1023.9px) {
  .banner--service2 .banner__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.banner--service2 .banner__item {
  flex-shrink: 0;
}
@media (min-width: 768px) and (max-width: 1023.9px) {
  .banner--service2 .banner__item {
    justify-content: flex-start;
  }
}
.banner--service2 .banner__item-icon svg {
  width: 1.5rem;
  height: 1.5rem;
  display: block;
  color: inherit;
}
.banner--rkn {
  margin-top: 7.5rem;
}
@media (max-width: 1023.9px) {
  .banner--rkn {
    margin-top: 6.25rem;
  }
}
@media (max-width: 767.9px) {
  .banner--rkn {
    margin-top: 5rem;
  }
}
.banner--rkn .banner__container {
  background: #1C1C1C;
  padding: 0;
  padding: 2.5rem 0 0 2.5rem;
  min-height: 42.5rem;
  overflow: hidden;
  position: relative;
}
@media (max-width: 1023.9px) {
  .banner--rkn .banner__container {
    padding-left: 1.5rem;
    min-height: 30rem;
  }
}
@media (max-width: 767.9px) {
  .banner--rkn .banner__container {
    padding: 2rem 1.25rem 20rem;
    min-height: unset;
    flex-direction: column;
    background-image: url("/wp-content/themes/web-jb/images/rkn-152fz/hero-right.webp");
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: auto 20rem;
  }
}
.banner--rkn .banner__contents {
  width: 44.375rem;
  gap: 2.5rem;
}
@media (max-width: 1023.9px) {
  .banner--rkn .banner__contents {
    width: 55%;
    gap: 1.5rem;
  }
}
@media (max-width: 767.9px) {
  .banner--rkn .banner__contents {
    width: 100%;
  }
}
.banner--rkn .banner__title {
  font-size: 3.75rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}
@media (max-width: 767.9px) {
  .banner--rkn .banner__title {
    font-size: 3rem;
    font-weight: 500;
  }
}
.banner--rkn .banner__desc {
  max-width: 33.75rem;
  opacity: 1;
  color: var(--c-white-60);
}
.banner--rkn .banner__list--metrics {
  gap: 1.25rem;
}
@media (max-width: 767.9px) {
  .banner--rkn .banner__list--metrics {
    gap: 1.5rem;
  }
}
.banner--rkn .banner__list--metrics .banner__item {
  background-color: transparent;
  border-radius: 0;
  padding: 0;
  gap: 0.5rem;
  flex-direction: row;
  align-items: baseline;
  justify-content: flex-start;
}
@media (max-width: 767.9px) {
  .banner--rkn .banner__list--metrics .banner__item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }
}
.banner--rkn .banner__list--metrics .banner__item-value {
  font-family: var(--ff-2);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--c-white);
}
@media (max-width: 767.9px) {
  .banner--rkn .banner__list--metrics .banner__item-value {
    font-size: 1.25rem;
  }
}
.banner--rkn .banner__list--metrics .banner__item-label {
  font-size: max(12px, 1rem);
  font-weight: 400;
  line-height: 1.4;
  color: var(--c-white-60);
  white-space: nowrap;
}
.banner--rkn .banner__list--socials {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  width: 100%;
}
.banner--rkn .banner__list--socials .banner__item {
  width: 100%;
  padding: 1rem 1.5rem;
  min-width: 0;
  gap: 0.75rem;
  color: var(--c-white);
  border-color: var(--c-white-20);
  background-color: #2F2F2F;
  justify-content: flex-start;
}
.banner--rkn .banner__list--socials .banner__item span {
  min-width: 0;
  white-space: normal;
  text-align: left;
}
.banner--rkn .banner__list--socials .banner__item:hover {
  color: var(--c-black);
  background-color: var(--c-primary);
  border-color: var(--c-primary);
}
.banner--rkn .banner__list--socials .banner__item:hover svg {
  color: var(--c-black);
}
.banner--rkn .banner__list--socials .banner__item svg {
  width: 2rem;
  height: 2rem;
  color: var(--c-primary);
  flex-shrink: 0;
  transition: color 0.3s ease;
}
@media (max-width: 767.9px) {
  .banner--rkn .banner__list--socials .banner__item {
    padding: 1rem;
    justify-content: center;
    gap: 0;
    background-color: var(--c-primary);
    color: var(--c-black);
  }
  .banner--rkn .banner__list--socials .banner__item span {
    display: none;
  }
  .banner--rkn .banner__list--socials .banner__item svg {
    color: var(--c-black);
  }
}
.banner--rkn picture,
.banner--rkn .banner__img {
  width: 46.875rem;
  height: 42.5rem;
  object-fit: cover;
  object-position: center;
  align-self: stretch;
}
@media (max-width: 767.9px) {
  .banner--rkn picture,
  .banner--rkn .banner__img {
    display: none;
  }
}
.banner--plan {
  margin-top: 1.5rem;
}
@media (max-width: 1023.9px) {
  .banner--plan {
    margin-top: 1.25rem;
  }
}
.banner--plan .banner__container {
  background: transparent;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  min-height: 0;
  align-items: stretch;
}
@media (max-width: 767.9px) {
  .banner--plan .banner__container {
    grid-template-columns: 1fr;
    padding: 0;
  }
}
.banner--plan .banner__contents {
  width: auto;
  flex: 1 1 0;
  min-width: 0;
  background-color: #1C1C1C;
  border-radius: 0.75rem;
  padding: 2.5rem;
  gap: 2.5rem;
}
@media (max-width: 1023.9px) {
  .banner--plan .banner__contents {
    padding: 1.5rem;
    gap: 1.5rem;
  }
}
@media (max-width: 767.9px) {
  .banner--plan .banner__contents {
    width: 100%;
  }
}
.banner--plan .banner__subtitle {
  color: var(--c-white-60);
  font-weight: 400;
  margin-bottom: 0;
}
.banner--plan .banner__title {
  font-size: 3rem;
  line-height: 1.2;
  letter-spacing: 0;
}
@media (max-width: 1023.9px) {
  .banner--plan .banner__title {
    font-size: 2.25rem;
  }
}
@media (max-width: 767.9px) {
  .banner--plan .banner__title {
    font-size: 1.75rem;
  }
}
.banner--plan .banner__list--steps {
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}
@media (max-width: 1023.9px) {
  .banner--plan .banner__list--steps {
    display: flex;
  }
}
.banner--plan .banner__list--steps .banner__item {
  background-color: #2F2F2F;
  border-radius: 0.75rem;
  padding: 1.25rem;
  gap: 1.25rem;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
}
@media (max-width: 1023.9px) {
  .banner--plan .banner__list--steps .banner__item {
    padding: 1rem;
    gap: 1rem;
  }
}
@media (max-width: 767.9px) {
  .banner--plan .banner__list--steps .banner__item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
}
.banner--plan .banner__list--steps .banner__item-icon {
  width: 4.5rem;
  height: 4.5rem;
  background-color: #1C1C1C;
  border-radius: 0.5rem;
  padding: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
@media (max-width: 1023.9px) {
  .banner--plan .banner__list--steps .banner__item-icon {
    width: 3.5rem;
    height: 3.5rem;
    padding: 0.75rem;
  }
}
@media (max-width: 767.9px) {
  .banner--plan .banner__list--steps .banner__item-icon {
    width: 3rem;
    height: 3rem;
    padding: 0.5rem;
  }
}
.banner--plan .banner__list--steps .banner__item-icon svg {
  width: 2rem;
  height: 2rem;
  color: var(--c-primary);
  display: block;
}
@media (max-width: 1023.9px) {
  .banner--plan .banner__list--steps .banner__item-icon svg {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.banner--plan .banner__list--steps .banner__item-txt {
  font-family: var(--ff-2);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--c-white);
}
@media (max-width: 1023.9px) {
  .banner--plan .banner__list--steps .banner__item-txt {
    font-size: 1.125rem;
  }
}
.banner--plan .banner__desc {
  max-width: none;
  opacity: 1;
  color: var(--c-white-60);
  font-size: max(12px, 1rem);
  line-height: 1.4;
  margin: 0 !important;
}
.banner--plan .banner__btn {
  align-self: flex-start;
}
.banner--plan .banner__btn:after {
  content: "";
  width: 1.125rem;
  height: 0.875rem;
  background: currentColor;
  -webkit-mask: url(images/rkn-152fz/arrow-cta.svg) center/contain no-repeat;
  mask: url(images/rkn-152fz/arrow-cta.svg) center/contain no-repeat;
}
.banner--plan picture,
.banner--plan .banner__img {
  width: auto;
  flex: 1 1 0;
  min-width: 0;
  align-self: stretch;
  background-color: #1C1C1C;
  border-radius: 0.75rem;
  margin: 0;
  overflow: hidden;
  object-fit: cover;
  object-position: bottom center;
}
@media (max-width: 767.9px) {
  .banner--plan picture,
  .banner--plan .banner__img {
    width: 100%;
    flex: none;
    min-height: 17.5rem;
  }
}
.banner--plan picture {
  display: flex;
}
.banner--plan picture .banner__img {
  width: 100%;
  height: 100%;
  border-radius: 0;
  background: transparent;
}
.banner--maintenance {
  margin-top: 1.5rem;
}
@media (max-width: 1023.9px) {
  .banner--maintenance {
    margin-top: 1.25rem;
  }
}
.banner--maintenance .banner__container {
  background: transparent;
  padding: 0;
  gap: 1.5rem;
  min-height: 0;
  flex-direction: column;
  align-items: stretch;
}
@media (max-width: 1023.9px) {
  .banner--maintenance .banner__container {
    padding: 0;
  }
}
@media (max-width: 767.9px) {
  .banner--maintenance .jb-section__header {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 0.25rem;
  }
}
.banner--maintenance .jb-section__header .jb-title {
  font-size: 3rem;
  line-height: 1.2;
}
@media (max-width: 1023.9px) {
  .banner--maintenance .jb-section__header .jb-title {
    font-size: 1.75rem;
  }
}
.banner--maintenance .banner__wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: stretch;
  width: 100%;
}
@media (max-width: 767.9px) {
  .banner--maintenance .banner__wrap {
    grid-template-columns: 1fr;
  }
}
.banner--maintenance .banner__contents {
  width: auto;
  flex: 1 0 0;
  min-width: 0;
  background-color: #1C1C1C;
  border-radius: 0.75rem;
  padding: 2.5rem;
  gap: 1.5rem;
}
@media (max-width: 1023.9px) {
  .banner--maintenance .banner__contents {
    padding: 1.5rem;
    gap: 1.25rem;
  }
}
@media (max-width: 767.9px) {
  .banner--maintenance .banner__contents {
    width: 100%;
    background-color: transparent;
    padding: 0;
    border-radius: 0;
    gap: 1.5rem;
  }
}
.banner--maintenance .banner__card-title {
  font-family: var(--ff-2);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--c-white);
  margin: 0 0 0.75rem;
}
@media (max-width: 767.9px) {
  .banner--maintenance .banner__card-title {
    background-color: #1C1C1C;
    border-radius: 0.75rem;
    padding: 1.5rem;
    margin: 0;
    font-size: 1.25rem;
  }
}
.banner--maintenance .banner__desc {
  max-width: none;
  opacity: 1;
  color: var(--c-white-60);
  font-size: max(12px, 1rem);
  line-height: 1.4;
  margin: 0 !important;
}
@media (max-width: 767.9px) {
  .banner--maintenance .banner__desc {
    display: none;
  }
}
.banner--maintenance .banner__table {
  display: flex;
  flex-direction: column;
  width: 100%;
  background-color: #2F2F2F;
  border-radius: 0.75rem;
  padding: 1.25rem;
}
@media (max-width: 1023.9px) {
  .banner--maintenance .banner__table {
    padding: 0.75rem;
  }
}
@media (max-width: 767.9px) {
  .banner--maintenance .banner__table {
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .banner--maintenance .banner__table::-webkit-scrollbar {
    display: none;
  }
}
.banner--maintenance .banner__row {
  display: grid;
  grid-template-columns: 18.75rem 1fr 1fr;
  gap: 1.25rem;
  align-items: center;
  padding: 0.875rem 0;
  border-bottom: 1px solid var(--c-white-40);
}
@media (max-width: 1023.9px) {
  .banner--maintenance .banner__row {
    grid-template-columns: 33% 1fr 1fr;
    gap: 0.75rem;
  }
}
@media (max-width: 767.9px) {
  .banner--maintenance .banner__row {
    min-width: 27.5rem;
  }
  .banner--maintenance .banner__row .banner__cell {
    white-space: nowrap;
  }
  .banner--maintenance .banner__row .banner__cell:first-child {
    white-space: normal;
  }
}
.banner--maintenance .banner__row:last-child {
  border-bottom: none;
}
.banner--maintenance .banner__cell {
  font-size: max(12px, 1rem);
  line-height: 1.4;
  color: var(--c-white);
  font-weight: 400;
}
.banner--maintenance .banner__row--head .banner__cell {
  font-family: var(--ff-2);
  font-weight: 500;
  color: var(--c-white-60);
}
.banner--maintenance .banner__row.is-highlight {
  border-bottom: none;
}
.banner--maintenance .banner__row.is-highlight .banner__cell {
  color: var(--c-secondary);
  font-family: var(--ff-2);
  font-weight: 500;
}
.banner--maintenance .banner__note {
  color: var(--c-white-60);
  font-size: max(12px, 0.875rem);
  line-height: 1.4;
  margin: 0;
}
@media (max-width: 767.9px) {
  .banner--maintenance .banner__note {
    display: none;
  }
}
.banner--maintenance .banner__note p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.banner--maintenance .banner__note p:not(:last-child) {
  margin-bottom: 0.75rem;
}
.banner--maintenance .banner__note a {
  color: var(--c-primary);
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.banner--maintenance .banner__note a:hover {
  color: var(--c-white);
}
.banner--maintenance picture,
.banner--maintenance .banner__img {
  width: auto;
  flex: 1 0 0;
  min-width: 0;
  align-self: stretch;
  background-color: var(--c-white);
  border-radius: 0.75rem;
  margin: 0;
  overflow: hidden;
  object-fit: cover;
  object-position: bottom center;
}
@media (max-width: 767.9px) {
  .banner--maintenance picture,
  .banner--maintenance .banner__img {
    width: 100%;
    flex: none;
    min-height: 17.5rem;
  }
}
.banner--maintenance picture {
  display: flex;
}
.banner--maintenance picture .banner__img {
  width: 100%;
  height: 100%;
  border-radius: 0;
  background: transparent;
}

.banner--price-table {
  margin-top: 0;
  margin-bottom: 7.5rem;
}
@media (max-width: 767.9px) {
  .banner--price-table {
    margin-bottom: 5rem;
  }
}
.banner--price-table .banner__container {
  background: #1C1C1C;
  padding: 2.5rem;
  border-radius: 0.75rem;
  gap: 1.5rem;
  min-height: 0;
  flex-direction: column;
  align-items: stretch;
}
@media (max-width: 767.9px) {
  .banner--price-table .banner__container {
    padding: 1.5rem;
    border-radius: 0.5rem;
  }
}
.banner--price-table .banner__intro {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}
.banner--price-table .banner__title.jb-title {
  font-size: 3rem;
  line-height: 1.1;
}
@media (max-width: 1023.9px) {
  .banner--price-table .banner__title.jb-title {
    font-size: 1.75rem;
  }
}
.banner--price-table .banner__desc {
  max-width: none;
  width: 100%;
  opacity: 1;
  color: var(--c-white-60);
  font-size: max(12px, 1rem);
  line-height: 1.4;
  margin: 0;
}
.banner--price-table .banner__table {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 0.5rem;
}
.banner--price-table .banner__row {
  display: grid;
  grid-template-columns: 31.25rem 21.875rem 21.875rem 15rem;
  align-items: center;
}
@media (max-width: 767.9px) {
  .banner--price-table .banner__row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    row-gap: 0.5rem;
    column-gap: 1rem;
    min-width: 0;
  }
}
.banner--price-table .banner__row--head {
  border-bottom: 1px solid var(--c-white-40);
}
.banner--price-table .banner__row--head .banner__cell {
  padding: 0.875rem 0 0.9375rem;
  font-family: var(--ff-2);
  font-weight: 500;
  color: var(--c-white-60);
}
@media (max-width: 767.9px) {
  .banner--price-table .banner__row--head {
    display: none;
  }
}
.banner--price-table .banner__row:not(.banner__row--head) {
  border-radius: 0.5rem;
}
.banner--price-table .banner__row:not(.banner__row--head):nth-child(odd) {
  background-color: #2F2F2F;
  background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2));
}
.banner--price-table .banner__row:not(.banner__row--head) .banner__cell {
  padding: 1rem 0;
}
@media (max-width: 767.9px) {
  .banner--price-table .banner__row:not(.banner__row--head) .banner__cell {
    padding: 0;
  }
}
@media (max-width: 767.9px) {
  .banner--price-table .banner__row:not(.banner__row--head) {
    padding: 1rem;
  }
}
.banner--price-table .banner__cell {
  font-size: max(12px, 1rem);
  line-height: 1.4;
  color: var(--c-white);
  font-weight: 400;
}
@media (max-width: 767.9px) {
  .banner--price-table .banner__cell {
    white-space: normal;
  }
}
.banner--price-table .banner__cell:first-child {
  padding-left: 1rem !important;
}
@media (max-width: 767.9px) {
  .banner--price-table .banner__cell:first-child {
    padding-left: 0 !important;
    flex: 1 1 100%;
  }
}
.banner--price-table .banner__cell:first-child a {
  font: inherit;
  color: inherit;
  text-decoration: none;
}
.banner--price-table .banner__cell:first-child a:hover {
  text-decoration: underline;
}
.banner--price-table .banner__cell:last-child {
  padding-right: 1rem !important;
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 767.9px) {
  .banner--price-table .banner__cell:last-child {
    padding-right: 0 !important;
    display: block;
    flex: 0 0 auto;
    max-width: 100%;
  }
}
@media (max-width: 767.9px) {
  .banner--price-table .banner__cell:nth-child(3) {
    margin-right: auto;
  }
  .banner--price-table .banner__cell:nth-child(2), .banner--price-table .banner__cell:nth-child(3) {
    color: var(--c-white-50);
  }
}
.banner--price-table .project-hero__link {
  font-family: var(--ff-1);
  font-weight: 500;
  font-size: max(12px, 1rem);
  gap: 0.5rem;
}
@media (min-width: 768px) {
  .banner--price-table .project-hero__link {
    width: 100%;
    justify-content: space-between;
  }
}
.banner--price-table .project-hero__link:after {
  flex-shrink: 0;
  width: 0.75rem;
  height: 0.75rem;
  background: currentColor;
  -webkit-mask: url(images/arrow-corner.svg) center/contain no-repeat;
  mask: url(images/arrow-corner.svg) center/contain no-repeat;
  transition: transform 0.3s ease;
}
.banner--price-table .project-hero__link:hover:after {
  background: currentColor;
  transform: rotate(45deg);
}

.banner--support {
  margin-top: 7.5rem;
  margin-bottom: 7.5rem;
}
@media (max-width: 1023.9px) {
  .banner--support {
    margin-top: 6.25rem;
    margin-bottom: 6.25rem;
  }
}
@media (max-width: 767.9px) {
  .banner--support {
    margin-top: 5rem;
    margin-bottom: 3.75rem;
  }
}
.banner--support .banner__container {
  background: url(images/design-support/hero-bg.webp) center/100% 100% no-repeat, #1C1C1C;
  padding: 2.5rem 2.5rem 0 2.5rem;
  min-height: 42.5rem;
  overflow: hidden;
}
@media (max-width: 1023.9px) {
  .banner--support .banner__container {
    padding-left: 1.5rem;
    min-height: 30rem;
  }
}
@media (max-width: 767.9px) {
  .banner--support .banner__container {
    padding: 2rem 1.5rem 0;
    min-height: unset;
    flex-direction: column;
    gap: 2rem;
  }
}
.banner--support .banner__contents {
  width: 44.375rem;
  gap: 2.5rem;
}
@media (max-width: 1023.9px) {
  .banner--support .banner__contents {
    width: 55%;
    gap: 1.5rem;
  }
}
@media (max-width: 767.9px) {
  .banner--support .banner__contents {
    width: 100%;
    gap: 1.5rem;
  }
}
.banner--support .banner__title {
  font-size: 4.5rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}
@media (max-width: 767.9px) {
  .banner--support .banner__title {
    font-size: 2.25rem;
    font-weight: 500;
  }
}
.banner--support .banner__desc {
  max-width: 33.75rem;
  opacity: 1;
  color: var(--c-white-60);
}
.banner--support .banner__btn {
  align-self: flex-start;
}
@media (max-width: 767.9px) {
  .banner--support picture {
    width: 100%;
    margin: 0;
  }
}

.banner--wp {
  margin-top: 0;
  margin-bottom: 0;
  background-color: transparent;
  background-image: var(--banner-bg, none);
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 12.5rem 0 4rem;
}
.banner--wp.banner--wp-glow {
  background-image: radial-gradient(45% 60% at 78% 25%, rgba(251, 79, 8, 0.4) 0%, rgba(251, 79, 8, 0.26) 35%, rgba(251, 79, 8, 0.03) 65%, rgba(251, 79, 8, 0) 100%), radial-gradient(120% 70% at 50% 0%, rgba(251, 79, 8, 0.06) 0%, rgba(251, 79, 8, 0) 100%), var(--banner-bg, none);
  background-position: top center, top center, top center;
  background-size: 100% 100%, 100% 100%, cover;
  background-repeat: no-repeat;
}
@media (max-width: 767.9px) {
  .banner--wp.banner--wp-glow {
    background-size: 100% 23.4375rem, 100% 20rem, cover;
  }
}
@media (max-width: 1023.9px) {
  .banner--wp {
    padding: 10rem 0 3rem;
  }
}
@media (max-width: 767.9px) {
  .banner--wp {
    padding: 7.5rem 0 2.5rem;
  }
}
.banner--wp .banner__container {
  background: none;
  padding: 0;
  min-height: unset;
  flex-direction: column;
  align-items: stretch;
  gap: 4rem;
}
@media (max-width: 767.9px) {
  .banner--wp .banner__container {
    gap: 2.5rem;
  }
}
.banner--wp .banner__contents {
  width: 100%;
  gap: 1.5rem;
}
.banner--wp .banner__subtitle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: max(12px, 0.75rem);
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-white);
}
.banner--wp .banner__subtitle:before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--c-primary);
  flex-shrink: 0;
}
.banner--wp .banner__title {
  font-size: 3.75rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  max-width: 56.25rem;
}
@media (max-width: 767.9px) {
  .banner--wp .banner__title {
    font-size: 2.125rem;
    font-weight: 500;
  }
}
.banner--wp .banner__desc {
  max-width: 33.75rem;
  opacity: 1;
  color: var(--c-white-60);
}
.banner--wp .banner__list--cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
@media (max-width: 1023.9px) {
  .banner--wp .banner__list--cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767.9px) {
  .banner--wp .banner__list--cards {
    grid-template-columns: minmax(0, 1fr);
  }
}
.banner--wp .banner__item {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background-color: #1C1C1C;
  border-radius: 0.75rem;
  padding: 2rem;
  position: relative;
  overflow: hidden;
}
@media (max-width: 767.9px) {
  .banner--wp .banner__item {
    padding: 1.5rem;
    border-radius: 0.5rem;
  }
}
.banner--wp .banner__item--accent {
  background-color: #DAF560;
}
.banner--wp .banner__item--accent .banner__item-label,
.banner--wp .banner__item--accent .banner__item-value,
.banner--wp .banner__item--accent .banner__item-title,
.banner--wp .banner__item--accent .banner__item-desc {
  color: #000000;
}
.banner--wp .banner__item--glow {
  background-image: radial-gradient(120% 120% at 100% 0%, rgba(218, 245, 96, 0.18) 0%, rgba(218, 245, 96, 0) 60%);
}
.banner--wp .banner__item-label {
  font-size: max(12px, 0.75rem);
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-white-60);
}
.banner--wp .banner__item-icon {
  width: 3rem;
  display: flex;
  align-items: flex-start;
}
.banner--wp .banner__item-icon svg {
  width: 3rem;
  height: 3rem;
  display: block;
}
.banner--wp .banner__item-value {
  font-size: 4.5rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.02em;
}
@media (max-width: 767.9px) {
  .banner--wp .banner__item-value {
    font-size: 3rem;
  }
}
.banner--wp .banner__item-title {
  font-family: var(--ff-2);
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2;
  margin: 0;
}
.banner--wp .banner__item-desc {
  font-size: max(12px, 1rem);
  line-height: 1.4;
  color: var(--c-white-60);
  margin: 0;
}
.banner--wp .banner__item-value,
.banner--wp .banner__item-title,
.banner--wp .banner__item-desc {
  margin-top: auto;
}
.banner--wp .banner__item-value + .banner__item-title,
.banner--wp .banner__item-value + .banner__item-desc,
.banner--wp .banner__item-title + .banner__item-desc {
  margin-top: 0;
}
.banner--wp .banner__item > :first-child {
  margin-top: 0;
  min-height: 4.5rem;
}
@media (max-width: 767.9px) {
  .banner--wp .banner__item > :first-child {
    min-height: 3rem;
  }
}

@media (max-width: 767.9px) {
  .features {
    margin-top: -1.5rem;
  }
}
.features__container {
  gap: 1.5rem;
}
@media (max-width: 767.9px) {
  .features__container {
    gap: 1rem;
  }
}
.features__list {
  display: flex;
  align-content: center;
  gap: 1rem;
}
@media (max-width: 767.9px) {
  .features__list {
    flex-direction: column;
  }
}
.features__block {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--c-white-40);
  border-radius: 0.75rem;
  padding: 3.375rem 2.5rem;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  text-align: center;
  width: 100%;
}
.page-template-tmp__service2 .features__block {
  align-items: start;
  justify-content: start;
  text-align: left;
  padding: 1.6875rem 4rem;
}
@media (max-width: 767.9px) {
  .features__block {
    padding: 1.5rem !important;
  }
}
.features__value {
  font-size: 3rem;
  line-height: 1.2;
  font-weight: 500;
  display: flex;
  gap: 0.4375rem;
  position: relative;
}
.page-template-tmp__service2 .features__value {
  font-size: 1.5rem;
}
@media (max-width: 767.9px) {
  .features__value {
    font-size: 1.25rem !important;
  }
}
.features__desc {
  color: var(--c-white-60);
}
.features__desc ul {
  margin-bottom: 0;
}
.features__desc p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.features__desc p:not(:last-child) {
  margin-bottom: 0.75rem;
}
.features__desc a {
  color: var(--c-primary);
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.features__desc a:hover {
  color: var(--c-white);
}
.features-top__list {
  display: flex;
  gap: 0.5rem;
}
@media (max-width: 767.9px) {
  .features-top__list {
    flex-direction: column;
  }
}
.features-top__block {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4rem;
  background-color: #2F2F2F;
  border-radius: 0.75rem;
  padding: 1rem;
  text-align: center;
  width: 100%;
}
@media (max-width: 767.9px) {
  .features-top__block {
    height: 2.5rem;
    border-radius: 0.5rem;
  }
}
.features--rkn {
  margin-bottom: 1.5rem;
}
@media (max-width: 767.9px) {
  .features--rkn {
    margin-top: 0;
  }
}
.features--rkn .jb-section__header {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
}
.features--rkn .jb-section__header .jb-title {
  font-size: 3rem;
  line-height: 1.2;
  font-weight: 500;
}
@media (max-width: 1023.9px) {
  .features--rkn .jb-section__header .jb-title {
    font-size: 1.75rem;
  }
}
.features--rkn .features__list {
  gap: 1rem;
}
.features--rkn .features__block {
  background-color: #1C1C1C;
  border: none;
  padding: 2.5rem;
  gap: 0;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
}
@media (max-width: 1023.9px) {
  .features--rkn .features__block {
    padding: 1.5rem !important;
    gap: 0;
  }
}
@media (max-width: 767.9px) {
  .features--rkn .features__block {
    display: grid !important;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    padding: 1.25rem !important;
  }
}
.features--rkn .features__icon {
  width: 4.5rem;
  height: 4.5rem;
  background-color: #2F2F2F;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  flex-shrink: 0;
  margin-bottom: 2.5rem;
}
@media (max-width: 1023.9px) {
  .features--rkn .features__icon {
    margin-bottom: 1.5rem;
  }
}
.features--rkn .features__icon svg {
  width: 2rem;
  height: 2rem;
  color: var(--c-primary);
  display: block;
}
@media (max-width: 767.9px) {
  .features--rkn .features__icon {
    width: 3rem;
    height: 3rem;
    padding: 0.625rem;
    margin-bottom: 0;
    grid-row: 1/2;
    grid-column: 1/2;
  }
  .features--rkn .features__icon svg {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.features--rkn .features__block h3 {
  font-family: var(--ff-2);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--c-white);
  margin: 0 0 1rem;
}
@media (max-width: 767.9px) {
  .features--rkn .features__block h3 {
    font-size: 1.25rem;
    margin: 0;
    align-self: center;
    grid-row: 1/2;
    grid-column: 2/3;
  }
}
@media (max-width: 767.9px) {
  .features--rkn .features__desc {
    grid-column: 1/3;
    grid-row: 2/3;
    margin-top: 0;
  }
}
.features--advantages {
  position: relative;
}
@media (min-width: 768px) {
  .features--advantages {
    margin: 0;
  }
}
.features--advantages .features__poster,
.features--advantages .features__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.features--advantages .features__poster {
  z-index: 0;
}
@media (max-width: 767.9px) {
  .features--advantages .features__poster {
    height: auto;
    aspect-ratio: 4/5;
  }
}
.features--advantages .features__canvas {
  z-index: 1;
}
@media (max-width: 767.9px) {
  .features--advantages .features__canvas {
    display: none;
  }
}
.features--advantages .features__container {
  position: relative;
  z-index: 2;
}
.features--advantages .features__list {
  align-items: center;
}
@media (max-width: 767.9px) {
  .features--advantages .features__list {
    align-items: stretch;
    height: auto !important;
  }
}
.features--advantages .features__block {
  align-self: center;
  will-change: transform;
  align-items: flex-start;
  justify-content: space-between;
  text-align: left;
  gap: 0.75rem;
  aspect-ratio: 362/224;
  padding: 1.5rem;
  background-color: rgba(17, 17, 17, 0.24);
  border: 1px solid var(--c-white-40);
  border-radius: 0.75rem;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.08);
}
@media (max-width: 767.9px) {
  .features--advantages .features__block {
    min-height: 0;
    gap: 1rem;
    aspect-ratio: unset;
  }
}
.features--advantages .features__value {
  align-items: baseline;
  font-size: 4rem;
  line-height: 1.06;
  letter-spacing: -0.08rem;
  font-weight: 500;
}
@media (max-width: 1023.9px) {
  .features--advantages .features__value {
    font-size: 2.5rem !important;
  }
}
.features--advantages .features__value-sm {
  font-size: 3rem;
}
@media (max-width: 1023.9px) {
  .features--advantages .features__value-sm {
    font-size: 2rem;
  }
}
.features--advantages .features__icon {
  position: relative;
  width: 4.625rem;
  height: 4.625rem;
  color: var(--c-white);
  flex-shrink: 0;
}
.features--advantages .features__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}
.features--advantages .features__icon-label {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--ff-2);
  font-weight: 500;
  font-size: 2rem;
  line-height: 1;
  color: var(--c-white);
  pointer-events: none;
}
.features--advantages .features__desc {
  color: var(--c-white-60);
  font-size: 1rem;
  line-height: 1.4;
}
.features--advantages .features__desc p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.features--advantages .features__desc p:not(:last-child) {
  margin-bottom: 0.75rem;
}

.problems__container {
  display: flex;
  flex-direction: column;
}
.problems__grid {
  display: flex;
  margin: 1.5rem 0 0;
  gap: 1rem;
}
@media (max-width: 767.9px) {
  .problems__grid {
    flex-direction: column;
  }
}
.problems__item {
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  border-radius: 0.75rem;
  background: #1C1C1C center center/cover no-repeat;
  width: 100%;
}
@media (min-width: 768px) {
  .problems__item {
    min-height: 20rem;
  }
}
@media (min-width: 768px) and (max-width: 1023.9px) {
  .problems__item:nth-child(4) {
    display: none;
  }
}
@media (max-width: 767.9px) {
  .problems__item {
    gap: 0.5rem;
    padding: 1.5rem;
  }
}
.problems__item--img {
  padding: 0;
}
@media (max-width: 767.9px) {
  .problems__item--img {
    width: 100%;
    aspect-ratio: 1/1;
    max-height: 23rem;
  }
}
.problems__item--img picture {
  width: 100%;
  height: 100%;
}
.problems__item--img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.75rem;
}
.problems__name {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.2;
}
@media (max-width: 767.9px) {
  .problems__name {
    font-size: 1.25rem;
  }
}
.problems__desc {
  margin-top: 1rem;
  color: var(--c-white-60);
}
.problems__image {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.top {
  margin-top: 6.5rem;
}
.top__container {
  gap: 2.5rem;
}
@media (max-width: 767.9px) {
  .top__container {
    gap: 1.5rem;
  }
}
.top__wrapper {
  overflow: hidden;
}
.top__title {
  font-size: 5.75rem;
  line-height: 1;
}
@media (min-width: 768px) {
  .top__title {
    max-width: 70%;
    margin-left: -0.25rem;
  }
  .page-template-tmp__policy .top__title {
    max-width: unset;
  }
}
@media (max-width: 767.9px) {
  .top__title {
    font-size: 2.5rem;
  }
  .page-template-tmp__policy .top__title {
    font-size: 2rem;
  }
}
.top__desc {
  max-width: 43.75rem;
}

.top-about {
  margin-top: 6.5rem;
}
.top-about__container {
  flex-direction: row;
  gap: 1rem;
}
@media (max-width: 767.9px) {
  .top-about__container {
    flex-direction: column;
    gap: 1.5rem;
  }
}
.top-about__left {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media (max-width: 767.9px) {
  .top-about__left {
    gap: 2rem;
  }
}
.top-about__title {
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.2;
}
@media (min-width: 768px) {
  .page-template-tmp__policy .top-about__title {
    max-width: unset;
  }
}
@media (max-width: 767.9px) {
  .top-about__title {
    font-size: 2.25rem;
  }
  .page-template-tmp__policy .top-about__title {
    font-size: 2rem;
  }
}
.top-about__right {
  flex: 1;
  display: flex;
  align-items: flex-end;
  margin-top: 14rem;
  gap: 1rem;
}
@media (max-width: 767.9px) {
  .top-about__right {
    flex-direction: column-reverse;
    margin-top: 5rem;
  }
}
.top-about__desc {
  margin-bottom: 0;
}
.top-about__desc:not(:last-child) {
  margin-bottom: 0;
}
.top-about__img-wrap {
  width: min(100%, 23rem);
  min-width: 23rem;
  border-radius: 0.75rem;
  overflow: hidden;
}
@media (max-width: 767.9px) {
  .top-about__img-wrap {
    width: 100%;
    min-width: unset;
  }
}
.top-about__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.policy__container {
  display: flex;
  flex-direction: row;
  gap: 7.5rem;
}
.policy__list {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  width: fit-content;
}
@media (max-width: 767.9px) {
  .policy__list {
    gap: 2.5rem;
    width: 100%;
    min-width: 0;
  }
}
.policy__contents {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 25rem;
  padding: 2rem;
  border: 1px solid var(--c-white-40);
  border-radius: 0.75rem;
  height: fit-content !important;
}
@media (max-width: 767.9px) {
  .policy__contents {
    display: none;
  }
}
.policy__contents .jb-subtitle {
  margin-bottom: 1rem;
}
.policy__title {
  margin-bottom: 1.5rem;
}
@media (max-width: 767.9px) {
  .policy__title {
    margin-bottom: 1rem;
  }
}
.policy__txt {
  color: var(--c-text);
  word-break: break-word;
}
.policy__txt strong {
  color: var(--c-white);
  font-size: 1.5rem;
}
@media (max-width: 767.9px) {
  .policy__txt strong {
    margin-bottom: 1.25rem;
  }
}
.policy__txt p {
  margin: 0 0 1rem 0;
}
@media (max-width: 767.9px) {
  .policy__txt p {
    margin-bottom: 0.75rem;
  }
}
.policy__txt ul {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.policy__txt ul li {
  position: relative;
  padding-left: 1.25rem;
}
.policy__txt ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.625rem;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background-color: var(--c-white-40, rgba(255, 255, 255, 0.4));
}
.policy__txt ul.policy-kv {
  background-color: #1C1C1C;
  border-radius: 0.75rem;
  padding: 1.5rem 2rem;
  margin: 0.5rem 0 1.5rem;
  gap: 1rem;
}
@media (max-width: 767.9px) {
  .policy__txt ul.policy-kv {
    padding: 1rem 1.25rem;
    gap: 0.75rem;
  }
}
.policy__txt ul.policy-kv > li {
  padding-left: 0;
}
.policy__txt ul.policy-kv > li::before {
  display: none;
}
.policy__txt ul.policy-kv > li strong {
  display: inline;
  font-size: inherit;
  color: var(--c-white);
  margin-right: 0.375rem;
}
.policy__txt ul.policy-cards {
  background: none;
  padding: 0;
  gap: 1rem;
}
.policy__txt ul.policy-cards > li {
  padding-left: 0;
}
.policy__txt ul.policy-cards > li::before {
  display: none;
}
.policy__txt ul.policy-cards > li > ul.policy-kv {
  margin: 0;
}
.policy__link {
  font-size: 0.875rem;
}
.policy__req {
  display: flex;
  flex-direction: column;
  background-color: #1C1C1C;
  border-radius: 0.75rem;
  padding: 2.5rem;
  gap: 1.5rem;
}
@media (max-width: 767.9px) {
  .policy__req {
    padding: 1.5rem;
    gap: 0.625rem;
  }
}
.policy .req__item {
  display: flex;
  gap: 1rem;
}
@media (max-width: 767.9px) {
  .policy .req__item {
    gap: 0.5rem;
  }
}
.policy .req__item:not(:last-child) {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--c-white-40);
}
@media (max-width: 767.9px) {
  .policy .req__item:not(:last-child) {
    padding-bottom: 0.625rem;
  }
}
.policy .req__title {
  font-family: var(--ff-2);
  font-size: 1.5rem;
  line-height: 100%;
  font-weight: 500;
  color: var(--c-white);
  margin-bottom: 0.5rem;
}
@media (max-width: 767.9px) {
  .policy .req__title {
    font-size: 1.25rem;
  }
}

.contacts {
  margin-top: 5rem;
  display: flex;
  flex-direction: column;
  gap: 7.5rem;
}
@media (max-width: 767.9px) {
  .contacts {
    gap: 3.75rem;
  }
}
.contacts__container {
  display: flex;
  flex-direction: row;
  gap: 1rem;
}
@media (max-width: 767.9px) {
  .contacts__container {
    flex-direction: column;
  }
}
.contacts__wrapper {
  overflow: hidden;
}
.contacts__title {
  font-size: 5.75rem;
  line-height: 1;
}
@media (max-width: 767.9px) {
  .contacts__title {
    font-size: 2.5rem;
  }
}
.contacts__contents {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
}
@media (min-width: 768px) {
  .contacts__contents {
    padding: 3rem;
    background-color: #1C1C1C;
    border-radius: 0.75rem;
    width: 50%;
  }
}
.contacts__quote {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem;
  border: 1px solid var(--c-white-40);
  border-radius: 0.75rem;
}
.contacts__quote img {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 100%;
}
.contacts__quote a {
  color: var(--c-text);
  text-decoration: underline;
}
.contacts__quote a:hover {
  color: var(--c-primary);
}
@media (max-width: 767.9px) {
  .contacts__quote br {
    display: none;
  }
}
.contacts__buttons {
  display: flex;
  gap: 1rem;
}
.contacts__buttons a {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.5rem;
  background-color: #2F2F2F;
  border-radius: 0.75rem;
  width: 100%;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767.9px) {
  .contacts__buttons a {
    padding: 1rem;
  }
}
@media (max-width: 767.9px) {
  .contacts__buttons a span {
    display: none;
  }
}
.contacts__buttons a svg {
  width: 2rem;
  height: 2rem;
}
.contacts__buttons a svg path {
  transition: all 0.3s ease;
}
.contacts__list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.contacts__item {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  background-color: #2F2F2F;
  border-radius: 0.75rem;
  width: 100%;
}
.contacts__item a {
  color: var(--c-text);
}
.contacts__item a:hover {
  color: var(--c-primary);
}
.contacts__item div {
  color: var(--c-text);
}
.contacts picture {
  width: 50%;
}
@media (max-width: 767.9px) {
  .contacts picture {
    width: 100%;
  }
}
.contacts__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.75rem;
}

#modalQuiz {
  --color: #DAF560;
  /*#51b905*/
  --color-lighten: #80fa29;
  --color-lighten10: #FAC012;
  /*#65ea06*/
  --color-lighten2: #acfb74;
  --color-darken: #245502;
  --color-darken10: #f18200;
  /*#3a8603*/
  --color-alpha: #FAC012B0;
  /*rgba(81, 185, 5, 0.5)*/
  --color-alpha2: #FAC01230;
  /*rgba(81, 185, 5, 0.2)*/
  --color-alpha3: rgba(81, 185, 5, 0.05);
  --color-text: #ffffff;
  --color-text2: #51b905;
  --gradient-main: 331deg, rgb(36, 85, 2), rgb(128, 250, 41);
  --color-primary-text-button: #ffffff;
  --color-bg-sidebar: #211c1c;
  --color-bg-1: #353534;
  --color-bg-2: #342d2d;
  --color-bg-3: #E2E2E2;
  --color-bg-4: #6a5c5c;
  --color-bg-5: #867474;
  --color-bg-6: rgba(255, 255, 255, 0.7);
  --color-bg-7: #353534;
  --color-bg-8: #413939;
  --color-bg-9: #ffffff;
  --color-bg-10: #342d2d;
  --color-bg-11: #000000;
  --color-bg-text: #ffffff;
  --color-bg-quiz: transparent;
  --color-bg-alpha0: rgba(24, 21, 21, 0);
  --color-bg-alpha2: rgba(255, 255, 255, 0.2);
  --color-bg-alpha7: rgba(255, 255, 255, 0.7);
  --color-white-label: #ffffff;
  --color-bg-sub-text: #786868;
  z-index: 1;
}

#modalQuiz .button .icon {
  height: 1.5em;
  width: 1.5em;
}

#modalQuiz .button .icon:last-child:not(:first-child) {
  margin-right: calc(-0.375em - 1px);
  margin-left: 0.1875em;
}

#comment.quiz__step [data-name=your-privacy] {
  display: flex;
  width: 100%;
  justify-content: flex-end;
}
@media (max-width: 1199.9px) {
  #comment.quiz__step [data-name=your-privacy] {
    justify-content: flex-start;
  }
}
@media (max-width: 767.9px) {
  #comment.quiz__step [data-name=your-privacy] {
    justify-content: flex-end;
  }
}

#modalQuiz .icon svg {
  background-color: transparent;
  fill: currentColor;
  stroke-width: 0;
  stroke: currentColor;
  pointer-events: none;
  width: 18px;
  height: 18px;
}

.q-button {
  -moz-appearance: none;
  -webkit-appearance: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 1px solid transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 1rem;
  height: 2.5em;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  line-height: 1.5;
  padding-bottom: calc(0.5em - 1px);
  padding-left: calc(0.75em - 1px);
  padding-right: calc(0.75em - 1px);
  padding-top: calc(0.5em - 1px);
  position: relative;
  vertical-align: top;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: pointer;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  font-size: 18px !important;
  padding: 12px 30px;
  height: auto;
  border: none;
  line-height: 1.3rem;
}

.q-button_color_theme {
  color: var(--color-primary-text-button);
  background-color: var(--color) !important;
  -webkit-box-shadow: 0 3px 10px 0 var(--color-alpha);
  box-shadow: 0 3px 10px 0 var(--color-alpha);
  will-change: box-shadow;
  -webkit-transition: -webkit-box-shadow 0.2s ease-in;
  transition: -webkit-box-shadow 0.2s ease-in;
  transition: box-shadow 0.2s ease-in;
  transition: box-shadow 0.2s ease-in, -webkit-box-shadow 0.2s ease-in;
}

.quiz {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  height: 100%;
  background-color: var(--color-bg-quiz, #fff);
  --quiz-question-transition: opacity 0.17s cubic-bezier(0.61, 0.3, 0.8, 0.97), transform 0.17s cubic-bezier(0.61, 0.3, 0.8, 0.97);
  -webkit-backface-visibility: hidden;
}

.quiz__questions {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  /*padding-bottom: 95px;*/
  /*overflow-x: hidden;*/
  background-color: var(--color-bg-quiz, #fff);
}

.quiz__question-title {
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
  line-height: 1.2;
  font-weight: 500;
}

.quiz form {
  display: flex;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .quiz form {
    justify-content: end;
  }
}
@media (max-width: 767.9px) {
  .quiz form span input {
    width: 100%;
  }
}
@media (min-width: 768px) {
  .quiz form > label {
    padding: 1.125rem 1.5rem;
    background-color: #1C1C1C;
    border-radius: 0.5rem;
    margin-left: auto;
  }
}
@media (max-width: 767.9px) {
  .quiz form > label {
    font-weight: 500;
  }
}
@media (max-width: 767.9px) {
  .quiz form .wpcf7-submit {
    width: 100%;
  }
}

.quiz__price {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: end;
}

.thank-page__amount {
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.2;
}

.thank-page__subtitle {
  font-size: max(12px, 0.75rem);
}
@media (min-width: 768px) {
  .thank-page__subtitle {
    margin-bottom: 0.625rem;
  }
}
@media (max-width: 767.9px) {
  .thank-page__subtitle {
    order: -1;
  }
}

#newCalculate {
  display: flex;
  background-color: var(--c-text);
  border-color: var(--c-text);
  margin-top: 1rem;
}
@media (min-width: 768px) {
  #newCalculate {
    margin-top: -3.75rem;
  }
}
@media (max-width: 767.9px) {
  #newCalculate {
    width: 100%;
  }
}
#newCalculate:hover {
  background-color: var(--c-white);
  border-color: var(--c-white);
}

.is-block {
  display: block !important;
}

.quiz__tags {
  margin-top: 5px;
}

.quiz__tag {
  font-size: 11px !important;
  margin-left: 5px;
  padding: 12px;
  border-radius: 4px !important;
  color: var(--color-bg-text, #4a4a4a) !important;
}

.tag:not(body) {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #f5f5f5;
  border-radius: 4px;
  color: #4a4a4a;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 0.75rem;
  height: 2em;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  line-height: 1.5;
  padding-left: 0.75em;
  padding-right: 0.75em;
  white-space: nowrap;
}

.quiz__tag:first-child {
  margin-left: 0;
}

.title .tag {
  vertical-align: middle;
}

.quiz__tag_many,
.quiz__tag_one {
  background: var(--color-alpha2) !important;
  border: solid 1px var(--color);
}

.quiz__tag-icon {
  margin-right: 5px;
  vertical-align: middle;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.tag:not(body) .q-icon:first-child:last-child {
  margin-left: -0.375em;
  margin-right: -0.375em;
}

.quiz__tag-text {
  font-size: 20px;
  font-weight: 300;
  color: #F29222;
  margin: 30px 0;
  text-align: center;
  font-family: "Roboto";
}

.q-icon {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 1.5rem;
  width: 1.5rem;
  width: 1.2rem;
  height: 1.2rem;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: inherit;
}

svg:not(:root) {
  overflow: hidden;
}

.q-button .q-icon {
  height: 1.5em;
  width: 1.5em;
}

.q-icon svg {
  width: 24px;
  height: 24px;
  background-color: transparent;
  fill: currentColor;
  stroke-width: 0;
  stroke: currentColor;
  pointer-events: none;
}

.quiz__tag-icon svg {
  height: 12px;
  color: var(--color);
}

.q-icon .mdi-16px,
.mdi-16px {
  width: 16px;
  height: 16px;
}

.question {
  padding: 2.5rem;
  border: 1px solid var(--c-white-40);
  border-radius: 0.75rem;
}
@media (max-width: 767.9px) {
  .question {
    padding: 1.5rem;
  }
}

.answer-variants {
  overflow: hidden;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  padding: 0 20px;
}

.answer-variants__group {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.answer-variants__variant-text:not(:last-child) {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--c-white-40);
}

.answer-variants__variant-text_selected {
  /*-webkit-box-shadow: 0 1px 3px 0 var(--color-bg-2,rgba(0,0,0,.1));    box-shadow: 0 1px 3px 0 var(--color-bg-2,rgba(0,0,0,.1));    border: solid 1px var(--color-alpha);*/
}

.b-radio.radio input[type=radio] {
  position: absolute;
  left: 0;
  opacity: 0;
  outline: none;
  z-index: -1;
}

.b-radio.radio input[type=radio] + .check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
  cursor: pointer;
  width: 1.25em;
  height: 1.25em;
  -webkit-transition: background 0.15s ease-out;
  transition: background 0.15s ease-out;
  border-radius: 50%;
  border: 2px solid #7a7a7a;
}

.b-radio.radio input[type=radio]:checked + .check {
  /*-webkit-box-shadow: 0 2px 6px 0 var(--color-alpha)!important;    box-shadow: 0 2px 6px 0 var(--color-alpha)!important;*/
  border: 2px solid var(--color);
  background: var(--color-bg-2, #fff);
}

.b-radio.radio input[type=radio] + .check:before {
  content: "";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  left: 50%;
  margin-left: -0.625em;
  bottom: 50%;
  margin-bottom: -0.625em;
  width: 1.25em;
  height: 1.25em;
  -webkit-transition: -webkit-transform 0.15s ease-out;
  transition: -webkit-transform 0.15s ease-out;
  transition: transform 0.15s ease-out;
  transition: transform 0.15s ease-out, -webkit-transform 0.15s ease-out;
  border-radius: 50%;
  -webkit-transform: scale(0);
  transform: scale(0);
  background-color: #7957d5;
}

.b-radio.radio input[type=radio]:checked + .check:before {
  -webkit-transform: scale(0.5);
  transform: scale(0.5);
}

.b-radio.radio input[type=radio]:checked + .check:before {
  background: var(--color);
  background-size: 21px;
}

.b-checkbox.checkbox input[type=checkbox]:checked + .check {
  width: 1.25em;
  height: 1.25em;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 4px;
  border: 2px solid #7a7a7a;
  border: none;
  -webkit-transition: background 0.15s ease-out;
  transition: background 0.15s ease-out;
  background: transparent;
  background: #7957d5 url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath d='M.04.627L.146.52.43.804.323.91zm.177.177L.854.167.96.273.323.91z' fill='var(--color-bg-2)'/%3E%3C/svg%3E") no-repeat 50%;
  background-color: var(--color);
  background-size: 1.2rem;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.radio,
.checkbox {
  position: relative;
  margin-top: 0px;
  margin-bottom: 0px;
  cursor: pointer;
  display: inline-block;
  line-height: 1.25;
  position: relative;
  user-select: none;
}

.answer-variants__variant-text label {
  width: 100%;
  display: flex;
  gap: 1rem;
}

.b-checkbox.checkbox {
  outline: none;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1.5;
  z-index: 10;
}

.b-checkbox.checkbox:not(.q-button) {
  margin-right: 0;
  margin-top: 0;
}

.b-checkbox.checkbox input[type=checkbox] {
  position: absolute;
  left: 0;
  opacity: 0;
  outline: none;
  z-index: -1;
}

.answer-variants .check {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 1.25rem;
  /* flex: 0 0 1.25rem; */
}

.b-checkbox.checkbox input[type=checkbox] + .check {
  width: 1.25em;
  height: 1.25em;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 4px;
  border: 2px solid #7a7a7a;
  -webkit-transition: background 0.15s ease-out;
  transition: background 0.15s ease-out;
  background: transparent;
}

.b-checkbox.checkbox input[type=checkbox] + .check {
  border: none;
  background-color: var(--color-bg-2, #e8e8e8);
}

#app .control-label {
  color: var(--color-bg-text, #4a4a4a);
}

.answer__title {
  word-break: break-word;
  font-weight: 500;
}

.answer__desc {
  margin-top: 0.5rem;
}

.quiz__whitelabel {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin-top: auto;
  height: 90px;
}

.quiz__navbar {
  padding: 0;
  background-color: var(--color-bg-quiz, #fff);
  z-index: 20;
}

.discount-badge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  white-space: nowrap;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
}

.quiz-navbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  padding: 0;
  overflow: hidden;
  z-index: 10;
}

.quiz-navbar__progress {
  z-index: 100;
  -webkit-box-flex: 2;
  -ms-flex-positive: 2;
  flex-grow: 2;
  margin-right: 60px;
  margin-left: 40px;
  min-width: 0;
}

.progress-bar-quiz {
  float: left;
  width: 100%;
  height: 100%;
  font-size: 12px;
  line-height: 20px;
  color: #ffffff;
  text-align: center;
  background-color: #fac012;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease;
  text-align: left;
  font-weight: 500;
  color: var(--color-bg-alpha7, #2e2e49);
  background-color: var(--color-bg-quiz, #dbdbdb);
  width: auto;
  float: none;
}

.quiz-navbar__progress > * {
  vertical-align: middle;
}

.progress-bar-linear {
  margin-bottom: 35px;
}

.progress-bar-linear__label {
  font-size: 24px;
  text-align: center;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 20px;
  height: 18px;
  position: relative;
}

.progress-bar-linear__field {
  height: 6px;
  position: relative;
  background: var(--color-bg-8, #dbdbdb) !important;
  border-radius: 4px;
}

.progress-bar-linear__label span {
  font-size: 24px;
  color: var(--color);
  font-weight: 500;
  /*margin-left: 10px;*/
}

.progress-bar-linear__field span {
  display: block;
  height: 100%;
  border-radius: 4px;
  background-image: -webkit-gradient(linear, left top, right top, from(var(--color-darken10)), to(var(--color-lighten10)));
  background-image: linear-gradient(90deg, var(--color-darken10), var(--color-lighten10));
  /*-webkit-box-shadow: inset 0 2px 9px hsla(0,0%,100%,.3),inset 0 -2px 6px rgba(0,0,0,.4),0.6px 1.9px 7px 0 var(--color-alpha);    box-shadow: inset 0 2px 9px hsla(0,0%,100%,.3),inset 0 -2px 6px rgba(0,0,0,.4),0.6px 1.9px 7px 0 var(--color-alpha);*/
  position: relative;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.progress-bar-linear__field span:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: #DAF560;
  z-index: 1;
  background-size: 20px 20px;
  -webkit-animation: move 1.5s linear infinite;
  animation: move 1.5s linear infinite;
  border-radius: 4px;
  overflow: hidden;
}

.quiz-navbar__button {
  font-size: 16px !important;
  height: 43px;
  z-index: 100;
  /*padding: 0 16px 0 22px;*/
  font-weight: 300;
  overflow: hidden;
}

.quiz-navbar__button_prev {
  background-color: var(--c-text);
  border-color: var(--c-text);
}
.quiz-navbar__button_prev:hover {
  background-color: var(--c-white);
  border-color: var(--c-white);
}

.q-button.is-link[disabled] {
  box-shadow: none;
}

.quiz-navbar__button_next[disabled],
.quiz-navbar__button_next[disabled]:focus,
.quiz-navbar__button_next[disabled]:hover {
  /*-webkit-box-shadow: 0 3px 10px 0 var(--color-alpha)!important;    box-shadow: 0 3px 10px 0 var(--color-alpha)!important;*/
}

.quiz-navbar__button[disabled] {
  opacity: 0.7;
}

.q-button.is-blicked,
.discount-badge .is-blicked {
  overflow-x: hidden;
}

.q-button.is-blicked:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  height: 100%;
  /*background: -webkit-gradient(linear,left top,right top,color-stop(10%,hsla(0,0%,100%,.1)),color-stop(20%,hsla(0,0%,100%,.2)),to(hsla(0,0%,100%,.6)));    background: linear-gradient(90deg,hsla(0,0%,100%,.1) 10%,hsla(0,0%,100%,.2) 20%,hsla(0,0%,100%,.6));*/
  width: 20px;
  -webkit-transform: skewX(-45deg);
  transform: skewX(-45deg);
  left: -20%;
  -webkit-transition: all 0.6s ease;
  transition: all 0.6s ease;
  -webkit-animation-name: blick;
  animation-name: blick;
  -webkit-animation-duration: 6s;
  animation-duration: 6s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.quiz-navbar__button.is-blicked:after,
.discount-badge__value.is-blicked:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  height: 100%;
  /*background: -webkit-gradient(linear,left top,right top,color-stop(10%,hsla(0,0%,100%,.1)),color-stop(20%,hsla(0,0%,100%,.2)),to(hsla(0,0%,100%,.6)));    background: linear-gradient(90deg,hsla(0,0%,100%,.1) 10%,hsla(0,0%,100%,.2) 20%,hsla(0,0%,100%,.6));*/
  width: 20px;
  -webkit-transform: skewX(-45deg);
  transform: skewX(-45deg);
  left: -20%;
  -webkit-transition: all 0.6s ease;
  transition: all 0.6s ease;
  -webkit-animation-name: blick;
  animation-name: blick;
  -webkit-animation-duration: 6s;
  animation-duration: 6s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.final-page_vertical {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  background: var(--color-bg-quiz, #fff);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.final-page_vertical .final-page__container {
  min-width: 90%;
  padding-bottom: 40px;
}

.final-page_vertical .final-page__body {
  max-width: 630px;
  margin: auto;
  padding: 1.5rem 1rem 1.6rem;
  -ms-flex-item-align: center;
  align-self: center;
  position: relative;
}

.final-page__header {
  line-height: 1.2;
  font-weight: 500;
  color: var(--color-bg-text, #2e2e54);
}

.final-page_vertical .final-page__header {
  margin-bottom: 1.2rem !important;
  font-size: 28px !important;
  color: var(--color-bg-text, #2e2e54);
}

.final-page__content {
  font-size: 16px !important;
  font-weight: 500;
  font-style: normal;
  font-stretch: normal;
  letter-spacing: normal;
  color: var(--color-bg-6, var(--grey-blue));
  line-height: 1.5;
}

.final-page_vertical .final-page__content {
  text-align: center;
  color: var(--color-bg-6, var(--grey-blue));
}

p {
  margin-bottom: 0.5rem;
}

p:last-child {
  margin-bottom: 0;
}

.final-page_vertical .final-page__lead-form {
  position: relative;
  padding: 29px 35px 19px;
  -webkit-box-shadow: 0 9px 40px 0 var(--color-bg-2, rgba(0, 0, 0, 0.11));
  box-shadow: 0 9px 40px 0 var(--color-bg-2, rgba(0, 0, 0, 0.11));
  border: solid 1.2px var(--color-bg-2, #e8e8e8);
  background-color: var(--color-bg-quiz, #fff);
  max-width: 500px;
  width: 100%;
  margin: auto;
}

.discount-badge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  white-space: nowrap;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
}

.final-page_vertical .final-page__discount {
  margin-bottom: 1.5rem;
}

.lead-form__fields {
  margin-bottom: 10px;
}

.step-fields {
  --step-field-input-height: 60px;
}

.is-large.input,
.is-large.textarea,
.taginput .is-large.taginput-container.is-focusable {
  font-size: 2.2rem;
}

.lead-form__fields .field {
  display: block;
}

.step-fields .field .label {
  text-transform: uppercase;
  padding-left: 3px;
  font-size: 12px;
  font-weight: 700;
  font-style: normal;
  font-stretch: normal;
  line-height: normal;
  letter-spacing: 1.2px;
  text-align: left;
  color: var(--color-bg-alpha7, #2e2e54);
}

.vue-phone-number-input {
  font-family: Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.vue-phone-number-input .flex-1 {
  -webkit-box-flex: 1;
  -moz-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.q-button .q-icon:first-child:not(:last-child) {
  margin-left: calc(-0.375em - 1px);
  margin-right: 0.1875em;
}

.lead-form__agreement {
  margin-top: 20px;
  line-height: 1.25;
  font-size: 12px;
  text-align: left;
}

.lead-form__agreement .control-label {
  color: var(--color-bg-text, #aca7c7) !important;
}

.quiz__tag.quiz__tag_many {
  display: none;
}

.question_variants .quiz__step {
  display: none;
}

.question_variants[data-step="0"] .quiz-navbar__button_prev {
  display: none;
}

.question_variants[data-step="0"] .quiz__step.step-0 {
  display: block;
}

.question_variants[data-step="1"] .quiz__step.step-1 {
  display: block;
}

.question_variants[data-step="2"] .quiz__step.step-2 {
  display: block;
}

.question_variants[data-step="3"] .quiz__step.step-3 {
  display: block;
}

.question_variants[data-step="4"] .quiz__step.step-4 {
  display: block;
}

/*#modalQuiz .discount-badge {  display: none!important;}*/
.discount-badge {
  padding: 2px 4px;
  background-color: #111;
}

.discount-badge__value {
  margin-left: 8px;
}

button.close {
  position: absolute;
  right: 0;
  top: 32px;
  padding: 5px;
  margin-top: -1em;
  font-size: xx-large;
  color: #fff;
  z-index: 9;
  background: var(--color-bg-quiz);
  border: 0;
  padding: 0;
  line-height: 1;
  width: 32px;
}

button.close:hover {
  background-color: var(--color-bg-quiz);
  border: none;
  color: #fff;
  opacity: 1;
  text-shadow: none;
}

@media (min-width: 818px) {
  .quiz__questions .final-page__discount_without-bonuses {
    position: absolute;
    top: -10px;
    left: 30px;
    z-index: 11;
  }
}
@media (max-width: 1200px) {
  button.close {
    z-index: 9;
    position: absolute;
    top: 60px;
    right: 20px;
  }
}
.answer-variants__group {
  overflow: hidden !important;
}

@media (min-width: 1201px) {
  .quiz .final-page,
  .quiz .results,
  .quiz__lead-form .final-page,
  .quiz__lead-form .results,
  .quiz__result .final-page,
  .quiz__result .results,
  .quiz__results .final-page,
  .quiz__results .results {
    min-height: 560px;
  }
  .quiz,
  .quiz__lead-form,
  .quiz__result,
  .quiz__results {
    margin: 0 auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
    /*-webkit-box-shadow: 0 7px 15px 0 rgb(0 0 0 / 15%);        box-shadow: 0 7px 15px 0 rgb(0 0 0 / 15%);*/
    overflow-x: hidden;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.quiz-navbar {
  padding-top: 2.5rem;
  width: 100%;
}
@media (max-width: 767.9px) {
  .quiz-navbar {
    padding-top: 1.5rem;
  }
}

@media (min-width: 818px) {
  .quiz__questions .final-page__discount_without-bonuses {
    position: absolute;
    top: -10px;
    left: 30px;
    z-index: 11;
  }
  .final-page_vertical .final-page__discount_without-bonuses {
    position: absolute;
    top: -10px;
    right: 47px;
  }
}
@media print, screen and (min-width: 769px) {
  .field-label {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 1.5rem;
    text-align: right;
  }
}
@media (min-width: 768px) {
  .quiz {
    overflow-x: hidden;
  }
  .question {
    /*overflow-y: auto;*/
  }
}
@media (max-width: 767px) {
  .answer-variants__variant-text {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
  }
}
@media (min-width: 1201px) {
  .quiz,
  .quiz__lead-form,
  .quiz__result,
  .quiz__results {
    margin: 0 auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
    /*-webkit-box-shadow: 0 7px 15px 0 rgb(0 0 0 / 15%);        box-shadow: 0 7px 15px 0 rgb(0 0 0 / 15%);*/
    overflow-x: hidden;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.quiz-navbar__button_next-text {
  font-size: 13px;
  text-transform: uppercase;
  margin-right: 10px;
}

.wpcf7-textarea {
  min-height: 110px;
}

#wc7submitstyle {
  background: #F29222 !important;
}

@media (min-width: 880px) {
  .text-md-center {
    text-align: center !important;
  }
}
@media (max-width: 768px) {
  .quiz__question-title .h1 {
    font-size: 20px;
  }
  .quiz__whitelabel {
    height: 0;
  }
  .thank-page__amount {
    display: block;
  }
  .quiz__thanks {
    border: 2px solid var(--color-bg-7, #e6e6e6);
  }
  .quiz__tag-text {
    font-size: 16px;
    margin: 15px 0;
  }
  .answer__title {
    font-size: 18px;
  }
  .quiz_sidebar_on {
    padding: 0;
  }
  .answer-variants {
    padding: 0;
  }
  .answer-variants__variant-text label {
    padding: 0;
  }
  .quiz-navbar__buttons {
    order: 1;
    width: 50%;
  }
  .quiz-navbar__progress {
    order: 2;
  }
  .quiz-navbar {
    flex-wrap: wrap;
  }
  .quiz-navbar__button_next {
    margin-top: 15px;
    float: right;
  }
  .quiz-navbar__button_prev {
    margin-top: 15px;
  }
  .quiz-navbar__progress {
    margin: 15px 0 0 0;
  }
  #secondheaderForm {
    font-size: 20px !important;
    padding: 12px 0 !important;
  }
  .quiz__question-title_without-title {
    padding-bottom: 0px !important;
    padding-top: 0 !important;
    justify-content: center;
  }
  .thank-page__title {
    font-size: 20px !important;
  }
  .tnx-page {
    padding-top: 120px !important;
  }
  .quiz__questions {
    margin: 0;
  }
  .new-button-label {
    margin-left: 15px;
  }
}
@media (max-width: 546px) {
  .wpcf7-form p.button.style-1.mode-2 {
    width: 100%;
    text-align: center;
  }
  #secondheaderForm {
    max-width: 210px;
    margin: 0 auto;
  }
}
@-webkit-keyframes fade-hide-button {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 0;
  }
  to {
    opacity: 0.53;
  }
}
@keyframes fade-hide-button {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 0;
  }
  to {
    opacity: 0.53;
  }
}
@-webkit-keyframes blick {
  15%, to {
    left: 110%;
  }
}
@keyframes blick {
  15%, to {
    left: 110%;
  }
}
@-webkit-keyframes fade {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fade {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes move {
  0% {
    background-position: 0 0;
  }
  to {
    background-position: 20px 20px;
  }
}
@keyframes move {
  0% {
    background-position: 0 0;
  }
  to {
    background-position: 20px 20px;
  }
}
.about__container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  row-gap: 1.5rem;
  column-gap: 1rem;
}
@media (max-width: 767.9px) {
  .about__container {
    grid-template: repeat(2, auto)/auto;
    row-gap: 1rem;
  }
}
.about__container p {
  margin-bottom: 0;
}
.about__container .about__text-3 {
  margin-bottom: 1.375rem;
}
.about__img-wrap-1 {
  grid-column: 1/span 2;
}
@media (max-width: 767.9px) {
  .about__img-wrap-1 {
    height: 15rem;
  }
}
.about__img-wrap-2 {
  grid-row: 2;
  grid-column: 3;
  margin-top: 5.875rem;
}
@media (max-width: 767.9px) {
  .about__img-wrap-2 {
    margin-top: 1rem;
    grid-column: 1;
    grid-row: 4;
  }
}
.about__img-wrap-3 {
  grid-row: 2;
  grid-column: 4;
  margin-top: 5.875rem;
}
@media (max-width: 767.9px) {
  .about__img-wrap-3 {
    margin-top: 1rem;
    grid-column: 2;
    grid-row: 4;
  }
}
.about__img-wrap-4 {
  grid-column: 1/span 2;
  grid-row: 4;
  margin-top: 5.875rem;
}
@media (max-width: 767.9px) {
  .about__img-wrap-4 {
    grid-row: 6;
    margin-top: 4rem;
    height: 15rem;
  }
}
.about__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.75rem;
}
.about__text {
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 0;
}
.about__text-1 {
  align-self: end;
}
@media (max-width: 767.9px) {
  .about__text-1 {
    grid-column: 1/span 2;
    grid-row: 2;
  }
}
.about__text-2 {
  grid-row: 3;
  grid-column: 3;
}
@media (max-width: 767.9px) {
  .about__text-2 {
    grid-column: 1/span 2;
    grid-row: 5;
  }
}
.about__text-3 {
  grid-row: 4;
  grid-column: 3;
  align-self: end;
}
@media (max-width: 767.9px) {
  .about__text-3 {
    grid-column: 1/span 2;
    grid-row: 7;
  }
}
.about__title {
  grid-row: 2;
  grid-column: 1/span 2;
  font-size: 3rem;
  color: #fff;
  font-weight: 500;
  line-height: 1.2;
  margin-top: 5.875rem;
}
@media (max-width: 767.9px) {
  .about__title {
    margin-top: 4rem;
    font-size: 1.75rem;
    grid-row: 3;
  }
}

.team__container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 767.9px) {
  .team__container {
    gap: 1rem;
  }
}
.team__header {
  display: flex;
  gap: 0 1rem;
}
.team__tabs {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.team__tabs span {
  font-weight: 500;
  line-height: 1;
  padding: 0.5rem 0.75rem;
  background-color: #1C1C1C;
  border-radius: 6.25rem;
  cursor: pointer;
  transition: color 0.3s ease;
}
.team__tabs span:hover, .team__tabs span.active {
  color: #FB4F08;
}
.team__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1rem;
  margin-top: 0.5rem;
}
@media (max-width: 767.9px) {
  .team__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.team__item {
  display: flex;
  background-color: var(--c-black-20);
  border-radius: 0.75rem;
  padding: 2rem 1rem;
  align-items: end;
  justify-content: start;
  position: relative;
  width: 100%;
  aspect-ratio: 2/3;
  overflow: hidden;
}
@media (max-width: 767.9px) {
  .team__item {
    padding: 1rem;
  }
  .team__item:nth-child(n+7) {
    display: none;
  }
}
.team__item:last-child {
  align-items: center;
  justify-content: center;
  border: 2px dashed #DAF560;
  text-align: center;
  padding: 0 3.75rem;
  color: #DAF560;
  /*border-width: 1px;
  border-style: solid;
  border-image: linear-gradient(to right, $c_primary 30%, rgba(255, 255, 255, 0) 0%) 5;
  border: 1px solid #DAF560*/
}
.team__item:last-child:hover {
  color: #ffffff;
  border-color: #ffffff;
}
.team__item:not(:last-child):after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(251, 79, 8, 0) 50.4%, rgba(251, 79, 8, 0.7) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.team__item:hover:after, .team__item.active:after {
  opacity: 1;
}
.team__content {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  z-index: 10;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.team__item:hover .team__content, .team__item.active .team__content {
  opacity: 1;
}
.team__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  object-fit: cover;
  filter: grayscale(100%);
  transform: scale(1.02);
  transition: all 0.3s ease;
}
.team__item:hover .team__img, .team__item.active .team__img {
  opacity: 1;
  filter: grayscale(0%);
  transform: scale(1.05);
}
.team__name {
  font-weight: 500;
  line-height: 1.2;
  font-size: 1.5rem;
}
.team__btn {
  margin-top: 1rem;
}
@media (min-width: 768px) {
  .team__btn {
    display: none;
  }
}

.team-roles__container {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media (max-width: 767.9px) {
  .team-roles__container {
    gap: 1.5rem;
  }
}
.team-roles__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}
.team-roles__subtitle {
  margin-bottom: 0;
}
.team-roles__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1rem;
  row-gap: 0;
}
@media (max-width: 767.9px) {
  .team-roles__grid {
    grid-template-columns: 1fr;
  }
}
.team-roles__item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--c-white-40);
}
.team-roles__item:nth-child(-n+2) {
  border-top: 1px solid var(--c-white-40);
}
@media (max-width: 767.9px) {
  .team-roles__item {
    padding: 1.25rem 0;
  }
  .team-roles__item:nth-child(2) {
    border-top: none;
  }
}
.team-roles__image {
  width: 5.5rem;
  height: 5.5rem;
  flex-shrink: 0;
  border-radius: 0.75rem;
  background-color: #2F2F2F;
  overflow: hidden;
}
.team-roles__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
  display: block;
}
@media (max-width: 767.9px) {
  .team-roles__image {
    width: 4rem;
    height: 4rem;
  }
}
.team-roles__content {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  flex: 1 1 0;
  min-width: 0;
}
@media (max-width: 767.9px) {
  .team-roles__content {
    flex-direction: column;
    gap: 0.5rem;
  }
}
.team-roles__name {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.2;
}
@media (max-width: 767.9px) {
  .team-roles__name {
    font-size: 1.25rem;
  }
}
.team-roles__desc {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  line-height: 1.4;
  color: var(--c-white-60);
}
.team-roles__desc p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.team-roles__desc p:not(:last-child) {
  margin-bottom: 0.75rem;
}
.team-roles__desc a {
  color: var(--c-primary);
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.team-roles__desc a:hover {
  color: var(--c-white);
}

.support__container {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  padding: 0 2.5rem;
}
@media (max-width: 767.9px) {
  .support__container {
    gap: 1.5rem;
    padding: 0;
  }
}
.support__header {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  max-width: 44.5rem;
}
@media (max-width: 767.9px) {
  .support__header {
    gap: 1rem;
  }
}
.support__title {
  font-size: 3rem;
  line-height: 1.2;
}
@media (max-width: 1023.9px) {
  .support__title {
    font-size: 1.75rem;
  }
}
.support__lead {
  margin: 0;
  color: var(--c-white-60);
}
.support__lead p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.support__lead p:not(:last-child) {
  margin-bottom: 0.75rem;
}
.support__lead a {
  color: var(--c-primary);
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.support__lead a:hover {
  color: var(--c-white);
}
.support__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
@media (max-width: 767.9px) {
  .support__grid {
    grid-template-columns: 1fr;
  }
}
.support__col {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--c-white-40);
}
.support__name {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.2;
}
@media (max-width: 767.9px) {
  .support__name {
    font-size: 1.25rem;
  }
}
.support__desc {
  margin: 0;
  color: var(--c-white-60);
}
.support__desc p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.support__desc p:not(:last-child) {
  margin-bottom: 0.75rem;
}
.support__desc a {
  color: var(--c-primary);
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.support__desc a:hover {
  color: var(--c-white);
}

.project-hero__container {
  gap: 2.5rem;
  margin-top: 6rem;
}
@media (max-width: 767.9px) {
  .project-hero__container {
    margin-top: 5rem;
  }
}
.project-hero__banner {
  width: 100%;
  height: 33.875rem;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  background: var(--src) center center/cover no-repeat;
  border-radius: 0.75rem;
  padding: 1.5rem;
  position: relative;
}
@media (max-width: 767.9px) {
  .project-hero__banner {
    height: 20.5rem;
  }
}
.project-hero__banner h1 {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1;
}
@media (max-width: 767.9px) {
  .project-hero__banner h1 {
    font-size: 1rem;
  }
}
.project-hero__banner picture {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.project-hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  border-radius: 0.75rem;
}
.project-hero__wrapper {
  position: relative;
  z-index: 1;
  max-width: 34.375rem;
}
@media (max-width: 767.9px) {
  .project-hero__wrapper {
    max-width: 20rem;
  }
}
.project-hero__content {
  display: flex;
  align-items: start;
  gap: 1.5rem;
  justify-content: space-between;
}
@media (max-width: 767.9px) {
  .project-hero__content {
    flex-direction: column;
  }
}
.project-hero__desc {
  color: #ffffff;
  max-width: 71rem;
  margin-bottom: 0;
}
.project-hero__link {
  font-weight: 500;
  font-size: 1.5rem;
  color: #DAF560;
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
@media (max-width: 767.9px) {
  .project-hero__link {
    font-size: 1.25rem;
  }
}
.project-hero__link:hover {
  color: #ffffff;
}
.project-hero__link:after {
  content: "";
  width: 1rem;
  height: 1rem;
  background: url(images/arrow-corner.svg) center center/contain no-repeat;
}
@media (max-width: 767.9px) {
  .project-hero__link:after {
    width: 0.75rem;
    height: 0.75rem;
  }
}
.project__container {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (max-width: 767.9px) {
  .project__container {
    gap: 1rem;
  }
}
.project__desc {
  color: #ffffff;
  max-width: 47rem;
}
.project__desc p {
  color: #ffffff;
}
.project__desc a {
  color: #DAF560;
  position: relative;
}
.project__desc a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0.0625rem;
  background-color: #DAF560;
  transition: width 0.3s ease;
}
.project__desc a:hover {
  text-decoration: none;
}
.project__desc a:hover:after {
  width: 100%;
}
.project__video {
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  border-radius: 0.75rem;
}
@media (min-width: 768px) {
  .project__video.full {
    grid-column: span 2;
  }
}
.project__video video {
  width: 100%;
  height: auto;
  border-radius: 0.75rem;
}
.project__video--frame {
  padding: 9.6875rem;
  background-color: #54595F;
}
@media (max-width: 767.9px) {
  .project__video--frame {
    padding: 2rem;
  }
}
.project__video--frame video {
  max-height: 28.25rem;
  height: 100%;
  width: auto;
}
@media (max-width: 767.9px) {
  .project__video--frame video {
    max-height: 6.0625rem;
  }
}
.project__play {
  position: absolute;
  top: calc(50% - 1.75rem);
  left: calc(50% - 1.75rem);
  border-radius: 50%;
  cursor: pointer;
  z-index: 2;
  display: block;
  transition: transform 0.3s ease;
  border: 0;
}
.project__play svg {
  width: 3.5rem;
  height: 3.5rem;
}
.project__play:hover {
  transform: scale(1.1);
}
.project__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: rgba(28, 28, 28, 0.5019607843);
}
.project__gallery {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
@media (max-width: 767.9px) {
  .project__gallery {
    grid-template-columns: 1fr;
  }
  .project__gallery--cols-4 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 768px) {
  .project__gallery .full {
    grid-column: span 2;
  }
  .project__gallery--full > * {
    grid-column: span 2;
  }
  .project__gallery--cols-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
.project__gallery picture {
  width: 100%;
}
.project__gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.75rem;
}
.project__gallery .gallery-video {
  width: 100%;
  border-radius: 0.75rem;
}
.project__gallery .gallery-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1.5rem;
}
.project__gallery .gallery-video.full {
  padding: 7.5rem 12rem;
  background-color: var(--case-bg-color);
}
@media (max-width: 767.9px) {
  .project__gallery .gallery-video.full {
    padding: 1.5625rem 2.5rem;
  }
}
.project__gallery .gallery-video.full video {
  height: auto;
}
.project__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.project__tags span {
  font-weight: 500;
  line-height: 1;
  padding: 0.5rem 0.75rem;
  background-color: #1C1C1C;
  border-radius: 6.25rem;
}

.icongrid {
  display: flex;
  flex-direction: column;
}
.icongrid__container {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.icongrid__header {
  display: flex;
  gap: 0 1rem;
}
.icongrid__header .jb-btn {
  margin-left: auto;
}
@media (max-width: 767.9px) {
  .icongrid__header .jb-btn {
    display: none;
  }
}
.icongrid__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
@media (max-width: 767.9px) {
  .icongrid__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
}
.icongrid__item {
  display: flex;
  align-items: center;
  background-color: #F1F1F1;
  border-radius: 0.75rem;
  height: 7.5rem;
  justify-content: center;
  padding: 0.5rem 0.75rem;
}
.icongrid__item--wide {
  grid-column: span 2;
}
@media (max-width: 767.9px) {
  .icongrid__item {
    height: 3.5rem;
  }
}
.icongrid__item svg {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: clamp(1.5625rem, 4vw, 3.125rem);
}

.iconlist {
  display: flex;
  flex-direction: column;
}
.iconlist__container {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.iconlist__desc {
  max-width: 47.5rem;
  color: var(--c-text);
  font-size: var(--fz-p);
  margin-bottom: 0.875rem;
}
.iconlist__desc p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.iconlist__desc p:not(:last-child) {
  margin-bottom: 0.75rem;
}
.iconlist__desc a {
  color: var(--c-primary);
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.iconlist__desc a:hover {
  color: var(--c-white);
}
.iconlist__list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 0.5rem;
}
@media (max-width: 767.9px) {
  .iconlist__list {
    grid-template-columns: 1fr;
  }
}
.iconlist__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.5rem;
  padding: 1.5rem;
  border-radius: 0.75rem;
  background-color: #1C1C1C;
  align-items: start;
}
@media (max-width: 767.9px) {
  .iconlist__item {
    gap: 1rem;
  }
}
.iconlist__icon {
  border-radius: 0.75rem;
  padding: 1.25rem;
  background-color: #2F2F2F;
  width: fit-content;
  transition: background-color 0.3s ease;
  display: flex;
  height: fit-content;
}
.iconlist__icon svg {
  width: 2rem;
  height: 2rem;
}
.iconlist__icon svg path {
  transition: stroke 0.3s ease;
}
@media (max-width: 767.9px) {
  .iconlist__icon {
    padding: 0.75rem;
    border-radius: 0.5rem;
  }
}
.iconlist__item:hover .iconlist__icon {
  background-color: #DAF560;
}
.iconlist__item:hover .iconlist__icon svg path {
  stroke: #000000;
}
.iconlist__name {
  font-weight: 500;
  line-height: 1.2;
  font-size: 1.5rem;
}
@media (max-width: 767.9px) {
  .iconlist__name {
    font-size: 1rem;
  }
}
.iconlist__text {
  margin-top: 0.5rem;
  color: var(--c-white-60);
}
.iconlist__text p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.iconlist__text p:not(:last-child) {
  margin-bottom: 0.75rem;
}
.iconlist__text a {
  color: var(--c-primary);
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.iconlist__text a:hover {
  color: var(--c-white);
}
.iconlist__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.75rem;
}
.iconlist__contents {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
@media (max-width: 767.9px) {
  .iconlist__contents {
    grid-template-columns: 1fr;
  }
}

.iconlist--numbered .iconlist__icon {
  font-family: var(--ff-2);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  color: var(--c-primary);
  min-width: 4rem;
  justify-content: center;
  align-items: center;
}
.iconlist--numbered .iconlist__item:hover .iconlist__icon {
  color: #000000;
}
@media (max-width: 767.9px) {
  .iconlist--numbered .iconlist__icon {
    min-width: 3rem;
  }
}

.iconlist--nomedia .iconlist__contents {
  grid-template-columns: minmax(0, 1fr);
}

.numberlist {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.numberlist__container {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.numberlist__desc {
  max-width: 47.5rem;
  color: var(--c-text);
  font-size: var(--fz-p);
  margin-bottom: 0.875rem;
}
@media (max-width: 767.9px) {
  .numberlist__desc {
    margin-bottom: 0 !important;
  }
}
.numberlist__desc p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.numberlist__desc p:not(:last-child) {
  margin-bottom: 0.75rem;
}
.numberlist__desc a {
  color: var(--c-primary);
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.numberlist__desc a:hover {
  color: var(--c-white);
}
.numberlist__swiper {
  width: 100%;
  overflow: visible;
  cursor: grab;
}
@media (max-width: 767.9px) {
  .numberlist__swiper {
    cursor: grab;
  }
}
@media (min-width: 768px) {
  .numberlist__swiper .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    transform: none !important;
    width: 100% !important;
  }
}
@media (min-width: 768px) {
  .numberlist__swiper .swiper-slide {
    width: 100% !important;
    margin: 0 !important;
  }
}
@media (max-width: 767.9px) {
  .numberlist__swiper .swiper-slide {
    height: auto;
  }
}
@media (min-width: 768px) {
  .numberlist__swiper.swiper-horizontal > .swiper-pagination-bullets, .numberlist__swiper > .swiper-pagination-bullets.swiper-pagination-horizontal {
    display: none;
  }
}
.numberlist__pagination {
  bottom: 0 !important;
  top: auto !important;
}
.numberlist__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.5rem;
  padding: 1.5rem;
  border-radius: 0.75rem;
  background-color: #1C1C1C;
  align-items: center;
}
@media (max-width: 767.9px) {
  .numberlist__item {
    grid-template-columns: 1fr;
    width: 17.5rem;
  }
}
.numberlist__index {
  border-radius: 0.75rem;
  background-color: #2F2F2F;
  transition: background-color 0.3s ease, color 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.75rem;
  height: 3.75rem;
  color: var(--c-primary);
}
@media (max-width: 767.9px) {
  .numberlist__index {
    border-radius: 0.5rem;
    width: 3.5rem;
    height: 3.5rem;
  }
}
.numberlist__item:hover .numberlist__index {
  background-color: #DAF560;
  color: #000000;
}
.numberlist__name {
  font-weight: 500;
  line-height: 1.2;
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
}
@media (max-width: 767.9px) {
  .numberlist__name {
    font-size: 1.25rem;
  }
}
.numberlist__text {
  margin-top: 0.625rem;
  color: var(--c-white-60);
}
.numberlist__text p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.numberlist__text p:not(:last-child) {
  margin-bottom: 0.75rem;
}
.numberlist__text a {
  color: var(--c-primary);
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.numberlist__text a:hover {
  color: var(--c-white);
}
.numberlist__btn {
  margin-top: 1rem;
}
@media (max-width: 767.9px) {
  .numberlist__btn {
    margin-top: 0;
  }
}
.numberlist--rkn .jb-section__header {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
}
.numberlist--rkn .jb-section__header .jb-title {
  font-size: 3rem;
  line-height: 1.2;
  font-weight: 500;
}
@media (max-width: 1023.9px) {
  .numberlist--rkn .jb-section__header .jb-title {
    font-size: 1.75rem;
  }
}
@media (max-width: 767.9px) {
  .numberlist--rkn .jb-section__header .jb-title br {
    display: none;
  }
}
.numberlist--rkn .jb-section__header .jb-subtitle {
  margin-bottom: 0;
  color: var(--c-white-60);
}
.numberlist--rkn .numberlist__desc {
  max-width: none;
  opacity: 1;
  color: var(--c-white-60);
  font-size: max(12px, 1rem);
  line-height: 1.4;
  margin: 0 !important;
}
.numberlist--rkn .numberlist__index {
  border-radius: 0.5rem;
  font-family: var(--ff-1);
  font-size: max(12px, 1rem);
  font-weight: 500;
  line-height: 1.2;
}
.numberlist--rkn .numberlist__item:hover .numberlist__index {
  background-color: #2F2F2F;
  color: var(--c-primary);
}
.numberlist--rkn .numberlist__name {
  font-family: var(--ff-2);
  color: var(--c-white);
}
.numberlist--rkn .numberlist__text {
  margin-top: 0;
  color: var(--c-white-60);
  font-size: max(12px, 1rem);
  line-height: 1.4;
}
.numberlist--rkn .numberlist__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  width: 100%;
}
@media (max-width: 767.9px) {
  .numberlist--rkn .numberlist__grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767.9px) {
  .numberlist--rkn .numberlist__item {
    width: 100%;
    padding: 1rem;
    grid-template-columns: auto 1fr;
    gap: 1rem 0.75rem;
    align-items: center;
  }
  .numberlist--rkn .numberlist__content {
    display: contents;
  }
  .numberlist--rkn .numberlist__index {
    width: 3rem;
    height: 3rem;
    grid-column: 1;
    grid-row: 1;
  }
  .numberlist--rkn .numberlist__name {
    grid-column: 2;
    grid-row: 1;
  }
  .numberlist--rkn .numberlist__text {
    grid-column: 1/3;
    grid-row: 2;
  }
}
.numberlist--design-support .jb-section__header {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
}
.numberlist--design-support .jb-section__header .jb-title {
  font-size: 3rem;
  line-height: 1.2;
  font-weight: 500;
}
@media (max-width: 1023.9px) {
  .numberlist--design-support .jb-section__header .jb-title {
    font-size: 1.75rem;
  }
}
@media (max-width: 767.9px) {
  .numberlist--design-support .jb-section__header .jb-title br {
    display: none;
  }
}
.numberlist--design-support .jb-section__header .jb-subtitle {
  margin-bottom: 0;
  color: var(--c-white-60);
}
.numberlist--design-support .numberlist__desc {
  max-width: none;
  opacity: 1;
  color: var(--c-white-60);
  font-size: max(12px, 1rem);
  line-height: 1.4;
  margin: 0 !important;
}
.numberlist--design-support .numberlist__index {
  border-radius: 0.5rem;
  font-family: var(--ff-1);
  font-size: max(12px, 1rem);
  font-weight: 500;
  line-height: 1.2;
}
.numberlist--design-support .numberlist__item:hover .numberlist__index {
  background-color: #2F2F2F;
  color: var(--c-primary);
}
.numberlist--design-support .numberlist__name {
  font-family: var(--ff-2);
  color: var(--c-white);
  margin-bottom: 0.5rem;
}
.numberlist--design-support .numberlist__text {
  margin-top: 0;
  color: var(--c-white-60);
  font-size: max(12px, 1rem);
  line-height: 1.4;
}
.numberlist--design-support .numberlist__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  width: 100%;
}
@media (max-width: 767.9px) {
  .numberlist--design-support .numberlist__grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767.9px) {
  .numberlist--design-support .numberlist__item {
    width: 100%;
    padding: 1rem;
    grid-template-columns: auto 1fr;
    gap: 1rem 0.75rem;
    align-items: center;
  }
  .numberlist--design-support .numberlist__content {
    display: contents;
  }
  .numberlist--design-support .numberlist__index {
    width: 3.75rem;
    height: 3.75rem;
    grid-column: 1;
    grid-row: 1;
  }
  .numberlist--design-support .numberlist__name {
    grid-column: 2;
    grid-row: 1;
    margin-bottom: 0;
  }
  .numberlist--design-support .numberlist__text {
    grid-column: 1/3;
    grid-row: 2;
  }
}

.pricing {
  display: flex;
  flex-direction: column;
}
.pricing__container {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.pricing__header {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  align-items: end;
}
@media (max-width: 767.9px) {
  .pricing__header {
    grid-template-columns: 1fr;
    align-items: start;
  }
}
.pricing__note {
  color: var(--c-white-60);
  font-size: 0.75rem;
  max-width: 32.5rem;
  text-align: right;
}
@media (max-width: 767.9px) {
  .pricing__note {
    text-align: left;
  }
}
.pricing__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
@media (max-width: 1023.9px) {
  .pricing__grid {
    grid-template-columns: 1fr;
  }
}
.pricing__card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.01) 100%);
  border: 1px solid var(--c-white-20);
  border-radius: 1rem;
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  min-height: 26.25rem;
}
@media (max-width: 767.9px) {
  .pricing__card {
    padding: 1.5rem;
    min-height: unset;
  }
}
.pricing__card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 0.75rem;
}
.pricing__card-title {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.2;
}
@media (max-width: 767.9px) {
  .pricing__card-title {
    font-size: 1.25rem;
  }
}
.pricing__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  border-radius: 0.625rem;
  border: 1px solid var(--c-white-20);
  background-color: rgba(255, 255, 255, 0.03);
  color: var(--c-white-80);
  font-size: max(12px, 0.75rem);
  line-height: 1;
  white-space: nowrap;
}
.pricing__badge--light {
  background-color: var(--c-white);
  color: var(--c-black);
  border-color: transparent;
}
.pricing__badge--warning {
  background-color: var(--c-secondary);
  color: var(--c-black);
  border-color: transparent;
}
.pricing__card-subtitle {
  margin-top: 0.625rem;
  color: var(--c-white-60);
}
.pricing__params {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 2rem;
}
@media (max-width: 767.9px) {
  .pricing__params {
    margin-top: 1.5rem;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 0.5rem;
  }
}
.pricing__param {
  border: 1px solid var(--c-white-20);
  border-radius: 0.75rem;
  padding: 0.5rem 1rem;
  background-color: rgba(0, 0, 0, 0.18);
}
.pricing__param-label {
  font-size: max(12px, 0.75rem);
  color: var(--c-white-60);
}
.pricing__param-value {
  margin-top: 0.375rem;
  font-weight: 500;
}
@media (max-width: 767.9px) {
  .pricing__param-value {
    margin-top: 0;
  }
}
.pricing__list {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  padding-left: 1.125rem;
  color: var(--c-white-70);
  margin-top: 2rem;
  margin-bottom: 1rem;
}
@media (max-width: 767.9px) {
  .pricing__list {
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
    padding-left: 0.75rem;
  }
}
.pricing__list li {
  line-height: 1.35;
  margin-bottom: 0.5rem;
}
.pricing__card-top {
  flex: 1 1 auto;
  border-bottom: 1px solid var(--c-white-40);
}
.pricing__card-bottom {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "price btn" "note btn";
  align-items: center;
  gap: 0.875rem;
  margin-top: 2rem;
}
@media (max-width: 767.9px) {
  .pricing__card-bottom {
    margin-top: 1.5rem;
    grid-template-columns: 1fr;
    grid-template-areas: "price" "note" "btn";
  }
}
.pricing__price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.375rem;
  grid-area: price;
}
.pricing__price-value {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.1;
}
@media (max-width: 767.9px) {
  .pricing__price-value {
    font-size: 1.25rem;
  }
}
.pricing__price-note {
  grid-area: note;
  color: var(--c-white-40);
  font-size: max(12px, 0.75rem);
  margin-top: -0.375rem;
}
@media (max-width: 767.9px) {
  .pricing__price-note {
    margin-top: -0.5rem;
  }
}
.pricing__btn {
  white-space: nowrap;
  grid-area: btn;
}
.pricing__btn:before {
  content: none;
}
.pricing__footnote {
  color: var(--c-white-40);
  margin-top: 0.5rem;
}
@media (max-width: 767.9px) {
  .pricing__footnote {
    margin-top: 0;
  }
}
.pricing__footnote p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.pricing__footnote p:not(:last-child) {
  margin-bottom: 0.75rem;
}
.pricing__footnote a {
  color: var(--c-primary);
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.pricing__footnote a:hover {
  color: var(--c-white);
}
.pricing__card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  color: var(--c-primary);
  flex-shrink: 0;
}
.pricing__card-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.pricing__card-price {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.pricing__price-old {
  color: var(--c-white-40);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: line-through;
}
.pricing--col4 .jb-section__header {
  display: flex;
  align-items: baseline;
  gap: 1rem;
}
@media (max-width: 767.9px) {
  .pricing--col4 .jb-section__header {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 0.25rem;
  }
}
.pricing--col4 .jb-section__header .jb-subtitle {
  margin-bottom: 0;
  color: var(--c-white-60);
}
.pricing--col4 .pricing__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
@media (max-width: 1023.9px) {
  .pricing--col4 .pricing__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767.9px) {
  .pricing--col4 .pricing__grid {
    grid-template-columns: 1fr;
  }
}
.pricing--col4 .pricing__card {
  background: #1C1C1C;
  border: none;
  border-radius: 0.75rem;
  padding: 2.5rem;
  gap: 1.5rem;
  min-height: 0;
  position: relative;
}
@media (max-width: 1023.9px) {
  .pricing--col4 .pricing__card {
    padding: 2rem;
    gap: 1.25rem;
  }
}
.pricing--col4 .pricing__card--popular {
  border: 1px solid var(--c-secondary);
}
.pricing--col4 .pricing__badge {
  position: absolute;
  top: -1.25rem;
  left: 2.5rem;
  padding: 0.75rem 1rem;
  border-radius: 0.375rem;
  background-color: var(--c-secondary);
  color: var(--c-white);
  border: none;
  font-family: var(--ff-2);
  font-size: max(12px, 1rem);
  font-weight: 500;
  line-height: 1;
}
@media (max-width: 1023.9px) {
  .pricing--col4 .pricing__badge {
    left: 1.5rem;
  }
}
@media (max-width: 767.9px) {
  .pricing--col4 .pricing__badge {
    position: static;
    transform: none;
    align-self: flex-start;
  }
}
.pricing--col4 .pricing__card-top {
  border-bottom: 1px solid var(--c-white-40);
  padding-bottom: 1.5rem;
  flex: 0 0 auto;
}
.pricing--col4 .pricing__card-head {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
}
.pricing--col4 .pricing__card-head .pricing__card-icon {
  width: auto;
  height: 1.5rem;
  color: var(--c-secondary);
}
.pricing--col4 .pricing__card-head .pricing__card-icon svg {
  width: auto;
  height: 100%;
}
.pricing--col4 .pricing__card-title {
  font-family: var(--ff-2);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--c-white);
}
@media (max-width: 767.9px) {
  .pricing--col4 .pricing__card-title {
    font-size: 1.25rem;
  }
}
.pricing--col4 .pricing__card-subtitle {
  margin-top: 0.5rem;
  color: var(--c-white-60);
  font-size: max(12px, 1rem);
  line-height: 1.4;
}
.pricing--col4 .pricing__card-price {
  border-bottom: 1px solid var(--c-white-40);
  padding-bottom: 1.5rem;
}
.pricing--col4 .pricing__price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem;
}
.pricing--col4 .pricing__price-value {
  font-family: var(--ff-2);
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 500;
  color: var(--c-white);
}
@media (max-width: 1023.9px) {
  .pricing--col4 .pricing__price-value {
    font-size: 1.5rem;
  }
}
.pricing--col4 .pricing__price-value--accent {
  color: var(--c-secondary);
}
.pricing--col4 .pricing__price-note {
  margin-top: 0;
  color: #f1f1f1;
  font-size: max(12px, 1rem);
  line-height: 1.4;
}
.pricing--col4 .pricing__price-note .accent,
.pricing--col4 .pricing__price-note strong {
  color: var(--c-secondary);
  font-weight: inherit;
}
.pricing--col4 .pricing__list {
  margin: 0;
  padding: 0;
  gap: 0.5rem;
  color: var(--c-white-60);
  list-style: none;
  flex: 1 1 auto;
}
.pricing--col4 .pricing__list li {
  position: relative;
  padding-left: 1.125rem;
  font-size: max(12px, 1rem);
  line-height: 1.2;
  margin: 0;
}
.pricing--col4 .pricing__list li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.25rem;
  width: 0.75rem;
  height: 0.75rem;
  background-color: var(--c-primary);
  -webkit-mask: url(images/rkn-152fz/icon-check.svg) center/contain no-repeat;
  mask: url(images/rkn-152fz/icon-check.svg) center/contain no-repeat;
}
.pricing--col4 .pricing__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  width: 100%;
  height: 3.5rem;
  padding: 0.75rem 1.5rem;
  border-radius: 0.5rem;
  background-color: #2F2F2F;
  border: none;
  color: #f1f1f1;
  font-family: var(--ff-2);
  font-size: max(12px, 1rem);
  font-weight: 500;
  line-height: 1;
  margin-top: auto;
}
.pricing--col4 .pricing__btn:after {
  content: "→";
  color: inherit;
  background: none;
  width: auto;
  height: auto;
}
.pricing--col4 .pricing__btn:hover {
  background-color: var(--c-primary);
  color: var(--c-black);
}

.pricing--packages .jb-section__header {
  display: flex;
  align-items: baseline;
  gap: 1rem;
}
.pricing--packages .jb-section__header .jb-subtitle {
  margin-bottom: 0;
  color: var(--c-white-60);
}
.pricing--packages .pricing__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 1023.9px) {
  .pricing--packages .pricing__grid {
    grid-template-columns: 1fr;
  }
}
.pricing--packages .pricing__card {
  background: #1C1C1C;
  border: none;
  border-radius: 0.75rem;
  padding: 2.5rem;
  gap: 2rem;
  min-height: 0;
}
@media (max-width: 767.9px) {
  .pricing--packages .pricing__card {
    padding: 1.5rem;
    gap: 1.5rem;
  }
}
.pricing--packages .pricing__card-top {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  border-bottom: none;
  padding-bottom: 0;
}
.pricing--packages .pricing__card-title {
  font-family: var(--ff-2);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--c-white);
}
@media (max-width: 767.9px) {
  .pricing--packages .pricing__card-title {
    font-size: 1.25rem;
  }
}
.pricing--packages .pricing__card-price {
  gap: 0.375rem;
}
.pricing--packages .pricing__price-value {
  font-family: var(--ff-2);
  font-size: 3rem;
  line-height: 1.1;
  font-weight: 500;
  color: var(--c-white);
}
@media (max-width: 1023.9px) {
  .pricing--packages .pricing__price-value {
    font-size: 2.25rem;
  }
}
.pricing--packages .pricing__price-note {
  margin-top: 0;
  color: var(--c-white-60);
  font-size: max(12px, 1rem);
  line-height: 1.4;
}
.pricing--packages .pricing__card-bottom {
  display: flex;
  align-items: stretch;
  gap: 0.5rem;
  margin-top: auto;
}
@media (max-width: 767.9px) {
  .pricing--packages .pricing__card-bottom {
    flex-direction: column;
  }
}
.pricing--packages .pricing__params {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  gap: 0.5rem;
  margin-top: 0;
}
@media (max-width: 767.9px) {
  .pricing--packages .pricing__params {
    flex-wrap: wrap;
    flex-direction: column;
  }
}
.pricing--packages .pricing__param {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.25rem;
  background-color: transparent;
  border: 1px solid var(--c-white-40);
  border-radius: 0.5rem;
  padding: 0.5rem 1rem;
}
.pricing--packages .pricing__param-label {
  margin-top: 0;
  color: var(--c-white-60);
  font-size: max(12px, 0.75rem);
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  user-select: none;
}
.pricing--packages .pricing__param-value {
  margin-top: 0;
  font-family: var(--ff-2);
  font-size: max(12px, 1rem);
  font-weight: 500;
  line-height: 1.2;
  color: var(--c-white);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  user-select: none;
}
.pricing--packages .pricing__btn {
  flex: 0 0 auto;
  width: auto;
  margin-top: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.pricing--packages .pricing__btn:after {
  content: "→";
}
@media (max-width: 767.9px) {
  .pricing--packages .pricing__btn {
    width: 100%;
    justify-content: center;
  }
}

.service-contacts {
  display: flex;
  flex-direction: column;
}
.service-contacts__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
@media (max-width: 1023.9px) {
  .service-contacts__container {
    grid-template-columns: 1fr;
  }
}
.service-contacts__left, .service-contacts__right {
  background-color: #1C1C1C;
  border-radius: 1rem;
  padding: 2.5rem;
}
@media (max-width: 767.9px) {
  .service-contacts__left, .service-contacts__right {
    padding: 1.5rem;
  }
}
.service-contacts__right {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.service-contacts__title {
  font-family: var(--ff-2);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
}
.service-contacts__form-title {
  font-weight: 500;
}
.service-contacts__form {
  margin-top: 1.5rem;
}
.service-contacts form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.service-contacts label {
  display: flex;
  flex-direction: column;
  font-size: max(12px, 0.75rem);
  gap: 0.25rem;
  color: var(--c-white-40);
}
.service-contacts input, .service-contacts textarea {
  width: 100%;
}
.service-contacts__buttons {
  margin-top: 0.5rem;
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.service-contacts__buttons .jb-btn:before {
  content: none;
}
@media (max-width: 767.9px) {
  .service-contacts__buttons .jb-btn {
    width: 100%;
  }
}
.service-contacts__card-title {
  font-weight: 500;
}
.service-contacts__topline {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.875rem;
  align-items: center;
}
@media (max-width: 767.9px) {
  .service-contacts__topline {
    grid-template-columns: 1fr;
    align-items: start;
  }
}
.service-contacts__socials {
  display: flex;
  gap: 0.75rem;
}
.service-contacts__social {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 0.75rem;
  border: 1px solid var(--c-white-20);
  background-color: rgba(255, 255, 255, 0.03);
  display: flex;
  align-items: center;
  justify-content: center;
}
.service-contacts__social svg {
  width: 1.5rem;
  height: 1.5rem;
}
.service-contacts__social:hover path {
  fill: white;
}
.service-contacts__phones {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.service-contacts__phones a {
  color: var(--c-white-60);
}
.service-contacts__phones a:hover {
  color: var(--c-primary);
}
.service-contacts__info {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.service-contacts__info-item {
  background-color: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--c-white-20);
  border-radius: 0.75rem;
  padding: 1.5rem;
}
.service-contacts__info-value {
  margin-top: 1rem;
  color: var(--c-white-60);
  display: block;
}
.service-contacts__notes {
  margin-top: auto;
}
@media (max-width: 767.9px) {
  .service-contacts__notes {
    margin-top: 0;
  }
}
.service-contacts__notes-title {
  font-weight: 500;
}
.service-contacts__notes-text {
  color: #8F8F8F;
  margin-top: 1rem;
}
.service-contacts__notes-list {
  margin-top: 0.625rem;
  padding-left: 1.125rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  color: var(--c-white-60);
}

.jb-blog {
  margin-top: 7.5rem;
}
@media (max-width: 767.9px) {
  .jb-blog {
    margin-top: 5rem;
  }
}
.jb-blog__header {
  display: flex;
  align-items: end;
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}
@media (max-width: 767.9px) {
  .jb-blog__header {
    flex-direction: column;
    align-items: stretch;
    gap: 1.25rem;
    margin-bottom: 1.75rem;
  }
}
.jb-blog__heading {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.jb-blog__title {
  font-size: 3rem;
  line-height: 1.1;
}
@media (max-width: 767.9px) {
  .jb-blog__title {
    font-size: 1.875rem;
  }
}
.jb-blog__count {
  color: var(--c-text);
  white-space: nowrap;
  margin-bottom: 0;
}
.jb-blog__desc {
  max-width: 42.5rem;
  margin-bottom: 2.5rem;
  color: var(--c-text);
  font-size: 1.125rem;
}
@media (max-width: 767.9px) {
  .jb-blog__desc {
    margin-bottom: 1.75rem;
  }
}
.jb-blog__empty {
  grid-column: 1/-1;
  color: var(--c-text);
  font-size: 1.125rem;
}
.jb-blog__empty .jb-search {
  margin-top: 1.5rem;
}
.jb-blog__more-wrap {
  display: flex;
}
.jb-blog__more {
  margin-top: 3.75rem;
}
@media (max-width: 767.9px) {
  .jb-blog__more {
    margin-top: 3rem;
  }
}
.jb-blog__more[hidden] {
  display: none;
}
.jb-blog__more.is-loading {
  opacity: 0.6;
  pointer-events: none;
}

.jb-blog-filter {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.5rem;
  margin-left: auto;
}
@media (max-width: 767.9px) {
  .jb-blog-filter {
    margin-left: 0;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    margin-right: -1rem;
    margin-left: -1rem;
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .jb-blog-filter::-webkit-scrollbar {
    display: none;
  }
}
.jb-blog-filter__btn {
  flex: 0 0 auto;
}
.jb-blog-filter__btn.is-active {
  background-color: var(--c-primary);
  border-color: var(--c-primary);
  color: var(--c-black);
}

.jb-cards {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
}
@media (max-width: 1023.9px) {
  .jb-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767.9px) {
  .jb-cards {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
.jb-cards.is-loading {
  pointer-events: none;
}
.jb-cards.is-loading::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background-color: var(--c-black-60);
  border-radius: var(--border-radius);
}
.jb-cards.is-loading::after {
  content: "";
  position: absolute;
  z-index: 3;
  top: min(50%, 11.25rem);
  left: 50%;
  width: 2rem;
  height: 2rem;
  border: 0.1875rem solid var(--c-white);
  border-top-color: transparent;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: jb-spin 0.7s linear infinite;
}

@keyframes jb-spin {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.jb-card {
  display: flex;
  flex-direction: column;
}
.jb-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: var(--c-white);
}
.jb-card__thumb {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9;
  margin-bottom: 1rem;
  background-color: var(--c-bg-3);
  border-radius: var(--border-radius);
}
.jb-card__thumb:empty {
  display: none;
}
.jb-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--border-radius);
  transition: transform 0.4s ease;
}
.jb-card__link:hover .jb-card__img {
  transform: scale(1.04);
}
.jb-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.jb-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.jb-card__cat, .jb-card__date, .jb-card__read {
  display: flex;
  align-items: center;
  height: 1.875rem;
  padding: 0.25rem 0.5rem;
  border-radius: 0.5rem;
  background-color: var(--c-bg-3);
  color: var(--c-white-60);
  font-size: 1rem;
  line-height: 1;
}
.jb-card__title {
  color: var(--c-white);
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.25;
  transition: color 0.3s ease;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
.jb-card__link:hover .jb-card__title {
  color: var(--c-primary);
}
.jb-card__excerpt {
  color: var(--c-white-60);
  font-size: 1rem;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}

.jb-blog .pagination,
.jb-related + .pagination {
  margin-top: 3rem;
}

.pagination {
  margin-top: 3rem;
}
.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  height: 2.75rem;
  padding: 0 0.875rem;
  border: 0.0625rem solid var(--c-white-20);
  border-radius: 0.5rem;
  color: var(--c-white);
  font-size: 1rem;
  transition: all 0.3s ease;
}
.pagination .page-numbers:hover {
  border-color: var(--c-primary);
  color: var(--c-primary);
}
.pagination .page-numbers.current {
  background-color: var(--c-primary);
  border-color: var(--c-primary);
  color: var(--c-black);
}
.pagination .page-numbers.dots {
  border-color: transparent;
}

.jb-search {
  display: flex;
  gap: 0.625rem;
  max-width: 32.5rem;
}
.jb-search__field {
  flex: 1 1 auto;
}
.jb-search__input {
  width: 100%;
}
.jb-search__submit {
  flex: 0 0 auto;
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.jb-post {
  padding-top: 2.5rem;
}
@media (max-width: 767.9px) {
  .jb-post {
    padding-top: 6.875rem;
  }
}
.jb-post__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 28.5rem;
  gap: 4rem;
}
@media (max-width: 1023.9px) {
  .jb-post__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }
}
.jb-post__main {
  min-width: 0;
}
@media (max-width: 1023.9px) {
  .jb-post__main {
    display: contents;
  }
  .jb-post__main > .jb-share {
    order: 3;
    margin: 0;
  }
}
.jb-post__aside {
  min-width: 0;
}
@media (max-width: 1023.9px) {
  .jb-post__aside {
    order: 4;
  }
}
.jb-post__side {
  padding: 3rem;
  border: 0.0625rem solid var(--c-white-40);
  border-radius: var(--border-radius);
}
@media (min-width: 1024px) {
  .jb-post__side {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 7.75rem);
  }
  .jb-post__side .jb-toc {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  .jb-post__side .jb-toc__title {
    flex-shrink: 0;
  }
  .jb-post__side .jb-toc__list {
    overflow-y: auto;
    margin-right: -3rem;
    padding-right: 3rem;
    scrollbar-width: thin;
    scrollbar-color: var(--c-white-40) transparent;
  }
  .jb-post__side .jb-toc__list::-webkit-scrollbar {
    width: 0.375rem;
  }
  .jb-post__side .jb-toc__list::-webkit-scrollbar-track {
    background-color: transparent;
  }
  .jb-post__side .jb-toc__list::-webkit-scrollbar-thumb {
    background-color: var(--c-white-40);
    border: none;
    border-radius: 62.4375rem;
  }
  .jb-post__side .jb-toc__list::-webkit-scrollbar-thumb:hover {
    background-color: var(--c-white-60);
  }
}
@media (max-width: 767.9px) {
  .jb-post__side {
    padding: 1.5rem;
  }
}
.jb-post__side-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.25rem;
}
@media (min-width: 1024px) {
  .jb-post__side-meta {
    flex-shrink: 0;
  }
}
.jb-post__chip {
  display: flex;
  align-items: center;
  height: 1.875rem;
  padding: 0.25rem 0.5rem;
  border-radius: 0.5rem;
  background-color: var(--c-bg-3);
  color: var(--c-white-60);
  font-size: 1rem;
  line-height: 1;
}
.jb-post__head {
  margin-bottom: 1.5rem;
}
@media (max-width: 1023.9px) {
  .jb-post__head {
    order: 1;
    margin-bottom: 0;
  }
}
.jb-post__crumbs {
  margin-bottom: 1.25rem;
}
.jb-post__title {
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.1;
}
@media (max-width: 767.9px) {
  .jb-post__title {
    font-size: 1.875rem;
  }
}
.jb-post__cover {
  margin: 1.5rem 0;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: var(--border-radius);
  background-color: var(--c-bg-3);
}
@media (max-width: 1023.9px) {
  .jb-post__cover {
    order: 2;
    margin: 0;
  }
}
.jb-post__cover-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.jb-post__content {
  margin-top: 2rem;
  color: var(--c-white-60);
  font-family: var(--ff-1);
  font-size: 1rem;
  line-height: 1.7;
}
.jb-post__content > * + * {
  margin-top: 1.375rem;
}
.jb-post__content h2,
.jb-post__content h3,
.jb-post__content h4 {
  color: var(--c-white);
  font-family: var(--ff-2);
  font-weight: 500;
  line-height: 1.25;
  scroll-margin-top: 6.25rem;
}
.jb-post__content h2 {
  font-size: 2rem;
  margin-top: 3rem;
}
.jb-post__content h3 {
  font-size: 1.5rem;
  margin-top: 2.25rem;
}
.jb-post__content h4 {
  font-size: 1.25rem;
  margin-top: 1.75rem;
}
.jb-post__content p {
  color: inherit;
  font-size: inherit;
  margin-bottom: 0;
}
.jb-post__content strong,
.jb-post__content b {
  color: var(--c-white);
  font-weight: 600;
}
.jb-post__content a {
  color: var(--c-primary);
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.jb-post__content a:hover {
  color: var(--c-white);
}
.jb-post__content ul,
.jb-post__content ol {
  margin: 1.5rem 0 0;
  padding-left: 1.5rem;
  color: inherit;
}
.jb-post__content li {
  margin: 0 0 0.5rem;
  color: inherit;
}
.jb-post__content li::marker {
  color: var(--c-primary);
}
.jb-post__content li > ul,
.jb-post__content li > ol {
  margin-top: 0.5rem;
}
.jb-post__content blockquote,
.jb-post__content .wp-block-quote {
  margin: 2rem auto;
  padding: 0 0 0 3rem;
  border-left: 0.1875rem solid var(--c-primary);
  border-radius: 0.875rem;
  color: var(--c-white);
  font-size: 1.25rem;
  font-style: normal;
}
@media (max-width: 767.9px) {
  .jb-post__content blockquote,
  .jb-post__content .wp-block-quote {
    padding-left: 1.5rem;
  }
}
.jb-post__content blockquote p,
.jb-post__content .wp-block-quote p {
  color: var(--c-white);
}
.jb-post__content blockquote cite,
.jb-post__content blockquote .wp-block-quote__citation,
.jb-post__content .wp-block-quote cite,
.jb-post__content .wp-block-quote .wp-block-quote__citation {
  display: block;
  margin-top: 0.625rem;
  color: var(--c-text);
  font-size: 0.9375rem;
  font-style: normal;
}
.jb-post__content .wp-block-pullquote {
  margin: 2.5rem auto;
  padding: 3rem;
  border: 0.125rem dashed var(--c-primary);
  dashes: 6, 6;
  border-radius: 0.875rem;
  text-align: center;
}
.jb-post__content .wp-block-pullquote blockquote {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
}
.jb-post__content .wp-block-pullquote p {
  color: var(--c-white);
  font-size: 1.625rem;
}
@media (max-width: 767.9px) {
  .jb-post__content .wp-block-pullquote {
    padding: 1.5rem;
  }
}
.jb-post__content figure,
.jb-post__content .wp-block-image {
  margin: 2rem auto;
}
.jb-post__content img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 1rem;
}
.jb-post__content figcaption,
.jb-post__content .wp-block-image figcaption {
  margin-top: 0.625rem;
  color: var(--c-text);
  font-size: 0.875rem;
  text-align: center;
}
.jb-post__content .alignleft {
  float: left;
  max-width: 50%;
  margin: 0.375rem 1.5rem 1rem 0;
}
.jb-post__content .alignright {
  float: right;
  max-width: 50%;
  margin: 0.375rem 0 1rem 1.5rem;
}
.jb-post__content .aligncenter {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.jb-post__content .alignwide {
  width: min(100vw - 4rem, 65rem);
  max-width: none;
  margin-left: 50%;
  transform: translateX(-50%);
}
.jb-post__content .alignfull {
  width: 100vw;
  max-width: none;
  margin-left: 50%;
  transform: translateX(-50%);
}
.jb-post__content .wp-block-columns {
  gap: 1.5rem;
}
.jb-post__content :where(.wp-block-column, .wp-block-group, .wp-block-group__inner-container) > * + * {
  margin-top: 1.375rem;
}
.jb-post__content .wp-block-gallery {
  --wp--style--gallery-gap-default: 1.5rem;
}
.jb-post__content .wp-block-table {
  max-width: 100%;
  overflow-x: auto;
  font-size: 1rem;
  border-radius: 0.5rem;
  border: none;
}
.jb-post__content table,
.jb-post__content .wp-block-table table {
  display: table;
  width: 100%;
  border-collapse: collapse;
  border-radius: 0.5rem;
}
.jb-post__content thead {
  display: table-header-group;
  border-width: 1px;
}
.jb-post__content tbody {
  display: table-row-group;
}
.jb-post__content tr {
  display: table-row;
}
.jb-post__content th,
.jb-post__content td {
  display: table-cell;
  padding: 0.75rem 1rem;
  border: 1px solid var(--c-white-20);
  text-align: left;
  vertical-align: top;
}
.jb-post__content th {
  color: var(--c-white);
  font-weight: 500;
}
.jb-post__content .wp-block-table:not(.is-style-stripes) {
  background-color: var(--c-bg-3);
  padding: 3rem;
}
@media (max-width: 767.9px) {
  .jb-post__content .wp-block-table:not(.is-style-stripes) {
    padding: 1.5rem;
  }
}
.jb-post__content .wp-block-table:not(.is-style-stripes) th,
.jb-post__content .wp-block-table:not(.is-style-stripes) td {
  padding: 0.875rem 0.875rem 0.875rem 0;
  border: none;
  border-bottom: 0.0625rem solid var(--c-white-40);
  color: var(--c-white);
}
.jb-post__content .wp-block-table:not(.is-style-stripes) td {
  padding: 2.375rem 0.875rem 0.875rem 0;
}
.jb-post__content .wp-block-table:not(.is-style-stripes) tr:last-child td {
  border-bottom: none;
}
.jb-post__content .wp-block-table:not(.is-style-stripes) th {
  color: var(--c-white-60);
}
.jb-post__content .wp-block-table figcaption {
  margin-top: 0.5rem;
  text-align: left;
}
.jb-post__content .wp-block-table.is-style-stripes {
  border: 1px solid var(--c-white-20);
}
.jb-post__content .wp-block-table.is-style-stripes th,
.jb-post__content .wp-block-table.is-style-stripes td {
  border-color: transparent;
}
.jb-post__content .wp-block-table.is-style-stripes thead th {
  border-bottom-color: var(--c-white-20);
}
.jb-post__content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: var(--c-white-10);
}
.jb-post__content .jb-table-scroll {
  position: relative;
  margin: 2rem auto;
}
.jb-post__content .jb-table-scroll .wp-block-table {
  margin: 0;
}
.jb-post__content .jb-table-scroll::before, .jb-post__content .jb-table-scroll::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 2;
  width: 3rem;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.jb-post__content .jb-table-scroll::before {
  left: -1px;
  background: linear-gradient(to right, var(--c-black), transparent);
}
.jb-post__content .jb-table-scroll::after {
  right: -1px;
  background: linear-gradient(to left, var(--c-black), transparent);
}
.jb-post__content .jb-table-scroll.has-left::before {
  opacity: 1;
}
.jb-post__content .jb-table-scroll.has-right::after {
  opacity: 1;
}
.jb-post__content code {
  padding: 0.15em 0.4em;
  background: var(--c-white-10);
  border-radius: 0.25rem;
  font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 0.9em;
}
.jb-post__content pre {
  margin: 1.75rem 0;
  padding: 1.25rem;
  overflow: auto;
  background: #111;
  border-radius: 0.75rem;
  color: #e6e6e6;
  font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 0.9375rem;
  line-height: 1.5;
}
.jb-post__content pre code {
  padding: 0;
  background: none;
  font-size: inherit;
}
.jb-post__content .wp-block-buttons {
  margin-top: 2rem;
}
.jb-post__content .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem 1.5rem;
  border: 0.0625rem solid var(--c-primary);
  border-radius: 0.5rem;
  background-color: var(--c-primary);
  color: var(--c-black);
  font-family: var(--ff-2);
  font-size: var(--fz-btn);
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  transition: all 0.3s ease;
}
.jb-post__content .wp-block-button__link:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.jb-post__content .wp-block-button.is-style-outline .wp-block-button__link {
  border-color: var(--c-white-40);
  background-color: transparent;
  color: var(--c-primary);
}
.jb-post__content .wp-block-button.is-style-outline .wp-block-button__link:hover {
  border-color: var(--c-primary);
  background-color: var(--c-primary);
  color: var(--c-black);
}
.jb-post__content .wp-block-separator {
  margin: 2.5rem auto;
  border: 0;
  border-top: 0.0625rem solid var(--c-white-20);
}
.jb-post__content .wp-block-embed {
  margin: 2rem 0;
}
.jb-post__content .wp-block-details {
  padding: 1.5rem 0;
  border-bottom: 0.0625rem solid var(--c-white-40);
}
@media (max-width: 767.9px) {
  .jb-post__content .wp-block-details {
    padding: 1rem 0;
  }
}
.jb-post__content .wp-block-details:first-of-type {
  border-top: 0.0625rem solid var(--c-white-40);
}
.jb-post__content .wp-block-details > summary {
  position: relative;
  margin: 0;
  padding-right: 2.375rem;
  list-style: none;
  color: var(--c-white);
  font-family: var(--ff-2);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  cursor: pointer;
  transition: color 0.3s ease;
}
@media (max-width: 767.9px) {
  .jb-post__content .wp-block-details > summary {
    font-size: 1.25rem;
  }
}
.jb-post__content .wp-block-details > summary::-webkit-details-marker {
  display: none;
}
.jb-post__content .wp-block-details > summary::before, .jb-post__content .wp-block-details > summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  background-color: var(--c-white);
  transition: transform 0.3s ease, opacity 0.3s ease, background-color 0.3s ease;
}
.jb-post__content .wp-block-details > summary::before {
  width: 1.125rem;
  height: 0.1rem;
  transform: translateY(-50%);
}
.jb-post__content .wp-block-details > summary::after {
  right: 0.5125rem;
  width: 0.1rem;
  height: 1.125rem;
  transform: translateY(-50%);
}
.jb-post__content .wp-block-details > summary ~ * {
  margin-top: 1.5rem;
}
@media (max-width: 767.9px) {
  .jb-post__content .wp-block-details > summary ~ * {
    margin-top: 0.75rem;
  }
}
.jb-post__content .wp-block-details > summary ~ * ~ *,
.jb-post__content .wp-block-details .jb-details__content > * + * {
  margin-top: 1rem;
}
.jb-post__content .wp-block-details.is-open > summary {
  color: var(--c-primary);
}
.jb-post__content .wp-block-details.is-open > summary::before {
  background-color: var(--c-primary);
}
.jb-post__content .wp-block-details.is-open > summary::after {
  transform: translateY(-50%) scaleY(0);
  opacity: 0;
}
.jb-post__content .has-drop-cap:first-letter {
  float: left;
  margin: 0.375rem 0.625rem 0 0;
  color: var(--c-primary);
  font-family: var(--ff-2);
  font-size: 4rem;
  line-height: 0.8;
}
@media (max-width: 1023.9px) {
  .jb-post__content {
    order: 5;
    min-width: 0;
    margin-top: 0;
  }
}
.jb-post__foot {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 0.0625rem solid var(--c-white-10);
}
@media (max-width: 1023.9px) {
  .jb-post__foot {
    order: 6;
    margin-top: 0;
  }
}

.jb-toc__title {
  margin-bottom: 1.5rem;
  color: var(--c-white);
  font-size: 2rem;
  font-weight: 500;
}
.jb-toc__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.jb-toc__item {
  margin: 0 0 0.5rem;
}
.jb-toc__item:last-child {
  margin-bottom: 0;
}
.jb-toc__item--h3 {
  padding-left: 1.125rem;
}
.jb-toc__link {
  color: var(--c-text);
  font-size: 1rem;
  line-height: 1.4;
  text-decoration: none;
}
.jb-toc__link:hover {
  color: var(--c-primary);
}

.jb-share {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.625rem;
  margin: 1.5rem 0;
}
.jb-share__label {
  margin-right: 0.25rem;
  color: var(--c-text);
  font-size: 0.875rem;
}
.jb-share__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.625rem;
  height: 2.625rem;
  padding: 0;
  background-color: var(--c-bg-3);
  border: none;
  border-radius: 0.625rem;
  color: var(--c-white);
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.jb-share__btn svg {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
}
.jb-share__btn:hover {
  background: var(--c-primary);
  color: var(--c-black);
}
.jb-share__copy.is-copied::after {
  content: "Скопировано";
  position: absolute;
  bottom: calc(100% + 0.5rem);
  left: 50%;
  transform: translateX(-50%);
  padding: 0.25rem 0.5rem;
  background-color: var(--c-bg-3);
  color: var(--c-white-80);
  border-radius: 0.375rem;
  font-size: 0.75rem;
  white-space: nowrap;
}

.jb-related__title {
  margin-bottom: 2rem;
  font-size: 2rem;
  font-weight: 500;
}
@media (max-width: 767.9px) {
  .jb-related__title {
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
  }
}

.anchors {
  margin-bottom: 5rem;
}
.anchors__container {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.estimate__container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 6rem;
  align-items: start;
}
@media (max-width: 1023.9px) {
  .estimate__container {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}
.estimate__col--intro {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.estimate__header {
  flex-grow: 1;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  overflow: visible;
  margin-bottom: 2.5rem;
}
.estimate__lead-title {
  font-family: var(--ff-2);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--c-white);
  margin: 0 0 1rem;
}
@media (max-width: 767.9px) {
  .estimate__lead-title {
    font-size: 1.25rem;
  }
}
.estimate__lead {
  color: var(--c-white-60);
  font-size: max(12px, 1rem);
  line-height: 1.5;
  margin: 0 0 1.5rem;
}
.estimate__lead p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.estimate__lead p:not(:last-child) {
  margin-bottom: 0.75rem;
}
.estimate__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.estimate__chip {
  display: inline-flex;
  align-items: center;
  padding: 0.625rem 1rem;
  border-radius: 6.25rem;
  border: 1px solid var(--c-white-20);
  color: var(--c-white);
  font-size: max(12px, 0.875rem);
  line-height: 1.2;
}
@media (max-width: 767.9px) {
  .estimate__chip {
    padding: 0.5rem 0.875rem;
  }
}
.estimate__list-title {
  font-family: var(--ff-2);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.3;
  color: var(--c-primary);
  margin-bottom: 0.5rem;
}
@media (max-width: 767.9px) {
  .estimate__list-title {
    font-size: 1.25rem;
  }
}
.estimate__item {
  padding: 1.5rem 0;
  border-top: 1px solid var(--c-white-20);
}
.estimate__item:first-child {
  border-top: 0;
}
.estimate__item:last-child {
  border-bottom: 1px solid var(--c-white-20);
}
@media (max-width: 767.9px) {
  .estimate__item {
    padding: 1.25rem 0;
  }
}
.estimate__item-title {
  font-family: var(--ff-2);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--c-white);
  margin: 0 0 0.5rem;
}
@media (max-width: 767.9px) {
  .estimate__item-title {
    font-size: 1.25rem;
  }
}
.estimate__item-title a {
  font: inherit;
  color: inherit;
  text-decoration: none;
}
.estimate__item-title a:hover {
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}
.estimate__item-desc {
  color: var(--c-white-60);
  font-size: max(12px, 1rem);
  line-height: 1.5;
  margin: 0;
}
.estimate__item-desc p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.estimate__item-desc p:not(:last-child) {
  margin-bottom: 0.75rem;
}

.articles__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 2.5rem;
}
@media (max-width: 1023.9px) {
  .articles__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767.9px) {
  .articles__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    margin-top: 1.75rem;
  }
}
.articles__card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background-color: #1C1C1C;
  border-radius: 0.75rem;
  padding: 2.5rem;
  position: relative;
  overflow: hidden;
}
@media (max-width: 767.9px) {
  .articles__card {
    padding: 1.5rem;
    border-radius: 0.5rem;
  }
}
.articles__card--glow {
  background-image: radial-gradient(70% 60% at 50% 0%, rgba(218, 245, 96, 0.35) 0%, rgba(218, 245, 96, 0) 70%);
}
.articles__card-title {
  font-family: var(--ff-2);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--c-white);
  margin: 0;
}
.articles__card-title a {
  font: inherit;
  color: inherit;
  text-decoration: none;
}
.articles__card-title a:hover {
  text-decoration: underline;
}
.articles__card-desc {
  font-size: max(12px, 1rem);
  line-height: 1.4;
  color: var(--c-white-60);
  margin: 0;
}
.articles .project-hero__link {
  font-family: var(--ff-1);
  font-weight: 500;
  font-size: max(12px, 1rem);
  line-height: 1.4;
  gap: 0.5rem;
  margin-top: auto;
  align-items: flex-start;
}
.articles .project-hero__link:after {
  flex-shrink: 0;
  margin-top: calc((1.4em - 0.75rem) / 2);
  width: 0.75rem;
  height: 0.75rem;
  background: currentColor;
  -webkit-mask: url(images/arrow-corner.svg) center/contain no-repeat;
  mask: url(images/arrow-corner.svg) center/contain no-repeat;
  transition: transform 0.3s ease;
}
.articles .project-hero__link:hover:after {
  background: currentColor;
  transform: rotate(45deg);
}

/*pages*/
/*
 * Точечные стили отдельных страниц.
 *
 * Сюда складываем только то, что нужно конкретной странице и чему нет места
 * в модуле секции (секции конструктора переиспользуются на разных страницах,
 * и «частные» правки не должны в них попадать).
 *
 * Правила скоупим по body-классу страницы (`.page-id-N` / `.page-template-*`).
 * ID страницы завязан на конкретный сайт — при переносе на прод проверяем,
 * что ID совпадает; менять его нужно в одном месте — в переменной сверху блока.
 *
 * Подключается последним в style.scss, чтобы перебивать базовые модули.
 */
/* ==========================================================================
   Web-разработка (/web-dev, шаблон «Конструктор»)
   ========================================================================== */
.page-id-11866 main {
  background-image: radial-gradient(circle 90.625rem at 50% -67.8125rem, rgba(102, 112, 255, 0.8) 0%, rgba(102, 112, 255, 0.775) 62%, rgba(102, 112, 255, 0.695) 69%, rgba(102, 112, 255, 0.557) 74.8%, rgba(102, 112, 255, 0.455) 77.9%, rgba(102, 112, 255, 0.38) 80.3%, rgba(102, 112, 255, 0.292) 82.8%, rgba(102, 112, 255, 0.21) 85.5%, rgba(102, 112, 255, 0.122) 89%, rgba(102, 112, 255, 0.047) 93.1%, rgba(102, 112, 255, 0.019) 96.6%, rgba(102, 112, 255, 0) 100%);
  background-repeat: no-repeat;
}
@media (max-width: 767.9px) {
  .page-id-11866 main {
    background-image: radial-gradient(circle 40rem at 50% -30rem, rgba(102, 112, 255, 0.8) 0%, rgba(102, 112, 255, 0.775) 62%, rgba(102, 112, 255, 0.695) 69%, rgba(102, 112, 255, 0.557) 74.8%, rgba(102, 112, 255, 0.455) 77.9%, rgba(102, 112, 255, 0.38) 80.3%, rgba(102, 112, 255, 0.292) 82.8%, rgba(102, 112, 255, 0.21) 85.5%, rgba(102, 112, 255, 0.122) 89%, rgba(102, 112, 255, 0.047) 93.1%, rgba(102, 112, 255, 0.019) 96.6%, rgba(102, 112, 255, 0) 100%);
    background-repeat: no-repeat;
  }
}
