@charset "utf-8";
@font-face {
		font-family: 'Hubot Sans';
		src: url('../fonts/hubot-sans-regular.woff') format('woff'), url('../fonts/hubot-sans-regular.ttf') format('truetype');
		font-weight: normal;
		font-style: normal;
		font-display: swap;
}
@font-face {
		font-family: 'Hubot Sans';
		src: url('../fonts/hubot-sans-medium.woff') format('woff'), url('../fonts/hubot-sans-medium.ttf') format('truetype');
		font-weight: 500;
		font-style: normal;
		font-display: swap;
}
@media only screen and (max-width: 767px) {}
@media only screen and (min-width: 768px) {}
@media only screen and (max-width: 1023px) {}
@media only screen and (min-width: 1024px) {}
@media only screen and (max-width: 1279px) {}
@media only screen and (min-width: 1280px) {}
/*
transition-property: transform, opacity;
		transition-duration: 0.8s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);backface-visibility: hidden;
*/
/*
transform: translate3d(0, 50px, 0);
		opacity: 0;
		pointer-events: none;
*/
.js_detect-scroll {}
:root {
		--font: "JetBrains Mono", -apple-system, system-ui, monospace;
		--font-title: "Hubot Sans", -apple-system, system-ui, sans-serif;
		--black: #000;
		--black0: rgba(0, 0, 0, 0);
		--dark: #051213;
		--white: #fff;
		--white70: rgba(255, 255, 255, 0.7);
		--white50: rgba(255, 255, 255, 0.5);
		--white30: rgba(255, 255, 255, 0.3);
		--white20: rgba(255, 255, 255, 0.2);
		--white10: rgba(255, 255, 255, 0.1);
		--white5: rgba(255, 255, 255, 0.05);
		--white0: rgba(255, 255, 255, 0);
		--green: #51FA7B;
		--side: 20px;
		--side2: 20px;
		--vert: 80px;
		--header: 60px;
		--title: 64px;
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
		:root {
				--side: 30px;
				--side2: 30px;
		}
}
@media only screen and (min-width: 1024px) {
		:root {
				--header: 80px;
				--vert: 100px;
		}
}
@media only screen and (min-width: 1024px) and (max-width: 1239px) {
		:root {
				--side: 50px;
				--side2: 50px;
		}
}
@media only screen and (min-width: 1240px) {
		:root {
				--side: calc((100vw - 1140px) / 2);
				--side2: 50px;
		}
}
@media only screen and (min-width: 1380px) {
		:root {
				--side2: calc((100vw - 1280px) / 2);
		}
}
html, body {
		height: 100%;
		box-sizing: border-box;
		text-rendering: optimizeLegibility !important;
		-webkit-font-smoothing: antialiased;
		font-optical-sizing: auto;
		scroll-behavior: smooth;
}
body {
		margin: 0;
		padding: 0;
		background: var(--black);
		font: normal 16px/1.4 var(--font);
		color: var(--white70);
		-webkit-text-size-adjust: none;
		display: flex;
		flex-direction: column;
}
@media only screen and (max-width: 1023px) {
		body {
				font-size: 14px;
		}
}
*, *:before, *:after {
		box-sizing: border-box;
		-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
form, fieldset {
		margin: 0;
		padding: 0;
		border: 0;
}
.input {
		position: relative;
}
.input input, .input-label {
		font: normal 18px/1.4 var(--font-title);
		text-align: left;
		color: var(--white);
		-webkit-appearance: none;
		outline: none;
		box-shadow: none;
		border: 1px solid transparent;
		border-radius: 16px;
		padding: 21px 19px;
		display: block;
		width: 100%;
		margin: 0;
		letter-spacing: -2%;
}
.input-label {
		position: absolute;
		top: 0;
		left: 0;
		padding-right: 0;
		width: 100%;
		pointer-events: none;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		backface-visibility: hidden;
		opacity: 0.5;
		transform-origin: 20px -8px;
		transition: transform 0.4s ease;
}
input:not(:placeholder-shown) ~ .input-label, input:focus ~ .input-label {
		transform: scale(0.666);
}
.input input {
		background: #F0F3F31A;
		padding-top: 30px;
		padding-bottom: 12px;
}
input::-ms-clear {
		display: none;
}
button::-moz-focus-inner {
		border: 0;
}
textarea {
		resize: none;
}
video {
		-webkit-mask-image: -webkit-radial-gradient(white, black);
		-webkit-backface-visibility: hidden;
		-moz-backface-visibility: hidden;
}
header, nav, section, article, aside, footer, menu, time, figure, figcaption, main {
		display: block;
}
img, svg, picture {
		border: 0;
		outline: none;
		vertical-align: top;
}
svg {
		fill: currentColor;
}
a {
		color: var(--white);
		text-decoration: underline;
		outline: none;
		cursor: pointer;
}
a[href^=tel] {
		color: inherit !important;
		cursor: inherit;
		text-decoration: none !important;
}
strong {
		font-weight: bold;
}
p, ol, ul {
		margin: 1em 0;
		padding: 0;
}
ol, ul, li {
		list-style: none;
}
li {
		position: relative;
		margin: 0.5em 0;
		padding: 0 0 0 2em;
}
ul > li:before {
		content: '•';
		width: 2em;
		text-align: center;
		position: absolute;
		top: 0;
		left: 0;
}
ol {
		counter-reset: li;
}
ol > li:before {
		counter-increment: li;
		content: counters(li, ".") ". ";
		position: relative;
		display: inline-block;
		vertical-align: top;
		min-width: 2em;
		margin: 0 0 0 -2em;
		padding: 0 0.25em 0 0;
}
.title {
		color: var(--white);
		font: 500 var(--title)/1.1 var(--font-title);
		letter-spacing: -3%;
		word-spacing: 0.03em;
		margin: -0.15em 0;
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
		.title {
				font-size: max(21px, calc(var(--title) / 1.333333));
		}
}
@media only screen and (max-width: 767px) {
		.title {
				font-size: max(21px, calc(var(--title) / 1.75));
		}
}
.mini-title {
		color: var(--green);
		font: normal 18px/1 var(--font);
		letter-spacing: normal;
		margin: 0 0 30px 0;
}
.btn {
		-webkit-appearance: none;
		cursor: pointer;
		user-select: none;
		outline: none;
		border: 0;
		box-shadow: none;
		text-decoration: none;
		position: relative;
		flex: 0 0 auto;
		max-width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		font: 500 18px/1 var(--font-title);
		height: 55px;
		border-radius: 100px;
		padding: 0 30px;
		margin: 0;
		letter-spacing: normal;
}
@media only screen and (max-width: 767px) {
		.btn {
				font-size: 16px;
		}
}
.btn-small {
		font-size: 14px;
		height: 40px;
		padding: 0 20px;
}
.btn-big {
		height: 70px;
		padding: 0 40px;
		font-size: 18px;
}
.btn-white {
		color: var(--dark);
		background: var(--white);
}
.btn-green {
		color: var(--black);
		background: var(--green);
}
.green {
		color: var(--green);
}
.swiper {
		overflow: hidden;
}
.swiper-wrapper, .swiper-slide {
		list-style: none;
		margin: 0;
		padding: 0;
}
.swiper-slide:before {
		display: none;
}
.swiper-wrapper {
		display: flex;
}
.swiper-slide {
		flex: 0 0 auto;
		width: 100%;
}
.bg-green {
		background: linear-gradient(180deg, #101010 0%, #00250F 100%), rgba(26, 27, 27, 0.6);
}
.bg-blue {
		background: linear-gradient(180deg, #080716 0%, #091D37 100%), linear-gradient(180deg, #101010 0%, #091D37 100%), rgba(26, 27, 27, 0.6);
}
.bg-violet {
		background: linear-gradient(180deg, #101010 0%, #1C1522 100%), rgba(26, 27, 27, 0.6);
}
.bg-orange {
		background: linear-gradient(180deg, #120A0A 0%, #2C180D 100%), linear-gradient(180deg, #101010 0%, #221915 100%), linear-gradient(180deg, #101010 0%, #00250F 100%), rgba(26, 27, 27, 0.6);
}
.bg-black:after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		pointer-events: none;
		border-radius: inherit;
		border: 1px solid var(--white);
		opacity: 0.12;
}
.nowrap {
		white-space: nowrap;
}
.mainwrap {
		flex: 0 0 auto;
		width: 100%;
		min-height: 100%;
		position: relative;
		display: flex;
		flex-direction: column;
}
.content {
		flex: 1 0 auto;
}
.header, .footer {
		flex: 0 0 auto;
}
.header {
		position: fixed;
		top: 0;
		z-index: 100;
		width: 100%;
		height: var(--header);
		padding: 0 var(--side2);
		display: flex;
		align-items: center;
		border-style: solid;
		border-width: 0 0 1px 0;
		border-color: transparent;
		gap: 40px;
		transition-property: border, background;
		transition-duration: 0.4s;
		transition-timing-function: ease;
}
.header.scrolled {
		border-color: var(--white5);
		background-color: var(--black);
}
.header .logo {
		flex: 0 0 auto;
}
.header .logo img {
		height: 30px;
		width: auto;
}
.menu {
		font: 500 16px/1.1 var(--font-title);
		letter-spacing: -3%;
}
.menu ul, .menu li {
		list-style: none;
		margin: 0;
		padding: 0;
}
.menu li:before {
		display: none;
}
.menu a:not(.btn) {
		color: var(--white50);
		transition: color 0.4s ease;
		text-decoration: none;
		user-select: none;
}
@media (pointer:fine) {
		.menu a:not(.btn):hover {
				color: var(--white);
		}
}
.menu .active {
		color: var(--white);
		cursor: default;
}
@media only screen and (max-width: 1023px) {
		.menu-trigger {
				flex: 0 0 auto;
				cursor: pointer;
				user-select: none;
				width: calc(16px + var(--side2) * 2);
				margin-right: calc(var(--side2) * -1);
				margin-left: auto;
				position: relative;
				height: 100%;
		}
		.menu-trigger:before, .menu-trigger:after {
				content: '';
				position: absolute;
				top: 50%;
				left: 50%;
				width: 16px;
				height: 2px;
				background: var(--white);
				border-radius: 1px;
				backface-visibility: hidden;
				transition-property: transform, background;
				transition-duration: 0.4s;
				transition-timing-function: ease;
		}
		.menu-trigger:before {
				transform: translate3d(-50%, calc(-50% - 4px), 0);
		}
		.menu-trigger:after {
				transform: translate3d(-50%, calc(-50% + 4px), 0);
		}
		.open-menu .menu-trigger:before {
				transform: translate3d(-50%, -50%, 0) rotate(-135deg);
		}
		.open-menu .menu-trigger:after {
				transform: translate3d(-50%, -50%, 0) rotate(135deg);
		}
		.menu-fader {
				position: fixed;
				top: var(--header);
				left: 0;
				width: 100%;
				height: calc(100% - var(--header));
				z-index: 99;
				background: var(--black);
				opacity: 0.7;
				transition: opacity 0.4s ease;
				backface-visibility: hidden;
		}
		html:not(.open-menu) .menu-fader {
				opacity: 0;
				pointer-events: none;
		}
		html.open-menu {
				overflow: hidden;
		}
		html.open-menu .header {
				border-color: var(--white5);
				background-color: var(--black);
		}
		.menu {
				position: fixed;
				top: var(--header);
				left: 100%;
				height: calc(100% - var(--header));
				z-index: 100;
				background: var(--black);
				width: calc(100% - var(--side));
				max-width: 400px;
				overflow: hidden;
				overflow-y: auto;
				font-size: 14px;
				transition: transform 0.4s ease;
				transform: translate3d(0, 0, 0);
		}
		html.open-menu .menu {
				transform: translate3d(-100%, 0, 0);
		}
		.menu ul {
				padding: 20px var(--side);
		}
		.menu ul {
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				gap: 20px;
		}
}
@media only screen and (min-width: 1024px) {
		.menu-trigger, .menu-fader {
				display: none;
		}
		.menu {
				flex: 1 0 auto;
				display: flex;
				align-items: center;
				justify-content: space-between;
				gap: 30px;
		}
		.menu ul {
				display: flex;
				align-items: center;
				gap: 30px;
		}
}
.section {
		padding: var(--vert) var(--side);
		position: relative;
}
.hero-home {
		position: relative;
		padding: calc(var(--header) + 50px) var(--side) 50px var(--side);
		min-height: 100vh;
		min-height: 100svh;
		display: flex;
		flex-direction: column;
		gap: 30px;
		font-size: 14px;
		overflow: hidden;
}
.hero-home > * {
		flex: 0 0 auto;
		max-width: 100%;
		margin: 0;
}
.hero-home .mini-title {
		margin: 0;
}
.hero-home .title {
		margin-bottom: calc(10px - 0.15em);
		margin-top: -0.15em;
}
.hero-home:before {
		content: '';
		margin-bottom: auto;
}
.hero-home .image {
		pointer-events: none;
		aspect-ratio: 1/1;
		overflow: hidden;
		position: relative;
}
.hero-home .image img, .hero-home .image video {
		position: absolute;
		height: 100%;
		width: 100%;
		top: 0;
		left: 0;
		object-fit: contain;
		object-position: bottom center;
}
.hero-home .text {
		width: 100%;
		margin-top: auto;
		max-width: 38.85em;
}
@media only screen and (max-width: 767px) {
		.hero-home {
				text-align: center;
				align-items: center;
		}
		.hero-home .text {
				margin-top: 0;
				margin-bottom: auto;
		}
		.hero-home .image {
				align-self: center;
				width: calc(100% + var(--side) * 2);
				max-width: 480px;
				margin: -30px calc(var(--side) * -1) -50px calc(var(--side) * -1);
		}
}
@media only screen and (min-width: 768px) {
		.hero-home {
				align-items: flex-start;
		}
		.hero-home > *:not(.image) {
				position: relative;
				z-index: 2;
		}
		.hero-home .image {
				position: absolute;
				width: calc((100% - var(--side) * 2) * 0.8);
				bottom: 0;
				left: 50%;
				transform: translate3d(-15%, 0, 0);
		}
}
.hero-home:has(.js_detect-scroll) .mini-title, .hero-home:has(.js_detect-scroll) .title, .hero-home:has(.js_detect-scroll) .btn, .hero-home:has(.js_detect-scroll) .text {
		transition-property: transform, opacity;
		transition-duration: 0.8s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);
		backface-visibility: hidden;
}
.hero-home:has(.js_detect-scroll) .title {
		transition-delay: 0.1s;
}
.hero-home:has(.js_detect-scroll) .btn {
		transition-delay: 0.2s;
}
.hero-home:has(.js_detect-scroll) .text {
		transition-delay: 0.3s;
}
.hero-home:has(.js_detect-scroll:not(.visible)) .mini-title, .hero-home:has(.js_detect-scroll:not(.visible)) .title, .hero-home:has(.js_detect-scroll:not(.visible)) .btn, .hero-home:has(.js_detect-scroll:not(.visible)) .text {
		transform: translate3d(0, 50px, 0);
		opacity: 0;
		pointer-events: none;
}
.services {
		background: linear-gradient(to bottom, #101011 0%, var(--black) 100%);
		padding-top: 120px;
		padding-bottom: 60px;
}
.services .head {
		margin-bottom: 50px;
		--title: 56px;
}
@media only screen and (max-width: 767px) {
		.services .head {
				text-align: center;
		}
}
.services .head .mini-title {
		margin-bottom: 20px;
}
.services .head .title {
		margin-top: -0.15em;
		margin-bottom: -0.15em;
}
.services .list, .services .list .el {
		list-style: none;
		margin: 0;
		padding: 0;
}
.services .list .el:before {
		display: none;
}
.services .list {
		display: grid;
		gap: 20px;
		grid-template-columns: repeat(1, 1fr);
}
@media only screen and (min-width: 768px) {
		.services .list {
				grid-template-columns: repeat(2, 1fr);
		}
}
.services .list .el {
		position: relative;
		border-radius: 10px;
}
.services .list .el:after {
		content: '';
		pointer-events: none;
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		border: 1px solid transparent;
		background: linear-gradient(to bottom, var(--white20) 0%, var(--white0) 100%) border-box;
		-webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
		mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
		-webkit-mask-composite: destination-out;
		mask-composite: exclude;
		border-radius: inherit;
}
.services .list .el.view1 {
		background: linear-gradient(180deg, #091D37 -54.96%, rgba(16, 16, 16, 0) 100%), #000104;
}
.services .list .el.view2 {
		background: linear-gradient(180deg, #091D37 0%, rgba(16, 16, 16, 0) 100%), #091C35;
		grid-column: 1/-1;
}
.services .list .title {
		margin-bottom: calc(15px - 0.15em);
		--title: 21px;
}
.services .list .view2 .title {
		margin-bottom: calc(10px - 0.15em);
}
.services .icon {
		flex: 0 0 auto;
}
.services .view1 .icon {
		margin: 0 0 30px 0;
}
.services .view1 .icon img {
		height: 30px;
		width: auto;
}
.services .view2 .icon img {
		width: auto;
		height: auto;
		max-width: 156px;
		max-height: 50px;
}
@media only screen and (max-width: 1023px) {
		.services .list .el {
				padding: 30px;
		}
		.services .view2 .icon {
				margin: 0 0 30px 0;
		}
}
@media only screen and (min-width: 1024px) {
		.services .head .mini-title {
				font-size: 21px;
		}
		.services .list .el {
				padding: 40px;
		}
		.services .view2 {
				display: flex;
				align-items: center;
				flex-direction: row-reverse;
				justify-content: space-between;
		}
}
.services:has(.js_detect-scroll) .head .mini-title, .services:has(.js_detect-scroll) .head .title, .services:has(.js_detect-scroll) .el {
		transition-property: transform, opacity;
		transition-duration: 0.8s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);
		backface-visibility: hidden;
}
.services:has(.js_detect-scroll) .head .title {
		transition-delay: 0.1s;
}
.services:has(.js_detect-scroll) .el {
		transition-delay: 0.7s;
}
.services:has(.js_detect-scroll) .el:nth-child(1) {
		transition-delay: 0.2s;
}
.services:has(.js_detect-scroll) .el:nth-child(2) {
		transition-delay: 0.3s;
}
.services:has(.js_detect-scroll) .el:nth-child(3) {
		transition-delay: 0.4s;
}
.services:has(.js_detect-scroll) .el:nth-child(4) {
		transition-delay: 0.5s;
}
.services:has(.js_detect-scroll) .el:nth-child(5) {
		transition-delay: 0.6s;
}
.services:has(.js_detect-scroll:not(.visible)) .head .mini-title, .services:has(.js_detect-scroll:not(.visible)) .head .title, .services:has(.js_detect-scroll:not(.visible)) .el {
		transform: translate3d(0, 50px, 0);
		opacity: 0;
		pointer-events: none;
}
.about-video {
		padding-top: 60px;
		padding-bottom: 0;
}
.about-video .wrap {
		display: block;
		position: relative;
		text-decoration: none;
		border-radius: 20px;
}
.about-video.js_detect-scroll .wrap {
		transition-property: transform, opacity;
		transition-duration: 0.8s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);
		backface-visibility: hidden;
}
.about-video.js_detect-scroll:not(.visible) .wrap {
		transform: translate3d(0, 50px, 0);
		opacity: 0;
		pointer-events: none;
}
.about-video .image {
		display: block;
		position: relative;
		text-decoration: none;
		aspect-ratio: 1140/641;
		overflow: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
		border-radius: 20px;
}
.about-video .image img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
		border-radius: inherit;
}
.about-video .image:before, .about-video .image:after {
		content: '';
		position: absolute;
		border-radius: inherit;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		z-index: 2;
}
.about-video .image:before {
		background: var(--black);
		opacity: 0.3;
}
.about-video .image:after {
		border: 11px solid transparent;
		background: linear-gradient(to bottom, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.0) 100%) border-box;
		-webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
		mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
		-webkit-mask-composite: destination-out;
		mask-composite: exclude;
		border-radius: inherit;
}
.about-video .btn {
		white-space: nowrap;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate3d(-50%, -50%, 0);
		z-index: 3;
}
@media only screen and (max-width: 639px) {
		.about-video .wrap {
				margin-bottom: calc(90px + var(--vert));
		}
		.about-video .btn {
				top: 100%;
				transform: translate3d(-50%, 20px, 0);
		}
		.about-video .wrap, .about-video .image {
				border-radius: 10px;
		}
		.about-video .image:after {
				border-width: 6px;
		}
}
.about-blocks {
		display: grid;
		gap: 50px;
		--min: 160px;
}
.about-blocks .head .title {
		margin-top: -0.15em;
		margin-bottom: calc(30px - 0.15em);
}
.about-blocks .foot .title {
		margin-top: -0.15em;
		margin-bottom: calc(20px - 0.15em);
		--title: 36px;
}
.about-blocks .list, .about-blocks .list .el {
		list-style: none;
		margin: 0;
		padding: 0;
}
.about-blocks .list .el:before {
		display: none;
}
.about-blocks .list {
		display: grid;
		gap: 20px;
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 1fr;
}
.about-blocks .list .el {
		position: relative;
		border-radius: 10px;
		padding: 40px 30px;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		gap: 30px;
		min-height: var(--min);
		color: var(--white);
}
.about-blocks .list .el.wide {
		grid-column: 1/-1;
}
.about-blocks .icon {
		align-self: flex-start;
		height: 30px;
		width: auto;
		flex: 0 0 auto;
}
@media only screen and (max-width: 499px) {
		.about-blocks .list {
				grid-template-columns: repeat(1, 1fr);
		}
}
@media only screen and (max-width: 1023px) {
		.about-blocks .head, .about-blocks .foot {
				text-align: center;
		}
}
@media only screen and (min-width: 1024px) {
		.about-blocks {
				--vert: 83px;
				--min: 255px;
				gap: 0 20px;
				grid-template-columns: 1fr 50.877%;
		}
		.about-blocks .head, .about-blocks .foot {
				max-width: 460px;
				display: flex;
				flex-direction: column;
		}
		.about-blocks .head {
				justify-content: space-between;
				padding-top: 40px;
		}
		.about-blocks .head .text {
				min-height: var(--min);
		}
		.about-blocks:has(.foot) .head {
				margin-bottom: auto;
				min-height: calc(var(--min) * 2);
				padding-bottom: var(--min);
				justify-content: center;
				padding-top: 0;
		}
		.about-blocks:has(.foot) .head .text {
				min-height: 0;
		}
		.about-blocks .foot {
				justify-content: center;
				min-height: var(--min);
				margin-top: calc(var(--min) * -1);
		}
}
.about-blocks:has(.js_detect-scroll) .head .title, .about-blocks:has(.js_detect-scroll) .head .text, .about-blocks:has(.js_detect-scroll) .el, .about-blocks:has(.js_detect-scroll) .foot .title, .about-blocks:has(.js_detect-scroll) .foot .text {
		transition-property: transform, opacity;
		transition-duration: 0.8s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);
		backface-visibility: hidden;
}
.about-blocks:has(.js_detect-scroll) .head .text {
		transition-delay: 0.1s;
}
.about-blocks:has(.js_detect-scroll) .foot .title {
		transition-delay: 0.2s;
}
.about-blocks:has(.js_detect-scroll) .foot .text {
		transition-delay: 0.3s;
}
.about-blocks:has(.js_detect-scroll) .el {
		transition-delay: 0.7s;
}
.about-blocks:has(.js_detect-scroll) .el:nth-child(1) {
		transition-delay: 0.2s;
}
.about-blocks:has(.js_detect-scroll) .el:nth-child(2) {
		transition-delay: 0.3s;
}
.about-blocks:has(.js_detect-scroll) .el:nth-child(3) {
		transition-delay: 0.4s;
}
.about-blocks:has(.js_detect-scroll) .el:nth-child(4) {
		transition-delay: 0.5s;
}
.about-blocks:has(.js_detect-scroll) .el:nth-child(5) {
		transition-delay: 0.6s;
}
.about-blocks:has(.js_detect-scroll:not(.visible)) .head .title, .about-blocks:has(.js_detect-scroll:not(.visible)) .head .text, .about-blocks:has(.js_detect-scroll:not(.visible)) .el, .about-blocks:has(.js_detect-scroll:not(.visible)) .foot .title, .about-blocks:has(.js_detect-scroll:not(.visible)) .foot .text {
		transform: translate3d(0, 50px, 0);
		opacity: 0;
		pointer-events: none;
}
.contact-form .bg {
		border-radius: 10px;
		background: linear-gradient(180deg, #101010 0%, #1C1522 100%);
		padding: 50px 30px;
}
.contact-form .head {
		margin-bottom: 50px;
		font-size: 14px;
}
.contact-form .head .title {
		--title: 44px;
		margin-top: -0.15em;
		margin-bottom: calc(30px - 0.15em);
}
.contact-form .inputs {
		display: grid;
		gap: 10px;
		align-items: flex-start;
		grid-template-columns: repeat(2, 1fr);
		width: 100%;
		container-type: inline-size;
		container-name: contact-form-inputs;
}
@container contact-form-inputs (max-width: 500px) {
		.contact-form .inputs > * {
				grid-column: 1/-1;
		}
		.contact-form .submit .btn {
				width: 100%;
		}
}
.contact-form .submit {
		grid-column: 1/-1;
		margin-top: 20px;
		display: flex;
		align-items: center;
		gap: 10px;
}
.contact-form .submit .btn {
		flex: 0 0 auto;
		min-width: 175px;
}
@media only screen and (max-width: 767px) {
		.contact-form .head {
				text-align: center;
		}
}
@media only screen and (min-width: 768px) {
		.contact-form .bg {
				display: flex;
				justify-content: space-between;
				align-items: flex-start;
				grid-template-columns: 1fr 56.5686%;
				gap: 40px;
		}
		.contact-form .head {
				max-width: 363px;
				flex: 1 1 auto;
		}
		.contact-form .inputs {
				flex: 0 0 auto;
				width: 56.5686%;
		}
}
@media only screen and (min-width: 1024px) {
		.contact-form {
				--vert: 83px;
		}
		.contact-form .bg {
				padding: 80px 60px;
		}
}
.contact-form:has(.js_detect-scroll) .title, .contact-form:has(.js_detect-scroll) .text, .contact-form:has(.js_detect-scroll) .inputs > * {
		transition-property: transform, opacity;
		transition-duration: 0.8s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);
		backface-visibility: hidden;
}
.contact-form:has(.js_detect-scroll) .text {
		transition-delay: 0.1s;
}
.contact-form:has(.js_detect-scroll) .inputs > * {
		transition-delay: 0.7s;
}
.contact-form:has(.js_detect-scroll) .inputs > *:nth-child(1) {
		transition-delay: 0.2s;
}
.contact-form:has(.js_detect-scroll) .inputs > *:nth-child(2) {
		transition-delay: 0.3s;
}
.contact-form:has(.js_detect-scroll) .inputs > *:nth-child(3) {
		transition-delay: 0.4s;
}
.contact-form:has(.js_detect-scroll) .inputs > *:nth-child(4) {
		transition-delay: 0.5s;
}
.contact-form:has(.js_detect-scroll) .inputs > *:nth-child(5) {
		transition-delay: 0.6s;
}
.contact-form:has(.js_detect-scroll:not(.visible)) .title, .contact-form:has(.js_detect-scroll:not(.visible)) .text, .contact-form:has(.js_detect-scroll:not(.visible)) .inputs > * {
		transform: translate3d(0, 50px, 0);
		opacity: 0;
		pointer-events: none;
}
.metrics .head .title {
		--title: 44px;
		margin-top: -0.15em;
		margin-bottom: calc(30px - 0.15em);
}
.metrics .head .image {
		position: relative;
		overflow: hidden;
		aspect-ratio: 1/1;
		width: 100%;
		flex: 0 0 auto;
		backface-visibility: hidden;
}
.metrics .head .image img, .metrics .head .image video {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: contain;
		object-position: bottom center;
		z-index: 1;
}
.metrics .head .image:after {
		content: '';
		position: absolute;
		z-index: 2;
		bottom: 0;
		left: 0;
		right: 0;
		height: 25%;
		background: linear-gradient(to bottom, var(--black0) 0%, var(--black) 100%);
}
.metrics .list, .metrics .el {
		list-style: none;
		margin: 0;
		padding: 0;
}
.metrics .el:before {
		display: none;
}
.metrics .list {
		display: grid;
		gap: 20px;
		grid-template-columns: repeat(1, 1fr);
}
@media only screen and (min-width: 500px) and (max-width: 1023px) {
		.metrics .list {
				grid-template-columns: repeat(2, 1fr);
		}
		.metrics .list .el:nth-child(1) {
				grid-column: 1/-1;
		}
}
@media only screen and (min-width: 1024px) and (max-width: 1279px) {
		.metrics .list {
				grid-template-columns: repeat(3, 1fr);
		}
		.metrics .list .el:nth-child(1) {
				grid-row: span 2;
		}
}
@media only screen and (min-width: 1280px) {
		.metrics .list {
				grid-template-columns: 2fr 1fr 1fr 2fr;
		}
		.metrics .list .el:nth-child(1), .metrics .list .el:nth-child(3) {
				grid-row: span 2;
		}
		.metrics .list .el:nth-child(2) {
				grid-column: span 2;
		}
}
@media only screen and (max-width: 1279px) {
		.metrics .list br {
				display: none;
		}
}
.metrics .list .el {
		position: relative;
		border-radius: 10px;
		padding: 40px 30px;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		gap: 30px;
		min-height: var(--min);
		color: var(--white);
		min-height: 195px;
}
.metrics .list .el.wide {
		grid-column: 1/-1;
}
.metrics .list .title {
		--title: 44px;
		color: var(--green);
}
@media only screen and (max-width: 767px) {
		.metrics .head {
				margin-bottom: 50px;
				text-align: center;
		}
		.metrics .head .image {
				max-width: 320px;
				margin: 0 auto;
		}
}
@media only screen and (min-width: 768px) {
		.metrics .head {
				display: flex;
				align-items: center;
				margin-top: calc(var(--vert) * -1);
		}
		.metrics .head .descr {
				padding: calc(var(--vert) + 60px) 20px 20px 0;
				width: 40%;
				max-width: 530px;
		}
		.metrics .head .text {
				max-width: 474px;
		}
		.metrics .head .image {
				align-self: flex-end;
				width: 60%;
		}
}
@media only screen and (min-width: 1024px) {
		.metrics {
				padding-top: 80px;
		}
}
.metrics .head.js_detect-scroll .title, .metrics .head.js_detect-scroll .text, .metrics .list.js_detect-scroll .el {
		transition-property: transform, opacity;
		transition-duration: 0.8s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);
		backface-visibility: hidden;
}
.metrics .head.js_detect-scroll .text {
		transition-delay: 0.1s;
}
.metrics .list.js_detect-scroll .el {
		transition-delay: 0.5s;
}
.metrics .list.js_detect-scroll .el:nth-child(1) {
		transition-delay: 0s;
}
.metrics .list.js_detect-scroll .el:nth-child(2) {
		transition-delay: 0.1s;
}
.metrics .list.js_detect-scroll .el:nth-child(3) {
		transition-delay: 0.2s;
}
.metrics .list.js_detect-scroll .el:nth-child(4) {
		transition-delay: 0.3s;
}
.metrics .list.js_detect-scroll .el:nth-child(5) {
		transition-delay: 0.4s;
}
.metrics .head.js_detect-scroll:not(.visible) .title, .metrics .head.js_detect-scroll:not(.visible) .text, .metrics .list.js_detect-scroll:not(.visible) .el {
		transform: translate3d(0, 50px, 0);
		opacity: 0;
		pointer-events: none;
}
.reviews {
		overflow: hidden;
}
.reviews .head {
		margin: 0 0 50px 0;
}
.reviews .head .title {
		--title: 56px;
		margin: -0.25em 0;
}
@media only screen and (max-width: 767px) {
		.reviews .head {
				text-align: center;
		}
		.reviews .head .title {
				margin-bottom: calc(30px - 0.25em);
		}
}
@media only screen and (min-width: 768px) {
		.reviews .head {
				display: flex;
				align-items: flex-start;
				justify-content: space-between;
				gap: 20px;
		}
		.reviews .head .title {
				flex: 1 1 auto;
				text-wrap: balance;
				max-width: 7.2em;
		}
		.reviews .head .text {
				flex: 0 0 auto;
				width: 48.68%;
		}
}
.reviews .list, .reviews .el {
		list-style: none;
		margin: 0;
		padding: 0;
}
.reviews .list {
		display: flex;
		gap: 20px;
		--padding: 40px;
		--size: 105px;
		--width: var(--size);
		--height: var(--size);
}
.reviews .el {
		backface-visibility: hidden;
		overflow: hidden;
		transition-property: width, height, transform, opacity;
		transition-duration: 0.4s, 0.4s, 0.8s, 0.8s;
		transition-timing-function: ease;
		position: relative;
		border-radius: 10px;
		user-select: none;
		transform: translate3d(0, 0, 0);
}
.reviews .el:not(.open) {
		cursor: pointer;
}
.reviews .el:before, .reviews .el:after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		border-radius: inherit;
		pointer-events: none;
		transition: opacity 0.4s ease;
}
.reviews .el:before {
		background: linear-gradient(180deg, #101010 0%, #1C1522 100%);
}
.reviews .el:not(.open):before {
		opacity: 0;
}
.reviews .el:after {
		border: 1px solid #383838;
}
.reviews .el.open:after {
		opacity: 0;
}
.reviews .el .quote {
		position: absolute;
		top: var(--padding);
		left: var(--padding);
		width: 43px;
		height: 39px;
		transition: transform 0.4s ease;
		backface-visibility: hidden;
		transform: translate3d(0, 0, 0);
}
.reviews .el .quote:before, .reviews .el .quote:after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		background-repeat: no-repeat;
		background-position: 50% 50%;
		background-size: contain;
		transition-property: transform, opacity;
		transition-duration: 0.4s;
		transition-timing-function: ease;
}
.reviews .el .quote:before {
		background-image: url("../img/quote-white.svg");
		opacity: 0.2;
}
.reviews .el .quote:after {
		background-image: url("../img/quote-green.svg");
}
.reviews .el:not(.open) .quote:after {
		opacity: 0;
}
.reviews .el .name {
		position: absolute;
		bottom: var(--padding);
		left: var(--padding);
		margin: 0;
		white-space: nowrap;
		color: var(--white);
		transition-property: transform, opacity;
		transition-duration: 0.4s;
		transition-timing-function: ease;
		backface-visibility: hidden;
		transform: translate3d(0, 0, 0);
		line-height: 1.4;
		font-size: 21px;
}
.reviews .el.open .name {
		color: var(--white70)
}
.reviews .el .title {
		margin: 0;
		padding: 0;
		display: block;
		padding: calc(var(--padding) + 70px) var(--padding);
		transition: opacity 0.4s ease;
		display: flex;
		flex-direction: column;
		justify-content: center;
		position: relative;
		--title: 44px;
		line-height: 1.2;
}
.reviews .el .title > * {
		margin: 0;
		flex: 0 0 auto;
		width: 100%;
}
.reviews .el:not(.open) .title {
		opacity: 0;
}
@media only screen and (max-width: 767px) {
		.reviews .list {
				flex-direction: column;
		}
		.reviews .el {
				flex: 0 0 auto;
				width: 100%;
				height: calc(var(--padding) * 2 + 70px);
		}
		.reviews .el.open {
				height: calc((var(--padding) + 70px) * 2 + var(--height));
		}
		.reviews .el:not(.open) .quote {
				transform: translate3d(0, -10px, 0);
		}
		.reviews .el:not(.open) .name {
				transform: translate3d(0, 10px, 0);
		}
		.reviews .el .title {
				height: calc((var(--padding) + 70px) * 2 + var(--height));
		}
}
@media only screen and (min-width: 768px) {
		.reviews .el {
				flex: 0 0 auto;
				width: var(--size);
				display: flex;
				flex-direction: column;
		}
		.reviews .el.open {
				width: calc(var(--width) - (var(--size) * 2) - 40px);
		}
		.reviews .el:not(.open) .quote {
				transform: translate3d(-10px, 0, 0);
		}
		.reviews .el .name {
				transform-origin: 0 100%;
				transform: translate3d(0, 0, 0) rotate(0deg);
		}
		.reviews .el:not(.open) .name {
				transform: translate3d(calc(1.4em - 10px), 0, 0) rotate(-90deg);
		}
		.reviews .el .title {
				min-height: 520px;
				width: calc(var(--width) - var(--size) * 2 - 40px);
				flex: 1 0 auto;
		}
}
@media only screen and (min-width: 1280px) {
		.reviews .list {
				--padding: 60px;
				--size: 140px;
		}
}
.reviews:has(.js_detect-scroll) .head .title, .reviews:has(.js_detect-scroll) .head .text {
		transition-property: transform, opacity;
		transition-duration: 0.8s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);
		backface-visibility: hidden;
}
.reviews:has(.js_detect-scroll) .head .text {
		transition-delay: 0.1s;
}
.reviews:has(.js_detect-scroll) .el {
		transition-delay: 0s, 0s, 0.5s, 0.5s;
}
.reviews:has(.js_detect-scroll) .el:nth-child(1) {
		transition-delay: 0s, 0s, 0.2s, 0.2s;
}
.reviews:has(.js_detect-scroll) .el:nth-child(2) {
		transition-delay: 0s, 0s, 0.3s, 0.3s;
}
.reviews:has(.js_detect-scroll) .el:nth-child(3) {
		transition-delay: 0s, 0s, 0.4s, 0.4s;
}
.reviews:has(.js_detect-scroll:not(.visible)) .head .title, .reviews:has(.js_detect-scroll:not(.visible)) .head .text, .reviews:has(.js_detect-scroll:not(.visible)) .el {
		transform: translate3d(0, 50px, 0);
		opacity: 0;
		pointer-events: none;
}
.cta {
		text-align: center;
}
.cta .head {
		margin: 0 0 45px 0;
}
.cta .head .title {
		margin-top: -0.15em;
		margin-bottom: calc(30px - 0.15em);
}
@media only screen and (min-width: 1024px) {
		.cta .head .title {
				--title: 82px;
		}
}
.cta .steps, .cta .steps .el {
		list-style: none;
		margin: 0;
		padding: 0;
}
.cta .steps .el:before {
		display: none;
}
.cta .steps .icon {
		width: 100px;
		height: 100px;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		border-radius: 50%;
		background: linear-gradient(180deg, #091D37 0%, rgba(16, 16, 16, 0) 100%);
		margin: 0 auto 30px auto;
}
.cta .steps .icon:after {
		content: '';
		pointer-events: none;
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		border: 1px solid transparent;
		background: linear-gradient(to bottom, var(--white20) 0%, var(--white0) 100%) border-box;
		-webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
		mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
		-webkit-mask-composite: destination-out;
		mask-composite: exclude;
		border-radius: inherit;
}
@media only screen and (max-width: 1023px) {
		.cta .steps {
				margin-left: auto;
				margin-right: auto;
				max-width: 480px;
		}
		.cta .steps .el:not(:first-child):before {
				content: '';
				display: block;
				width: 30px;
				height: 42px;
				background: #51FA7B26 url("../img/double-chevron-right-green.svg") no-repeat 50% 50%/12px auto;
				border-radius: 20px;
				transform: rotate(90deg);
				margin: 26px auto;
				position: static;
				left: auto;
				min-width: 0;
		}
}
@media only screen and (min-width: 1024px) {
		.cta .steps {
				display: flex;
				gap: 60px;
		}
		.cta .steps .el {
				flex: 1;
				position: relative;
		}
		.cta .steps .el:not(:first-child):before {
				content: '';
				position: absolute;
				display: block;
				min-width: 0;
				margin: 0;
				top: 50px;
				left: -30px;
				transform: translate3d(-50%, -50%, 0);
				width: 192px;
				max-width: calc(100% - 100px);
				height: 30px;
				background: url("../img/cta-steps-dots.svg") no-repeat 50% 50%/192px auto;
		}
		.cta .steps .el:not(:first-child):after {
				content: '';
				display: block;
				width: 42px;
				height: 30px;
				background: #51FA7B26 url("../img/double-chevron-right-green.svg") no-repeat 50% 50%/12px auto;
				border-radius: 20px;
				min-width: 0;
				position: absolute;
				top: 50px;
				left: -30px;
				margin: 0;
				transform: translate3d(-50%, -50%, 0);
		}
}
@media only screen and (min-width: 1280px) {
		.cta .steps {
				font-size: 18px;
		}
}
.cta .block {
		margin: 60px 0 0 0;
		position: relative;
		background: linear-gradient(180deg, #091D37 0%, rgba(16, 16, 16, 0) 100%);
		border-radius: 10px;
		padding: 100px 20px;
}
.cta .block:after {
		content: '';
		pointer-events: none;
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		border: 1px solid transparent;
		background: linear-gradient(to bottom, var(--white20) 0%, var(--white0) 100%) border-box;
		-webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
		mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
		-webkit-mask-composite: destination-out;
		mask-composite: exclude;
		border-radius: inherit;
}
.cta .block .title {
		--title: 44px;
		margin: -0.15em auto calc(20px - 0.15em) auto;
		max-width: 16.5em;
}
.cta .block .title.small {
		max-width: 23em;
		--title: 36px;
}
.cta .btns {
		margin: 40px 0 0 0;
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		justify-content: center;
		gap: 20px;
}
@media only screen and (max-width: 639px) {
		.cta .btns .btn {
				width: 100%;
				padding: 0 10px;
		}
}
.cta:has(.head.js_detect-scroll) .head .title, .cta:has(.head.js_detect-scroll) .head .text, .cta:has(.head.js_detect-scroll) .steps .el, .cta .block .js_detect-scroll .title, .cta .block .js_detect-scroll .text, .cta .block .js_detect-scroll .btns > * {
		transition-property: transform, opacity;
		transition-duration: 0.8s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);
		backface-visibility: hidden;
}
.cta:has(.head.js_detect-scroll) .head .text {
		transition-delay: 0.1s;
}
.cta:has(.head.js_detect-scroll) .steps .el {
		transition-delay: 0.6s;
}
.cta:has(.head.js_detect-scroll) .steps .el:nth-child(1) {
		transition-delay: 0.2s;
}
.cta:has(.head.js_detect-scroll) .steps .el:nth-child(2) {
		transition-delay: 0.3s;
}
.cta:has(.head.js_detect-scroll) .steps .el:nth-child(3) {
		transition-delay: 0.4s;
}
.cta:has(.head.js_detect-scroll) .steps .el:nth-child(4) {
		transition-delay: 0.5s;
}
.cta .block .js_detect-scroll .text {
		transition-delay: 0.1s;
}
.cta .block .js_detect-scroll .btns > * {
		transition-delay: 0.4s;
}
.cta .block .js_detect-scroll .btns > *:nth-child(1) {
		transition-delay: 0.2s;
}
.cta .block .js_detect-scroll .btns > *:nth-child(2) {
		transition-delay: 0.3s;
}
.cta:has(.head.js_detect-scroll:not(.visible)) .head .title, .cta:has(.head.js_detect-scroll:not(.visible)) .head .text, .cta:has(.head.js_detect-scroll:not(.visible)) .steps .el, .cta .block .js_detect-scroll:not(.visible) .title, .cta .block .js_detect-scroll:not(.visible) .text, .cta .block .js_detect-scroll:not(.visible) .btns > * {
		transform: translate3d(0, 50px, 0);
		opacity: 0;
		pointer-events: none;
}
.strategy {
		margin-top: -40px;
		padding-top: 0;
		position: relative;
		overflow: hidden;
}
.strategy:before {
		content: '';
		position: absolute;
		z-index: 2;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		pointer-events: none;
		background: linear-gradient(to bottom, var(--black) 0%, var(--black0) 120px, var(--black0) calc(100% - var(--vert)), var(--black) 100%);
}
.strategy .image {
		margin: 0 calc(var(--side) * -1);
		position: relative;
		width: calc(100% + var(--side) * 2);
		z-index: 1;
		aspect-ratio: 1440/429;
		min-height: 300px;
}
.strategy .image img, .strategy .image video {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate3d(-50%, -70%, 0);
		width: 100%;
		height: auto;
		object-fit: cover;
		object-position: center;
		aspect-ratio: 1920/1200;
}
.strategy .head {
		position: relative;
		z-index: 3;
		padding-top: 120px;
}
.strategy .head .title {
		--title: 82px;
		margin-top: -0.15em;
		margin-bottom: calc(30px - 0.15em);
		max-width: 6em;
}
.strategy .head .text {
		max-width: 20.71em;
}
@media only screen and (min-width: 1280px) {
		.strategy .head .text {
				font-size: 21px;
		}
}
.strategy .foot {
		position: relative;
		z-index: 3;
		display: flex;
}
.strategy .foot .title {
		--title: 33px;
		margin: -0.15em 0 -0.15em auto;
		flex: 0 0 auto;
		width: 100%;
		max-width: 18.7878em;
		line-height: 1.2;
}
@media only screen and (min-width: 768px) {
		.strategy .foot .title {
				width: 54.38%;
				max-width: none;
		}
}
.strategy .head.js_detect-scroll .title, .strategy .head.js_detect-scroll .text, .strategy .foot.js_detect-scroll .title {
		transition-property: transform, opacity;
		transition-duration: 0.8s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);
		backface-visibility: hidden;
}
.strategy .head.js_detect-scroll .text {
		transition-delay: 0.1s;
}
.strategy .head.js_detect-scroll:not(.visible) .title, .strategy .head.js_detect-scroll:not(.visible) .text, .strategy .foot.js_detect-scroll:not(.visible) .title {
		transform: translate3d(0, 50px, 0);
		opacity: 0;
		pointer-events: none;
}
.profiles {
		padding-bottom: 80px;
}
.profiles .head1 {
		margin: 0 0 50px 0;
}
.profiles .head1 .title {
		--title: 56px;
		margin: -0.15em 0;
}
.profiles .head2 {
		margin: 80px 0 40px 0;
}
.profiles .head2 .title {
		--title: 33px;
		margin: -0.15em 0;
}
@media only screen and (max-width: 767px) {
		.profiles .head1, .profiles .head2, .profiles .list1 {
				text-align: center;
		}
		.profiles .head1 .title, .profiles .head2 .title {
				margin-bottom: 30px;
		}
}
@media only screen and (min-width: 768px) {
		.profiles .head1 {
				display: flex;
				align-items: flex-start;
				justify-content: space-between;
				gap: 20px;
		}
		.profiles .head1 .title {
				flex: 1 1 auto;
				max-width: 8em;
		}
		.profiles .head1 .title:only-child {
				max-width: none;
		}
		.profiles .head1 .text {
				flex: 0 0 auto;
				width: 54.38%;
		}
}
.profiles .list1, .profiles .list1 .el, .profiles .list2, .profiles .list2 .el {
		list-style: none;
		margin: 0;
		padding: 0;
}
.profiles .list1 .el:before, .profiles .list2 .el:before {
		display: none;
}
.profiles .list1 {
		display: grid;
		gap: 20px;
		grid-template-columns: repeat(1, 1fr);
}
@media only screen and (min-width: 1024px) {
		.profiles .list1 {
				grid-template-columns: repeat(3, 1fr);
		}
}
.profiles .list1 .el {
		border-radius: 10px;
		padding: 40px 30px 0 30px;
		display: flex;
		flex-direction: column;
		border-radius: 10px;
		position: relative;
		backface-visibility: hidden;
		overflow: hidden;
		transform: translateZ(0);
}
.profiles .list1 .mini-title {
		font: inherit;
		color: inherit;
		margin: 0 0 20px 0;
}
.profiles .list1 .title {
		--title: 24px;
		margin: -0.15em 0 calc(10px - 0.15em) 0;
		line-height: 1.2;
}
.profiles .list1 .mini-title ~ .title {
		--title: 27px;
}
.profiles .list1 .text {
		font-size: 14px;
}
.profiles .list1 .image {
		flex: 0 0 auto;
		position: relative;
		align-self: center;
		margin: auto -30px 0 -30px;
		width: calc(100% + 60px);
		max-width: 370px;
		aspect-ratio: 1/1;
}
.profiles .list1 .image img, .profiles .list1 .image video {
		position: absolute;
		top: -10%;
		left: -10%;
		width: 120%;
		height: 120%;
		object-fit: cover;
		object-position: top center;
}
@media only screen and (min-width: 1280px) {
		.profiles .list1 .el {
				padding: 50px 40px 0 40px;
		}
		.profiles .list1 .image {
				margin-left: -40px;
				margin-right: -40px;
				width: calc(100% + 80px);
		}
}
.profiles .list2 {
		display: grid;
		gap: 20px;
		grid-template-columns: repeat(1, 1fr);
}
@media only screen and (min-width: 500px) and (max-width: 1023px) {
		.profiles .list2 {
				grid-template-columns: repeat(2, 1fr);
		}
}
@media only screen and (min-width: 1024px) {
		.profiles .list2 {
				grid-template-columns: repeat(3, 1fr);
		}
		.profiles .list2 .el:nth-child(1), .profiles .list2 .el:nth-child(2) {
				grid-row: span 2;
		}
}
@media only screen and (max-width: 1279px) {
		.profiles .list2 br {
				display: none;
		}
}
.profiles .list2 .el {
		position: relative;
		border-radius: 10px;
		padding: 40px 30px;
		display: flex;
		flex-direction: column;
		gap: 30px;
		min-height: var(--min);
		color: var(--white);
		min-height: 195px;
}
.profiles .list2 .title {
		--title: 44px;
		color: var(--green);
		margin: -0.15em 0;
}
.profiles .list2 .text {
		margin-top: auto;
}
.profiles .list2 .small {
		margin-top: -20px;
		opacity: 0.5;
}
.profiles .head1.js_detect-scroll .title, .profiles .head1.js_detect-scroll .text, .profiles .head2.js_detect-scroll .title, .profiles .head1.js_detect-scroll ~ .list1 .el, .profiles .head2.js_detect-scroll ~ .list2 .el {
		transition-property: transform, opacity;
		transition-duration: 0.8s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);
		backface-visibility: hidden;
}
.profiles .head1.js_detect-scroll .text {
		transition-delay: 0.1s;
}
.profiles .head1.js_detect-scroll ~ .list1 .el {
		transition-delay: 0.5s;
}
.profiles .head1.js_detect-scroll ~ .list1 .el:nth-child(1) {
		transition-delay: 0.2s;
}
.profiles .head1.js_detect-scroll ~ .list1 .el:nth-child(2) {
		transition-delay: 0.3s;
}
.profiles .head1.js_detect-scroll ~ .list1 .el:nth-child(3) {
		transition-delay: 0.4s;
}
.profiles .head2.js_detect-scroll ~ .list2 .el {
		transition-delay: 0.5s;
}
.profiles .head2.js_detect-scroll ~ .list2 .el:nth-child(1) {
		transition-delay: 0.1s;
}
.profiles .head2.js_detect-scroll ~ .list2 .el:nth-child(2) {
		transition-delay: 0.2s;
}
.profiles .head2.js_detect-scroll ~ .list2 .el:nth-child(3) {
		transition-delay: 0.3s;
}
.profiles .head2.js_detect-scroll ~ .list2 .el:nth-child(4) {
		transition-delay: 0.4s;
}
.profiles .head1.js_detect-scroll:not(.visible) .title, .profiles .head1.js_detect-scroll:not(.visible) .text, .profiles .head2.js_detect-scroll:not(.visible) .title, .profiles .head1.js_detect-scroll:not(.visible) ~ .list1 .el, .profiles .head2.js_detect-scroll:not(.visible) ~ .list2 .el {
		transform: translate3d(0, 50px, 0);
		opacity: 0;
		pointer-events: none;
}
.join-us {
		position: relative;
		overflow: hidden;
		text-align: center;
		padding-top: 75px;
		padding-bottom: 75px;
		display: flex;
		flex-direction: column;
		align-items: center;
		min-height: 440px;
		margin-bottom: 30px;
}
.join-us:before, .join-us:after {
		content: '';
		position: absolute;
		z-index: 1;
		width: 660px;
		height: 660px;
		border-radius: 50%;
		top: 50%;
		margin: -330px;
		background-image: radial-gradient(circle at center, var(--black0) 0%, var(--black) 50%), url("../img/join-us-bg.svg");
		background-position: 50% 50%;
		pointer-events: none;
}
.join-us:before {
		left: calc(50% - 411px);
}
.join-us:after {
		left: calc(50% + 411px);
}
.join-us > * {
		position: relative;
		z-index: 2;
}
.join-us .icon {
		width: 65px;
		height: 65px;
		flex: 0 0 auto;
		margin: 0 auto 26px auto;
		object-fit: contain;
		object-position: center;
		display: block;
}
.join-us .title {
		--title: 36px;
		max-width: 411px;
		width: 100%;
		margin: -0.15em auto calc(20px - 0.15em) auto;
}
.join-us .text {
		flex: 0 0 auto;
		width: 100%;
		max-width: 411px;
		margin: 0 auto;
		font-size: 14px;
}
.join-us .btn {
		margin-top: 30px;
}
.join-us:has(.js_detect-scroll) .icon, .join-us:has(.js_detect-scroll) .title, .join-us:has(.js_detect-scroll) .text, .join-us:has(.js_detect-scroll) .btn {
		transition-property: transform, opacity;
		transition-duration: 0.8s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);
		backface-visibility: hidden;
}
.join-us:has(.js_detect-scroll) .title {
		transition-delay: 0.1s;
}
.join-us:has(.js_detect-scroll) .text {
		transition-delay: 0.2s;
}
.join-us:has(.js_detect-scroll) .btn {
		transition-delay: 0.3s;
}
.join-us:has(.js_detect-scroll:not(.visible)) .icon, .join-us:has(.js_detect-scroll:not(.visible)) .title, .join-us:has(.js_detect-scroll:not(.visible)) .text, .join-us:has(.js_detect-scroll:not(.visible)) .btn {
		transform: translate3d(0, 50px, 0);
		opacity: 0;
		pointer-events: none;
}
.footer {
		display: flex;
		align-items: center;
		font: 500 12px/1.3 var(--font-title);
		color: var(--white50);
		padding: 52px var(--side);
		margin: 0;
}
.footer ul, .footer li {
		list-style: none;
		margin: 0;
		padding: 0;
}
.footer li:before {
		display: none;
}
.footer a:not(.btn) {
		text-decoration: none;
		color: var(--white);
}
.footer .links, .footer .text {
		flex: 1;
}
.footer .text {
		text-align: right;
}
.footer .links {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
}
.footer .links li {
		flex: 0 0 auto;
		position: relative;
}
.footer .links li:not(:first-child) {
		padding-left: 23px;
}
.footer .links li:not(:first-child):after {
		content: '·';
		position: absolute;
		top: 0;
		left: 0;
		width: 23px;
		text-align: center;
}
.footer .soc {
		flex: 0 0 auto;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
}
.footer .soc a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		border-radius: 50%;
		background: #51FA7B1A;
		text-decoration: none;
		color: var(--green);
}
.footer .soc img {
		flex: 0 0 auto;
		width: auto;
		height: auto;
		max-width: 16px;
		max-height: 16px;
}
@media only screen and (max-width: 767px) {
		.footer {
				flex-direction: column;
				gap: 30px;
				align-items: center;
		}
		.footer .links {
				justify-content: center;
		}
		.footer .text {
				text-align: center;
		}
}
.hero-card {
		position: relative;
		padding: calc(var(--header) + 50px) var(--side2) 50px var(--side2);
		min-height: 100vh;
		min-height: 100svh;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		gap: 30px;
		font-size: 14px;
}
.hero-card .image img, .hero-card .image video {
		position: absolute;
		object-fit: cover;
		object-position: center;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
}
.hero-card .head {
		position: relative;
		flex: 0 0 auto;
		width: 100%;
}
.hero-card .head .title {
		--title: 64px;
}
.hero-card .head .text {
		max-width: 36em;
}
@media only screen and (max-width: 767px) {
		.hero-card {
				text-align: center;
				padding-top: 0;
		}
		.hero-card .image {
				position: relative;
				overflow: hidden;
				margin: 0 calc(var(--side) * -1);
				flex: 1 0 auto;
		}
		.hero-card .image > * {
				aspect-ratio: 1920/1200;
				width: 100%;
				top: 50%;
				left: 50%;
				position: absolute;
				transform: translate3d(-50%, -50%, 0);
		}
		.hero-card .image:after, .hero-card .image > *:after {
				content: '';
				z-index: 2;
				position: absolute;
				top: 0;
				left: 0;
				bottom: 0;
				right: 0;
				background: linear-gradient(to bottom, var(--black) 0%, var(--black0) 20%, var(--black0) 80%, var(--black) 100%);
		}
		.hero-card .head .title {
				margin-bottom: calc(30px - 0.15em);
		}
		.hero-card .head .text {
				margin: 0 auto;
		}
}
@media only screen and (min-width: 768px) {
		.hero-card .image {
				position: absolute;
				top: 0;
				left: 0;
				bottom: 0;
				right: 0;
		}
		.hero-card .head {
				display: flex;
				align-items: flex-end;
				justify-content: space-between;
		}
		.hero-card .head .title {
				flex: 0 0 auto;
				width: 50%;
				padding-right: 20px;
		}
		.hero-card .head .text {
				flex: 0 0 auto;
				width: 50%;
		}
}
.hero-card:has(.js_detect-scroll) .head .title, .hero-card:has(.js_detect-scroll) .head .text {
		transition-property: transform, opacity;
		transition-duration: 0.8s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);
		backface-visibility: hidden;
}
.hero-card:has(.js_detect-scroll) .head .text {
		transition-delay: 0.1s;
}
.hero-card:has(.js_detect-scroll:not(.visible)) .head .title, .hero-card:has(.js_detect-scroll:not(.visible)) .head .text {
		transform: translate3d(0, 50px, 0);
		opacity: 0;
		pointer-events: none;
}
.compare {
		padding-top: 170px;
}
@media only screen and (min-width: 1024px) {
		.compare {
				--vert: 120px;
		}
}
.compare .head {
		padding-right: 20px;
}
.compare .head .mini-title {
		margin-bottom: 30px;
}
@media only screen and (min-width: 1024px) {
		.compare .head .mini-title {
				font-size: 21px;
		}
}
.compare .head .title {
		--title: 50px;
}
.compare .swiper {
		margin: 0 calc(var(--side) * -1) !important;
		width: auto !important;
		padding: 0 calc(var(--side) - 10px) !important;
		margin-top: -130px !important;
}
.compare .swiper-slide {
		width: 34.5%;
		padding: 130px 10px 0 10px;
		min-width: 320px;
		position: relative;
		height: auto !important;
}
.compare .swiper-slide.first {
		width: 31%;
		min-width: 200px;
		z-index: 5;
}
.compare .swiper-slide:not(.first):before {
		content: '';
		display: block;
		width: auto;
		margin: 0;
		min-width: 0;
		position: absolute;
		top: 130px;
		left: 10px;
		right: 10px;
		bottom: 0;
		border-radius: 20px;
		background: linear-gradient(180deg, #091D37 -54.96%, rgba(16, 16, 16, 0) 100%), #000104;
}
.compare .swiper-slide > * {
		position: relative;
}
.compare .title-place {
		display: flex;
		flex-direction: column;
		padding-bottom: 10px;
		pointer-events: none;
		height: 84px;
}
.compare .title-place > .title {
		--title: 27px;
		width: calc(100vw - var(--side) * 2);
		margin-top: auto;
		min-width: 820px;
		margin-bottom: 0;
}
.compare .slider-head, .compare .title-place:first-child {
		height: 390px;
}
.compare .slider-head {
		padding: 0 30px 30px 30px;
		display: flex;
		flex-direction: column;
		gap: 10px;
}
.compare .slider-head .image {
		position: relative;
		height: 162px;
		margin-bottom: -10px;
}
.compare .slider-head .image img, .compare .slider-head .image video {
		position: absolute;
		top: -130px;
		left: 50%;
		height: calc(100% + 130px);
		width: calc(100% + 200px);
		transform: translate3d(-50%, 0, 0);
		object-fit: contain;
		object-position: center;
		pointer-events: none;
		backface-visibility: hidden;
}
.compare .slider-head .title {
		font-size: 30px;
		line-height: 1.2;
		height: 2.4em;
		margin-bottom: 0;
}
.compare .slider-head .text {
		color: var(--white50);
		line-height: 1.4;
		height: 2.8em;
}
.compare .slider-head .text strong {
		font-weight: inherit;
		color: var(--white);
}
.compare .slider-head .btn {
		margin-top: auto;
		padding: 0 10px;
}
.compare .cell {
		display: flex;
		align-items: center;
		height: 53px;
		overflow: hidden;
		border-radius: 10px;
		font: 500 18px/1.3 var(--font-title);
		color: var(--white);
		padding: 0 15px;
		background: var(--white5);
		margin: 0 30px 5px 30px;
}
.compare .cell.gray {
		color: var(--white50);
}
.compare .cell .small {
		font-size: 12px;
}
@media only screen and (max-width: 1279px) {
		.compare .cell {
				font-size: 16px;
		}
		.compare .swiper-slide:not(.first) .cell {
				margin-left: 20px;
				margin-right: 20px;
		}
		.compare .slider-head {
				padding-left: 20px;
				padding-right: 20px;
		}
}
.compare .first .cell {
		color: var(--white70);
		background: none;
		padding: 0;
		border-radius: 0;
		margin-left: 0;
		margin-right: 0;
}
.kyc {
		overflow: hidden;
}
.kyc .image {
		flex: 0 0 auto;
		position: relative;
		aspect-ratio: 1/1;
		pointer-events: none;
}
.kyc .image > * {
		position: absolute;
		width: 114%;
		height: 114%;
		bottom: 0;
		left: 50%;
		transform: translate3d(-50%, 0, 0);
}
.kyc .image > *:after {
		content: '';
		position: absolute;
		z-index: 2;
		bottom: 0;
		left: 0;
		right: 0;
		height: 25%;
		background: linear-gradient(to bottom, var(--black0) 0%, var(--black) 100%);
}
.kyc .image img, .kyc .image video {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: bottom center;
}
.kyc .head {
		margin: 0 0 40px 0;
}
.kyc .head .title {
		--title: 64px;
		margin-bottom: calc(30px - 0.15em);
		text-wrap: balance;
}
.kyc .head .text {
		max-width: 32.5em;
}
.kyc .list, .kyc .list .el {
		list-style: none;
		margin: 0;
		padding: 0;
}
.kyc .list .el:before {
		display: none;
}
.kyc .list {
		display: grid;
		gap: 20px;
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 1fr;
}
.kyc .list .el {
		position: relative;
		border-radius: 10px;
		padding: 30px 25px;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		gap: 30px;
		color: var(--white);
}
.kyc .list .el:nth-child(odd):last-child {
		grid-column: 1/-1;
}
.kyc .list .icon {
		align-self: flex-start;
		height: 30px;
		width: auto;
		flex: 0 0 auto;
}
@media only screen and (max-width: 499px) {
		.kyc .list {
				grid-template-columns: repeat(1, 1fr);
		}
}
@media only screen and (min-width: 1024px) {
		.kyc {
				--vert: 120px;
		}
}
@media only screen and (max-width: 1023px) {
		.kyc .image {
				width: 100%;
				margin: 0 auto;
				max-width: 480px;
		}
		.kyc .head {
				text-align: center;
		}
		.kyc .head .text {
				margin-left: auto;
				margin-right: auto;
		}
}
@media only screen and (min-width: 1024px) {
		.kyc {
				display: flex;
				align-items: center;
				justify-content: space-between;
				padding-bottom: 54px;
		}
		.kyc .image {
				flex: 0 0 auto;
				width: 60%;
				margin-left: -7%;
				margin-bottom: -10px;
		}
		.kyc .wrap {
				flex: 0 0 auto;
				width: 45.61%;
				position: relative;
				z-index: 3;
		}
}
.kyc:has(.js_detect-scroll) .head .title, .kyc:has(.js_detect-scroll) .head .text, .kyc:has(.js_detect-scroll) .list .el {
		transition-property: transform, opacity;
		transition-duration: 0.8s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);
		backface-visibility: hidden;
}
.kyc:has(.js_detect-scroll) .head .text {
		transition-delay: 0.1s;
}
.kyc:has(.js_detect-scroll) .list .el {
		transition-delay: 0.6s;
}
.kyc:has(.js_detect-scroll) .list .el:nth-child(1) {
		transition-delay: 0.2s;
}
.kyc:has(.js_detect-scroll) .list .el:nth-child(2) {
		transition-delay: 0.3s;
}
.kyc:has(.js_detect-scroll) .list .el:nth-child(3) {
		transition-delay: 0.4s;
}
.kyc:has(.js_detect-scroll) .list .el:nth-child(4) {
		transition-delay: 0.5s;
}
.kyc:has(.js_detect-scroll:not(.visible)) .head .title, .kyc:has(.js_detect-scroll:not(.visible)) .head .text, .kyc:has(.js_detect-scroll:not(.visible)) .list .el {
		transform: translate3d(0, 50px, 0);
		opacity: 0;
		pointer-events: none;
}
.hero-tokenomics {
		position: relative;
		min-height: 100vh;
		min-height: 100svh;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		padding: calc(var(--header) + 50px) var(--side2) 50px var(--side2);
		overflow: hidden;
}
.hero-tokenomics .image {
		aspect-ratio: 1/1;
		pointer-events: none;
		position: relative;
}
.hero-tokenomics .image img, .hero-tokenomics .image video {
		position: absolute;
		height: 100%;
		width: 100%;
		top: 0;
		left: 0;
		object-fit: contain;
		object-position: center;
}
.hero-tokenomics .title {
		--title: 72px;
		max-width: 8em;
		width: 100%;
		flex: 0 0 auto;
		position: relative;
		z-index: 2;
}
@media only screen and (max-width: 767px) {
		.hero-tokenomics {
				text-align: center;
		}
		.hero-tokenomics:after {
				content: '';
				flex: 0 0 auto;
		}
		.hero-tokenomics .dots {
				display: none;
		}
		.hero-tokenomics .image {
				width: 100%;
				margin: 0 auto 30px auto;
				max-width: 480px;
		}
		.hero-tokenomics .image:before {
				content: '';
				position: absolute;
				width: 100vw;
				height: auto;
				min-height: 100%;
				top: 50%;
				left: 50%;
				transform: translate3d(-50%, -50%, 0);
				background: url("../img/tokenomics-dots.svg") no-repeat 50% 50%/cover;
				aspect-ratio: 1440/900;
		}
		.hero-tokenomics .title {
				margin-left: auto;
				margin-right: auto;
		}
}
@media only screen and (min-width: 768px) {
		.hero-tokenomics {
				justify-content: space-around;
		}
		.hero-tokenomics:before {
				content: '';
				flex: 0 0 auto;
		}
		.hero-tokenomics .dots {
				position: absolute;
				width: 100vw;
				height: auto;
				min-height: 100%;
				top: 50%;
				left: 50%;
				transform: translate3d(-50%, -50%, 0);
				background: url("../img/tokenomics-dots.svg") no-repeat 50% 50%/cover;
				aspect-ratio: 1440/900;
		}
		.hero-tokenomics .image {
				position: absolute;
				width: calc((100% - var(--side) * 2) * 0.77);
				height: auto;
				max-height: 100vh;
				max-height: 100svh;
				top: 50%;
				left: 50%;
				transform: translate3d(-19.5%, -50%, 0);
		}
}
.hero-tokenomics.js_detect-scroll .title {
		transition-property: transform, opacity;
		transition-duration: 0.8s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);
		backface-visibility: hidden;
}
.hero-tokenomics.js_detect-scroll:not(.visible) .title {
		transform: translate3d(0, 50px, 0);
		opacity: 0;
		pointer-events: none;
}
.utility {
		--height: 150px;
		padding-bottom: 0;
}
.utility + * {
		z-index: 2;
}
.utility .image {
		margin: 0 calc(var(--side) * -1);
		margin-bottom: -12vw;
}
.utility .image img, .utility .image video {
		display: block;
		width: 100%;
		height: auto;
}
.utility .wrap {
		position: relative;
		z-index: 2;
}
.utility .head {
		position: relative;
		z-index: 3;
}
.utility .title {
		--title: 50px;
}
.utility .head .title {
		color: var(--green);
}
.utility .slider {
		position: relative;
		overflow: hidden;
		height: calc(var(--height) * 3);
		background: var(--black);
		pointer-events: none;
}
.utility .slider:after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		pointer-events: none;
		z-index: 2;
		background: linear-gradient(to bottom, var(--black) 5%, var(--black0) calc(33.333% + 30px), var(--black0) calc(66.666% - 30px), var(--black) 95%);
}
.utility .slider .title {
		margin-bottom: calc(20px - 0.15em);
}
.utility .swiper {
		height: calc(var(--height) * 3) !important;
		overflow: visible !important;
}
.utility .swiper-wrapper {
		display: grid;
		grid-template-columns: 100%;
		grid-auto-rows: var(--height);
}
.utility .swiper-slide {
		padding: 30px 0;
		height: auto !important;
		align-self: flex-start !important;
		margin-bottom: auto !important;
}
@media only screen and (max-width: 767px) {
		.utility {
				text-align: center;
		}
}
@media only screen and (min-width: 768px) {
		.utility .image {
				margin-top: -20vw;
		}
		.utility .wrap {
				display: flex;
				align-items: flex-start;
				justify-content: space-between;
		}
		.utility .head {
				text-align: right;
				flex: 0 0 auto;
				width: calc((100% - 40px) / 3);
				margin-top: calc(var(--height) + 30px);
		}
		.utility .slider {
				flex: 0 0 auto;
				width: calc((100% - 40px) / 3 * 2);
		}
}
.utility:has(.js_detect-scroll) .head .title, .utility:has(.js_detect-scroll) .slider {
		transition-property: transform, opacity;
		transition-duration: 0.8s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);
		backface-visibility: hidden;
}
.utility:has(.js_detect-scroll) .slider {
		transition-delay: 0.1s;
}
.utility:has(.js_detect-scroll:not(.visible)) .head .title, .utility:has(.js_detect-scroll:not(.visible)) .slider {
		transform: translate3d(0, 50px, 0);
		opacity: 0;
		pointer-events: none;
}
@media only screen and (min-width: 1024px) {
		.engine {
				padding-bottom: 150px;
		}
}
.engine .head {
		margin: 0 0 50px 0;
}
.engine .head .title {
		--title: 56px;
}
.engine .head .text {
		max-width: 36.0625em;
}
@media only screen and (max-width: 767px) {
		.engine .head {
				text-align: center;
		}
		.engine .head .text, .engine .head .title {
				margin-left: auto;
				margin-right: auto;
		}
		.engine .head .title {
				margin-bottom: calc(30px - 0.15em);
		}
}
@media only screen and (min-width: 768px) {
		.engine .head {
				display: flex;
				align-items: flex-end;
				justify-content: space-between;
		}
		.engine .head .title {
				flex: 0 0 auto;
				width: 45%;
		}
		.engine .head .text {
				flex: 0 0 auto;
				width: 50.614%;
		}
}
.engine .list, .engine .el {
		list-style: none;
		margin: 0;
		padding: 0;
}
.engine .el:before {
		display: none;
}
.engine .list {
		display: grid;
		gap: 20px;
		grid-template-columns: repeat(1, 1fr);
}
.engine .list br {
		display: none;
}
@media only screen and (min-width: 500px) and (max-width: 1023px) {
		.engine .list {
				grid-template-columns: repeat(2, 1fr);
		}
}
@media only screen and (min-width: 1024px) {
		.engine .list {
				grid-template-columns: repeat(3, 1fr);
		}
		.engine .list .el:nth-child(1), .engine .list .el:nth-child(2) {
				grid-row: span 2;
		}
		.engine .list br {
				display: block;
		}
}
.engine .list .el {
		position: relative;
		border-radius: 10px;
		padding: 40px 30px;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		gap: 30px;
		color: var(--white);
		min-height: 195px;
}
.engine .list .title {
		--title: 44px;
		color: var(--green);
}
.engine .list .title.small {
		--title: 30px;
}
.engine .list .title .small {
		font-size: max(14px, 53%);
}
.engine .list .title .arrow {
		font-size: 80%;
}
.engine:has(.js_detect-scroll) .head .title, .engine:has(.js_detect-scroll) .head .text, .engine:has(.js_detect-scroll) .el {
		transition-property: transform, opacity;
		transition-duration: 0.8s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);
		backface-visibility: hidden;
}
.engine:has(.js_detect-scroll) .head .text {
		transition-delay: 0.1s;
}
.engine:has(.js_detect-scroll) .el {
		transition-delay: 0.6s;
}
.engine:has(.js_detect-scroll) .el:nth-child(1) {
		transition-delay: 0.2s;
}
.engine:has(.js_detect-scroll) .el:nth-child(2) {
		transition-delay: 0.3s;
}
.engine:has(.js_detect-scroll) .el:nth-child(3) {
		transition-delay: 0.4s;
}
.engine:has(.js_detect-scroll) .el:nth-child(4) {
		transition-delay: 0.5s;
}
.engine:has(.js_detect-scroll:not(.visible)) .head .title, .engine:has(.js_detect-scroll:not(.visible)) .head .text, .engine:has(.js_detect-scroll:not(.visible)) .el {
		transform: translate3d(0, 50px, 0);
		opacity: 0;
		pointer-events: none;
}
.benefits {
		text-align: center;
		position: relative;
		min-height: 440px;
		overflow: hidden;
}
@media only screen and (min-width: 1024px) {
		.benefits {
				--vert: 90px;
		}
}
.benefits:before, .benefits:after {
		content: '';
		position: absolute;
		z-index: 1;
		width: 660px;
		height: 660px;
		border-radius: 50%;
		top: 50%;
		margin: -330px;
		background-image: radial-gradient(circle at center, var(--black0) 0%, var(--black) 50%), url("../img/join-us-bg.svg");
		background-position: 50% 50%;
		pointer-events: none;
}
.benefits:before {
		left: calc(50% - 411px);
}
.benefits:after {
		left: calc(50% + 411px);
}
.benefits > * {
		position: relative;
		z-index: 2;
}
.benefits .title {
		--title: 44px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: calc(20px - 0.15em);
		max-width: 16em;
}
.benefits .text {
		margin: 0 auto;
		max-width: 31.5em;
		line-height: 1.5;
		font-size: 16px;
}
@media only screen and (min-width: 1024px) {
		.benefits .text {
				font-size: 18px;
		}
}
.benefits .list, .benefits .list li {
		list-style: none;
		margin: 0;
		padding: 0;
}
.benefits .list li:before {
		display: none;
}
.benefits .list {
		text-align: left;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		margin: 30px auto 0 auto;
		max-width: 700px;
		gap: 10px;
}
.benefits .list li {
		flex: 0 0 auto;
		position: relative;
		max-width: 100%;
		font: 500 12px/1.3 var(--font-title);
		color: var(--white);
		padding: 12px 12px 12px 28px;
		border-radius: 10px;
		background: rgba(255, 255, 255, 0.1) url("../img/icons/check.svg") no-repeat 12px 16px;
}
@media only screen and (min-width: 1024px) {
		.benefits .list li {
				font-size: 14px;
		}
}
.benefits:has(.js_detect-scroll) .title, .benefits:has(.js_detect-scroll) .text, .benefits:has(.js_detect-scroll) .list li {
		transition-property: transform, opacity;
		transition-duration: 0.8s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);
		backface-visibility: hidden;
}
.benefits:has(.js_detect-scroll) .text {
		transition-delay: 0.1s;
}
.benefits:has(.js_detect-scroll) .list li {
		transition-delay: 0.7s;
}
.benefits:has(.js_detect-scroll) .list li:nth-child(1) {
		transition-delay: 0.2s;
}
.benefits:has(.js_detect-scroll) .list li:nth-child(2) {
		transition-delay: 0.3s;
}
.benefits:has(.js_detect-scroll) .list li:nth-child(3) {
		transition-delay: 0.4s;
}
.benefits:has(.js_detect-scroll) .list li:nth-child(4) {
		transition-delay: 0.5s;
}
.benefits:has(.js_detect-scroll) .list li:nth-child(5) {
		transition-delay: 0.6s;
}
.benefits:has(.js_detect-scroll:not(.visible)) .title, .benefits:has(.js_detect-scroll:not(.visible)) .text, .benefits:has(.js_detect-scroll:not(.visible)) .list li {
		transform: translate3d(0, 50px, 0);
		opacity: 0;
		pointer-events: none;
}
.chart {
		overflow: hidden;
}
.chart .head .title {
		--title: 55px;
		margin-top: calc(16px - 0.15em);
}
.chart .list, .chart .list li {
		list-style: none;
		margin: 0;
		padding: 0;
}
.chart .list li:before {
		display: none;
}
.chart .list {
		font-size: 10px;
		color: var(--white50);
}
.chart .size1 {
		color: var(--white);
		font-weight: 500;
		font-size: 138.5%;
		line-height: 1.1;
		letter-spacing: -3%;
		margin: -0.15em 0;
		font-family: var(--font-title);
}
.chart .size2 {
		color: var(--white);
		font-weight: 500;
		font-size: 259.6%;
		line-height: 1.1;
		letter-spacing: -3%;
		margin: 0.62em 0 0.23em 0;
		font-family: var(--font-title);
}
.chart .text2:last-child {
		margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
		.chart .circle > img {
				display: none;
		}
		.chart .head {
				text-align: center;
				margin: 0 0 50px 0;
		}
		.chart .list {
				display: flex;
				flex-direction: column;
				gap: 20px;
				border-left: 1px solid var(--white30);
				padding-left: 20px;
		}
		.chart .list li:before {
				content: '';
				display: block;
				min-width: 0;
				margin: 0 0 10px 0;
				height: 20px;
				border-radius: 2px;
				background: linear-gradient(to right, #69C5FF 0%, #FFFEE3 50%, #51FA7B 80%, #FFFEE3 100%) 100% 0/100vw 100%;
				background-position: calc((25% - var(--width)) * 3) 0;
				width: calc(var(--width) * 3);
				position: static;
		}
		.chart .list li.pos1 {
				--width: 25%;
		}
		.chart .list li.pos2 {
				--width: 20%;
		}
		.chart .list li.pos3 {
				--width: 15.5%;
		}
		.chart .list li.pos4 {
				--width: 15%;
		}
		.chart .list li.pos5 {
				--width: 8%;
		}
		.chart .list li.pos6 {
				--width: 5%;
		}
		.chart .list li.pos7 {
				--width: 5%;
		}
		.chart .list li.pos8 {
				--width: 4%;
		}
		.chart .list li.pos9 {
				--width: 2.5%;
		}
}
@media only screen and (min-width: 768px) {
		.chart {
				padding-top: 180px;
				padding-bottom: 110px;
		}
		.chart .circle {
				position: relative;
				width: 51.75%;
				aspect-ratio: 1/1;
				margin: 0 auto;
		}
		.chart .circle > img {
				width: 100%;
				height: 100%;
				position: absolute;
				top: 0;
				left: 0;
		}
		.chart .head {
				text-align: center;
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate3d(-50%, -65%, 0);
				width: 100%;
				font-size: 14px;
		}
		.chart .list {
				position: static;
		}
		@media only screen and (max-width: 1099px) {
				.chart .list {
						font-size: 9px;
				}
		}
		@media only screen and (max-width: 939px) {
				.chart .list {
						font-size: 7.5px;
				}
		}
		.chart .list li {
				position: absolute;
				width: 17.5em;
				text-align: right;
		}
		.chart .list li.pos1, .chart .list li.pos2, .chart .list li.pos9 {
				text-align: left;
		}
		.chart .list li.pos1 {
				top: 7.5%;
				left: 94%;
		}
		.chart .list li.pos2 {
				top: 72%;
				left: 98.5%;
		}
		.chart .list li.pos3 {
				top: 102%;
				right: 62.5%;
		}
		.chart .list li.pos4 {
				top: 73%;
				right: 100%;
		}
		.chart .list li.pos5 {
				bottom: 59%;
				right: 101.5%;
		}
		.chart .list li.pos6 {
				bottom: 78%;
				right: 95.5%;
		}
		.chart .list li.pos7 {
				bottom: 93.5%;
				right: 81%;
		}
		.chart .list li.pos8 {
				right: 61.5%;
				bottom: 103%;
				width: 10.4em;
		}
		.chart .list li.pos9 {
				left: 44.5%;
				bottom: 104%;
				width: 10.4em;
		}
}
.chart:has(.js_detect-scroll) .head .text, .chart:has(.js_detect-scroll) .head .title, .chart:has(.js_detect-scroll) .list li, .chart:has(.js_detect-scroll) .circle > img {
		transition-property: transform, opacity;
		transition-duration: 0.8s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);
		backface-visibility: hidden;
}
.chart:has(.js_detect-scroll) .head .title {
		transition-delay: 0.1s;
}
.chart:has(.js_detect-scroll) .list li {
		transition-delay: 1.1s;
}
.chart:has(.js_detect-scroll) .list li:nth-child(1) {
		transition-delay: 0.2s;
}
.chart:has(.js_detect-scroll) .list li:nth-child(2) {
		transition-delay: 0.3s;
}
.chart:has(.js_detect-scroll) .list li:nth-child(3) {
		transition-delay: 0.4s;
}
.chart:has(.js_detect-scroll) .list li:nth-child(4) {
		transition-delay: 0.5s;
}
.chart:has(.js_detect-scroll) .list li:nth-child(5) {
		transition-delay: 0.6s;
}
.chart:has(.js_detect-scroll) .list li:nth-child(6) {
		transition-delay: 0.7s;
}
.chart:has(.js_detect-scroll) .list li:nth-child(7) {
		transition-delay: 0.8s;
}
.chart:has(.js_detect-scroll) .list li:nth-child(8) {
		transition-delay: 0.9s;
}
.chart:has(.js_detect-scroll) .list li:nth-child(9) {
		transition-delay: 1s;
}
.chart:has(.js_detect-scroll:not(.visible)) .head .text, .chart:has(.js_detect-scroll:not(.visible)) .head .title, .chart:has(.js_detect-scroll:not(.visible)) .list li {
		transform: translate3d(0, 50px, 0);
		opacity: 0;
		pointer-events: none;
}
.chart:has(.js_detect-scroll:not(.visible)) .circle > img {
		opacity: 0.3;
		pointer-events: none;
}
.calculation {
		padding-top: 80px;
		padding-bottom: 80px;
		overflow: hidden;
}
.calculation .head {
		margin-bottom: 50px;
		font-size: 16px;
		text-wrap: balance;
}
@media only screen and (max-width: 1023px) {
		.calculation .head {
				text-align: center;
		}
}
@media only screen and (min-width: 1024px) {
		.calculation .head {
				font-size: 21px;
		}
}
.calculation .head .title {
		--title: 56px;
		margin-bottom: calc(20px - 0.15em);
}
.calculation .head strong {
		font-weight: inherit;
		color: var(--green);
}
.calculation .list {
		width: auto !important;
		margin: 0 calc(var(--side) * -1) !important;
		padding: 0 calc(var(--side) - 10px) !important;
		overflow: visible !important;
}
.calculation .swiper-slide {
		width: 33.333%;
		min-width: 320px;
		height: auto !important;
		display: flex;
		flex-direction: column;
		padding: 0 10px;
}
@media only screen and (min-width: 1024px) {
		.calculation .swiper-slide {
				min-width: 350px;
		}
}
/*of no slider*/
.calculation .list .swiper-wrapper {
		display: grid;
		grid-template-columns: 100%;
		gap: 20px 0;
}
@media only screen and (min-width: 1024px) {
		.calculation .list .swiper-wrapper {
				grid-template-columns: repeat(3, 1fr);
		}
}
.calculation .list .swiper-slide {
		width: 100%;
		min-width: 0 !important;
}
/*of no slider*/
.calculation .el {
		flex: 1 0 auto;
		width: 100%;
		position: relative;
		display: flex;
		flex-direction: column;
		padding: 40px 30px;
		border-radius: 10px;
}
.calculation .list strong {
		font-weight: inherit;
		color: var(--white);
}
.calculation .list .mini-title {
		color: var(--white);
		margin-bottom: auto;
		padding-bottom: 35px;
}
.calculation-raise .list .mini-title {
		padding-bottom: 75px;
}
.calculation .list .small {
		color: var(--white);
}
.calculation-raise .list .small {
		margin-bottom: 20px;
}
.calculation-sample .list .small {
		margin-bottom: 15px;
}
.calculation-raise .list .title {
		color: var(--green);
		--title: 44px;
}
.calculation-sample .list .title {
		color: var(--white);
		--title: 30px;
}
.calculation .list .text {
		font-size: 16px;
		color: var(--white50);
}
.calculation-raise .list .text {
		margin-top: 30px;
}
.calculation-sample .list .text {
		margin-top: 20px;
}
.calculation .list .btn {
		padding: 0 10px;
		width: 100%;
		margin: 30px 0 0 0;
}
.calculation .list .bottom {
		margin: 30px 0 0 0;
		display: flex;
		justify-content: space-between;
		color: var(--white);
}
.calculation .list .bottom > *:last-child {
		text-align: right;
}
.calculation .list .bottom .title {
		--title: 36px;
		color: var(--white);
		margin-top: calc(15px - 0.15em);
		display: block;
}
@media only screen and (min-width: 1024px) and (max-width: 1279px) {
		.calculation .list .bottom .title {
				--title: 30px;
		}
}
.calculation .list .bottom .title.green {
		color: var(--green);
}
@media only screen and (min-width: 1280px) {
		.calculation .list .text {
				font-size: 18px;
		}
		.calculation .list .mini-title {
				font-size: 24px;
		}
}
.calculation .list .btn.disabled {
		color: var(--white50);
		background-color: var(--white10);
		cursor: default;
		pointer-events: none;
}
.calculation:has(.js_detect-scroll) .head .title, .calculation:has(.js_detect-scroll) .head .text, .calculation:has(.js_detect-scroll) .el {
		transition-property: transform, opacity;
		transition-duration: 0.8s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);
		backface-visibility: hidden;
}
.calculation:has(.js_detect-scroll) .head .text {
		transition-delay: 0.1s;
}
.calculation:has(.js_detect-scroll) .el {
		transition-delay: 0.5s;
}
.calculation:has(.js_detect-scroll) .swiper-slide:nth-child(1) .el {
		transition-delay: 0.2s;
}
.calculation:has(.js_detect-scroll) .swiper-slide:nth-child(2) .el {
		transition-delay: 0.3s;
}
.calculation:has(.js_detect-scroll) .swiper-slide:nth-child(3) .el {
		transition-delay: 0.4s;
}
.calculation:has(.js_detect-scroll:not(.visible)) .head .title, .calculation:has(.js_detect-scroll:not(.visible)) .head .text, .calculation:has(.js_detect-scroll:not(.visible)) .el {
		transform: translate3d(0, 50px, 0);
		opacity: 0;
		pointer-events: none;
}
.roadmap {
		overflow: hidden;
		padding-top: 80px;
		padding-bottom: 50px;
}
.roadmap .head {
		margin: 0 0 65px 0;
}
@media only screen and (max-width: 767px) {
		.roadmap .head {
				text-align: center;
		}
}
.roadmap .head .title {
		--title: 56px;
}
.roadmap .swiper {
		width: auto !important;
}
.roadmap .swiper-slide {
		width: calc(221px + 84px);
		position: relative;
		padding: 0 84px 0 0;
}
@media only screen and (max-width: 1023px) {
		.roadmap .swiper-slide {
				width: 261px;
				padding: 0 20px;
		}
}
@media only screen and (min-width: 1024px) {
		.roadmap .swiper-slide {
				width: 306px;
				padding: 0 44px;
		}
}
@media only screen and (max-width: 1279px) {
		.roadmap .swiper {
				margin: 0 calc(var(--side) * -1) !important;
		}
		.roadmap .swiper-slide.first, .roadmap .swiper-slide.last {
				width: calc(var(--side) - 44px);
				padding: 0;
		}
		@media only screen and (max-width: 1023px) {
				.roadmap .swiper-slide.first, .roadmap .swiper-slide.last {
						width: calc(var(--side) - 20px);
				}
		}
		.roadmap .swiper-slide.first .line:after {
				background: rgba(0, 0, 0, 0.8);
		}
		.roadmap .swiper-slide:nth-child(2) .line:after {
				background: linear-gradient(to right, rgba(0, 0, 0, 0.8) 0%, var(--black0) 100%);
		}
		.roadmap .swiper-slide.last .line:after {
				background: var(--black);
		}
		.roadmap .swiper-slide:nth-last-child(2) .line:after {
				background: linear-gradient(to right, var(--black0) 0%, var(--black) 100%);
		}
}
@media only screen and (min-width: 1280px) {
		.roadmap .swiper {
				margin: 0 calc(var(--side) * -1 - 100px) !important;
		}
		.roadmap .swiper-slide.first, .roadmap .swiper-slide.last {
				width: calc(var(--side) + 56px);
				padding: 0;
		}
		.roadmap .swiper-slide.first .line:after {
				background: linear-gradient(to right, var(--black) 100px, rgba(0, 0, 0, 0.3) 100%);
		}
		.roadmap .swiper-slide:nth-child(2) .line:after {
				background: linear-gradient(to right, rgba(0, 0, 0, 0.3) 0%, var(--black0) 100%);
		}
		.roadmap .swiper-slide.last .line:after {
				background: linear-gradient(to right, rgba(0, 0, 0, 0.3) 0%, var(--black) 100%);
		}
		.roadmap .swiper-slide:nth-last-child(2) .line:after {
				background: linear-gradient(to right, var(--black0) 0%, rgba(0, 0, 0, 0.3) calc(100% - 100px));
		}
}
.roadmap .line {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		height: 42px;
		background: var(--white10);
		border-style: solid;
		border-width: 1px 0;
		border-color: var(--white20);
}
.roadmap .line:before {
		content: '';
		position: absolute;
		top: 50%;
		left: 0;
		right: 0;
		height: 15px;
		background: var(--green);
		transform: translate3d(0, -50%, 0);
		opacity: 0.8;
}
.roadmap .line div {
		position: absolute;
		top: 50%;
		left: 0;
		right: 0;
		height: 1px;
		background: var(--white30);
		transform: translate3d(0, -50%, 0);
}
.roadmap .line:after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		transform: translate3d(0, 0, 0);
		margin: -2px 0;
}
.roadmap .swiper .title {
		--title: 30px;
		margin-bottom: calc(15px - 0.15em);
}
.roadmap .swiper .text {
		max-width: 13.81em;
}
.roadmap .swiper .el {
		position: relative;
		padding-top: 90px;
}
.roadmap .swiper .el:before {
		content: '';
		position: absolute;
		top: 17px;
		width: 8px;
		height: 8px;
		border-radius: 50%;
		left: 0;
		background: #00040E;
}
.roadmap .swiper .el:after {
		content: '';
		position: absolute;
		top: 25px;
		width: 1px;
		height: 51px;
		left: 4px;
		transform: translate3d(-50%, 0, 0);
		background: var(--green);
}
.roadmap:has(.js_detect-scroll) .head .title, .roadmap:has(.js_detect-scroll) .el {
		transition-property: transform, opacity;
		transition-duration: 0.8s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);
		backface-visibility: hidden;
}
.roadmap:has(.js_detect-scroll) .el {
		transition-delay: 0.6s;
}
.roadmap:has(.js_detect-scroll) .swiper-slide:nth-child(2) .el {
		transition-delay: 0.1s;
}
.roadmap:has(.js_detect-scroll) .swiper-slide:nth-child(3) .el {
		transition-delay: 0.2s;
}
.roadmap:has(.js_detect-scroll) .swiper-slide:nth-child(4) .el {
		transition-delay: 0.3s;
}
.roadmap:has(.js_detect-scroll) .swiper-slide:nth-child(5) .el {
		transition-delay: 0.4s;
}
.roadmap:has(.js_detect-scroll) .swiper-slide:nth-child(6) .el {
		transition-delay: 0.5s;
}
.roadmap:has(.js_detect-scroll:not(.visible)) .head .title, .roadmap:has(.js_detect-scroll:not(.visible)) .el {
		transform: translate3d(0, 50px, 0);
		opacity: 0;
		pointer-events: none;
}