@charset "utf-8";
:root {
		--font: Poppins, -apple-system, system-ui, "sans-serif";
		--white: #fff;
		--black: #000;
		--bg: #08000F;
		--grey: #A4A4A8;
		--popup-grey: #2C2C2E;
		--popup: #1A1A1A;
		--purple: #BF5AF2;
		--indigo: #754CE9;
		--side-padding: 16px;
		--header: 112px;
		font-size: 1.111111vw;
		--vert: clamp(128px, 18.75rem, 300px);
}
@media only screen and (min-width: 432px) and (max-width: 759px) {
		:root {
				--side-padding: calc((100vw - 400px) / 2);
		}
}
@media only screen and (min-width: 760px) and (max-width: 1199px) {
		:root {
				--side-padding: 30px;
		}
}
@media only screen and (min-width: 1200px) and (max-width: 1439px) {
		:root {
				--side-padding: 64px;
		}
}
@media only screen and (min-width: 1440px) {
		:root {
				font-size: 16px;
				--side-padding: calc((100vw - 1312px) / 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(--bg);
		font: normal 16px/1.3 var(--font);
		color: var(--white);
		-webkit-text-size-adjust: none;
		display: flex;
		flex-direction: column;
}
* {
		text-wrap: balance;
}
*, *:before, *:after {
		box-sizing: border-box;
		-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
form, fieldset {
		margin: 0;
		padding: 0;
		border: 0;
}
input, select, textarea, button {
		font: normal 15px/24px Arial, Helvetica, sans-serif;
		color: #5a5a5a;
		outline: none;
		text-align: left;
}
input[type="text"], input[type="password"], input[type="email"], input[type="color"], input[type="date"], input[type="datetime-local"], input[type="month"], input[type="number"], input[type="range"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="week"], textarea, select {
		-webkit-appearance: none;
		border-radius: 0;
		box-shadow: none;
		border: 1px solid #e0e0e0;
		background: #fff;
		margin: 0;
		padding: 12px 25px 13px 25px;
		width: 100%;
		display: block;
}
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
		opacity: 1;
		color: #9c9c9c;
}
input::-moz-placeholder, textarea::-moz-placeholder {
		opacity: 1;
		color: #9c9c9c;
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
		opacity: 1;
		color: #9c9c9c;
}
input:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder {
		opacity: 0.5 !important;
}
input:focus::-moz-placeholder, textarea:focus::-moz-placeholder {
		opacity: 0.5 !important;
}
input:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder {
		opacity: 0.5 !important;
}
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;
}
a {
		color: inherit;
		text-decoration: underline;
		outline: none;
		cursor: pointer;
}
a[href^=tel] {
		color: inherit !important;
		cursor: inherit;
		text-decoration: none !important;
}
strong {
		font-weight: 600;
}
.nowrap {
		white-space: nowrap;
}
.mainwrap {
		flex: 0 0 auto;
		width: 100%;
		min-height: 100%;
		position: relative;
		display: flex;
		flex-direction: column;
}
.mainbg {
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		overflow: hidden;
		backface-visibility: hidden;
		z-index: 1;
}
.mainbg:before, .mainbg:after {
		content: '';
		position: absolute;
		left: 50%;
		transform: translate3d(-50%, 0, 0);
		width: max(100%, 1640px);
		aspect-ratio: 1640/1025;
		background-repeat: no-repeat;
		background-size: cover;
}
.mainbg:before {
		bottom: 0;
		background-position: 50% 100%;
		background-image: url("../img/blur-bottom.jpg");
}
.mainbg:after {
		top: 0;
		background-position: 50% 0;
		background-image: url("../img/blur-top.jpg");
		mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0) 100%);
}
.mainbg .blur {
		z-index: 2;
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		backdrop-filter: blur(256px);
		-webkit-backdrop-filter: blur(256px);
}
.content {
		flex: 1 0 auto;
		width: 100%;
		position: relative;
		z-index: 2;
		display: flex;
		flex-direction: column;
		gap: var(--vert);
		padding-bottom: 128px;
}
@media only screen and (max-width: 759px) {
		.content {
				padding-top: calc(var(--header) + 32px);
		}
}
@media only screen and (min-width: 760px) {
		.content {
				padding-top: calc(var(--header) + 16px);
		}
}
.content > * {
		flex: 0 0 auto;
		width: 100%;
}
.header, .footer {
		flex: 0 0 auto;
		width: 100%;
		position: relative;
}
.btn {
		cursor: pointer;
		user-select: none;
		-webkit-appearance: none;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		font: 500 clamp(16px, 1.25rem, 20px)/1 var(--font);
		text-decoration: none;
		outline: none;
		position: relative;
		flex: 0 0 auto;
		max-width: 100%;
		gap: 6px;
		height: clamp(50px, 4rem, 64px);
		border-radius: 40px;
		border: 0;
		margin: 0;
		padding: 0 clamp(16px, 2rem, 32px);
}
.btn:after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		border-radius: inherit;
		border: 1px solid currentColor;
		opacity: 0.12;
		pointer-events: none;
}
.btn svg {
		fill: currentColor;
		flex: 0 0 auto;
		width: auto;
		height: auto;
		max-width: clamp(24px, 2rem, 32px);
		max-height: clamp(24px, 2rem, 32px);
}
.btn-primary {
		background-image: linear-gradient(to bottom, #7E59E9 0%, #6D41E9 100%);
		color: var(--white);
}
.btn-grey {
		color: var(--black);
		background-color: #E4E4E4;
}
.btn-white {
		color: var(--black);
		background-color: var(--white);
}
.phone {
		background: url("../img/iphone.png") no-repeat 50% 50%/contain;
		font-size: 290px;
		width: 1em;
		aspect-ratio: 58/120;
		position: relative;
		overflow: hidden;
}
.phone img {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate3d(-50%, -50%, 0);
		object-fit: cover;
		object-position: center;
		width: 92.462%;
		height: 97.013333%;
		border-radius: 0.15em;
}
.header {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 100;
		width: 100%;
		display: flex;
		align-items: center;
		height: var(--header);
		padding: 0 var(--side-padding);
		backface-visibility: hidden;
		backdrop-filter: blur(12px);
		-webkit-backdrop-filter: blur(12px);
		gap: 16px;
}
.header .logo {
		margin-right: auto;
}
.header .logo img {
		display: block;
		height: 32px;
		width: auto;
}
.header .btn {
		height: 48px;
}
.header .link-download {
		font-size: 16px;
		padding: 0 23px;
		text-transform: uppercase;
}
.header .lang {
		flex: 0 0 auto;
		position: relative;
		z-index: 10;
}
.header .lang .toggle {
		font-size: 20px;
		padding: 0 11px;
		text-transform: uppercase;
}
@media only screen and (max-width: 759px) {
		.header .link-download {
				padding: 0;
				width: 48px;
		}
		.header .link-download .text {
				display: none;
		}
}
@media only screen and (min-width: 760px) {
		.header .link-download svg {
				display: none;
		}
}
.header .lang ul, .header .lang li {
		list-style: none;
		margin: 0;
		padding: 0;
}
.header .lang ul {
		position: absolute;
		top: 100%;
		right: 0;
		width: 115px;
		min-width: 100%;
		background: var(--popup);
		border-radius: 12px;
		padding: 10px;
		display: flex;
		flex-direction: column;
		gap: 5px;
		margin: 10px 0 0 0;
		backface-visibility: hidden;
		transition-property: transform, opacity;
		transition-duration: 0.4s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);
}
.header .lang:not(.open) ul {
		opacity: 0;
		pointer-events: none;
		transform: translate3d(0, 10px, 0);
}
.header .lang li > * {
		display: block;
		font-weight: 500;
		font-size: 14px;
		line-height: 20px;
		padding: 10px;
		border-radius: 10px;
		transition-property: color, background;
		transition-duration: 0.4s;
		transition-timing-function: ease;
		text-decoration: none;
		white-space: nowrap;
}
@media (pointer:fine) {
		.header .lang li > a:hover {
				color: var(--purple);
		}
}
.header .lang li > .active {
		background-color: var(--popup-grey);
}
.download-links {
		flex: 0 0 auto;
		margin: clamp(48px, 4rem, 64px) auto 0 auto;
		width: 100%;
		max-width: 778px;
		display: flex;
		align-items: center;
		padding: 12px;
		position: relative;
		gap: 12px;
}
.download-links:before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		border: 1px dashed #FFFFFF1A;
		border-radius: clamp(40px, 2.75rem, 44px);
}
.download-links .btn {
		flex: 1;
		padding: 0;
}
@media only screen and (max-width: 759px) {
		.download-links {
				max-width: 400px;
				flex-direction: column;
				align-items: stretch;
		}
		.download-links .btn {
				flex: 0 0 auto;
				width: 100%;
		}
}
.mini-title {
		font-weight: normal;
		font-size: clamp(16px, 1.5rem, 24px);
		line-height: 1.1;
}
.mini-title > * {
		display: inline-block;
		vertical-align: top;
		padding: 12px 24px;
		border-radius: 40px;
		border: 1px solid #FFFFFF0A;
		background: #FFFFFF0A;
		backdrop-filter: blur(12px);
		-webkit-backdrop-filter: blur(12px);
		backface-visibility: hidden;
}
.h1 {
		font-weight: 500;
		line-height: 1.2;
		font-size: clamp(40px, 5.625rem, 90px);
		margin: 0 0 24px 0;
}
.h2 {
		font-weight: 500;
		line-height: 1.1;
		font-size: clamp(32px, 4rem, 64px);
		margin: 0 0 24px 0;
}
.h1 .logo, .h2 .logo {
		vertical-align: top;
		height: 0.656em;
		width: auto;
		position: relative;
}
.h1 .logo {
		margin-top: 0.3em;
}
.h2 .logo {
		margin-top: 0.25em;
}
.indigo {
		color: var(--indigo);
}
@media only screen and (max-width: 759px) {
		.h1 .logo, .h2 .logo {
				display: none;
		}
		.hide-br-on-mobile br {
				display: none;
		}
}
@media only screen and (max-width: 759px) {
		.underline {
				text-decoration: underline;
				text-decoration-color: var(--purple);
		}
}
@media only screen and (min-width: 760px) {
		.h1:has(.underline), .h2:has(.underline) {
				text-wrap: auto;
		}
		.underline {
				display: inline-block;
				vertical-align: top;
				white-space: nowrap;
				position: relative;
		}
		.underline:before {
				content: '';
				position: absolute;
				left: 50%;
				transform: translate3d(-50%, 0, 0);
				background-repeat: no-repeat;
				background-position: 50% 50%;
				background-size: contain;
		}
		.underline > * {
				position: relative;
		}
}
.underline.h1-line-big:before {
		background-image: url("../img/h1-line-big.svg");
		aspect-ratio: 849/25;
		width: 9.433em;
		bottom: -0.1em;
}
.underline.h2-line-big:before {
		background-image: url("../img/h2-line-big.svg");
		aspect-ratio: 748/19;
		width: 11.6875em;
		bottom: -0.24em;
}
.underline.h2-line-small:before {
		background-image: url("../img/h2-line-small.svg");
		aspect-ratio: 194/19;
		width: 3.031em;
		bottom: -0.18em;
}
.section {
		position: relative;
		padding: 0 var(--side-padding);
}
@media only screen and (min-width: 760px) {
		.section {
				text-align: center;
		}
}
.section > *:not(.bg-blur) {
		position: relative;
		z-index: 2;
}
.bg-blur {
		position: absolute;
		z-index: 1;
		top: 50%;
		left: 50%;
		width: 100%;
		height: 1025px;
		transform: translate3d(-50%, -50%, 0);
		background: url("../img/blur-bottom2.jpg") no-repeat 50% 50%/max(100%, 1640px) auto;
		mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0) 100%);
}
.bg-blur.br {
		transform: translate3d(-50%, -50%, 0) scale(-1, 1);
}
.title-text {
		font-weight: 300;
		line-height: 1.2;
		font-size: clamp(16px, 1.25rem, 20px);
}
.hero {
		display: flex;
		flex-direction: column;
		gap: 24px;
}
.hero > * {
		margin-top: 0;
		margin-bottom: 0;
}
.hero .download-links {
		margin-top: 24px;
}
.hero .image {
		display: block;
		margin: 24px auto 0 auto;
		width: 462px;
		height: auto;
		max-width: 100%;
}
@media only screen and (min-width: 760px) {
		.hero {
				text-align: center;
				align-items: center;
		}
		.hero .mini-title {
				position: relative;
				z-index: 3;
		}
		.hero .h1 {
				text-wrap: auto;
				position: relative;
		}
		.hero .h1:before {
				content: '';
				position: absolute;
				top: 45%;
				left: 50%;
				transform: translate3d(-50%, -50%, 0);
				width: 104%;
				background: url("../img/hero-path.svg") no-repeat 50% 50%/contain;
				aspect-ratio: 1370/290;
				mix-blend-mode: overlay;
		}
		.hero .h1 > * {
				position: relative;
		}
}
.icons-list-big, .icons-list-big .el {
		list-style: none;
		margin: 0;
		padding: 0;
}
.icons-list-big {
		text-align: left;
		font-weight: normal;
		font-size: 16px;
		line-height: 1.3;
		display: grid;
		gap: 64px 32px;
		grid-template-columns: 100%;
		margin-top: 64px;
}
.icons-list-big, .icons-list-big * {
		text-wrap: auto;
}
.icons-list-big .image {
		position: relative;
		overflow: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
		border: 1px solid #FFFFFF0F;
		background: radial-gradient(130.15% 100% at 49.92% 100%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.02) 100%), rgba(255, 255, 255, 0.01);
		backdrop-filter: blur(24px);
		-webkit-backdrop-filter: blur(24px);
		margin: 0 0 24px 0;
}
.icons-list-big .image .phone {
		position: absolute;
		left: 50%;
		transform: translate3d(-50%, 0, 0);
}
.icons-list-big .image .phone.to-top {
		bottom: 0;
}
.icons-list-big .image .phone.to-bottom {
		top: 0;
}
.icons-list-big .title {
		font-weight: normal;
		font-size: clamp(24px, 2rem, 32px);
		line-height: 1.1;
		margin: 0;
		position: relative;
}
.icons-list-big .title:not(:last-child) {
		margin-bottom: 12px;
}
.icons-list-big .title:has(img) {
		padding-left: calc(clamp(26px, 2rem, 32px) + 8px);
}
.icons-list-big .title img {
		position: absolute;
		top: 0.55em;
		left: 0;
		width: clamp(26px, 2rem, 32px);
		height: clamp(26px, 2rem, 32px);
		object-fit: contain;
		object-position: center;
		transform: translate3d(0, -50%, 0);
}
.icons-list-big .descr {
		max-width: 385px;
}
@media only screen and (max-width: 1199px) {
		@media only screen and (min-width: 760px) {
				.icons-list-big {
						margin-left: auto;
						margin-right: auto;
						max-width: 480px;
				}
		}
		.icons-list-big .image {
				height: 430px;
				border-radius: 27px;
		}
		.icons-list-big .image .phone {
				font-size: 272px;
				margin: 42px 0;
		}
}
@media only screen and (min-width: 1200px) {
		.icons-list-big {
				grid-template-columns: repeat(3, 1fr);
		}
		.icons-list-big .image {
				height: 500px;
				border-radius: 32px;
		}
		.icons-list-big .image .phone {
				font-size: clamp(272px, 19.75rem, 316px);
				margin: 0.145em 0;
		}
}
.icons-list, .icons-list .el {
		list-style: none;
		margin: 0;
		padding: 0;
}
.icons-list {
		text-align: left;
		font-weight: normal;
		font-size: 16px;
		line-height: 1.3;
		display: grid;
		gap: 48px clamp(32px, 4rem, 64px);
		grid-template-columns: 100%;
		margin-top: clamp(50px, 4rem, 64px);
}
.icons-list .title {
		font-weight: 500;
		font-size: clamp(24px, 2.5rem, 40px);
		line-height: 1.2;
		margin: 0 -16px 0 0;
}
.icons-list .title:not(:last-child) {
		margin-bottom: clamp(12px, 1.5rem, 24px);
}
.icons-list .title img {
		width: clamp(64px, 6rem, 96px);
		height: clamp(64px, 6rem, 96px);
		object-fit: contain;
		object-position: center;
		border-style: solid;
		border-width: clamp(8px, 0.75rem, 12px);
		border-color: transparent;
}
.icons-list .descr {
		color: var(--grey);
}
@media only screen and (max-width: 1199px) {
		@media only screen and (min-width: 760px) {
				.icons-list {
						margin-left: auto;
						margin-right: auto;
						max-width: 480px;
				}
		}
		.icons-list .title {
				display: flex;
				align-items: center;
				min-height: 64px;
				gap: 16px;
		}
		.icons-list .title img {
				flex: 0 0 auto;
				align-self: flex-start;
		}
}
@media only screen and (min-width: 1200px) {
		.icons-list {
				grid-template-columns: repeat(3, 1fr);
		}
		.icons-list .title {
				font-weight: 600;
		}
		.icons-list .title img {
				display: block;
				margin: 0 0 12px 0;
		}
}
.all-in-one {
		display: flex;
		gap: 48px clamp(32px, 4rem, 64px);
}
.all-in-one .icon {
		width: clamp(64px, 6rem, 96px);
		height: clamp(64px, 6rem, 96px);
		object-fit: contain;
		object-position: center;
		border-style: solid;
		border-width: clamp(8px, 0.75rem, 12px);
		border-color: transparent;
		display: block;
		margin: 0 0 clamp(12px, 1.5rem, 24px) 0;
}
.all-in-one .h2 {
		margin: 0;
}
@media only screen and (max-width: 1199px) {
		.all-in-one {
				flex-direction: column;
		}
		@media only screen and (min-width: 760px) {
				.all-in-one .icon {
						margin-left: auto;
						margin-right: auto;
				}
		}
		.all-in-one .image {
				flex: 0 0 auto;
				width: 100%;
				height: auto;
				max-width: 400px;
				display: block;
				margin: 0 auto;
		}
}
@media only screen and (min-width: 1200px) {
		.all-in-one {
				text-align: left;
				flex-direction: row;
				align-items: center;
		}
		.all-in-one .text {
				flex: 1 1 auto;
		}
		.all-in-one .image {
				flex: 0 0 auto;
				width: 45.35%;
				height: auto;
				margin: -60px 0;
		}
}
.footer {
		position: relative;
		z-index: 4;
		display: flex;
		flex-direction: column;
		text-align: center;
		align-items: center;
		gap: 32px;
		font-weight: 500;
		font-size: 14px;
		line-height: 1.1;
		color: var(--grey);
		padding-bottom: 32px;
}
@media only screen and (max-width: 759px) {
		.footer {
				padding-top: 32px;
		}
}
.footer a:not(.btn) {
		color: inherit;
		text-decoration: none;
		transition: color 0.4s ease;
}
@media (pointer:fine) {
		.footer a:not(.btn):hover {
				color: var(--white);
		}
}
.footer .logo img {
		height: 30px;
		width: auto;
		vertical-align: top;
}
.footer ul, .footer li {
		list-style: none;
		margin: 0;
		padding: 0;
}
.footer ul {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		gap: 10px 24px;
}
.text-page {
		text-align: left;
		font-weight: 300;
		font-size: 16px;
		line-height: 1.3;
		padding-top: 38px;
}
@media (pointer:fine) {
		.text-page a:hover {
				text-decoration: none;
		}
}
.text-page ul, .text-page ol, .text-page p {
		margin: 1em 0;
		padding: 0;
}
.text-page ul, .text-page ol, .text-page li {
		list-style: none;
}
.text-page li {
		margin: 0;
		padding: 0 0 0 1.5em;
}
.text-page .with-spaces > li {
		margin-bottom: 1em;
}
.text-page li:before {
		display: inline-block;
		vertical-align: top;
		min-width: 1.5em;
		text-align: center;
		margin-left: -1.5em;
}
.text-page ul > li:before {
		content: '•';
}
.text-page ol {
		counter-reset: li;
}
.text-page ol > li:before {
		content: counter(li)'.';
		counter-increment: li;
}
.text-page h1 {
		font-weight: 500;
		line-height: 1;
		font-size: clamp(32px, 4rem, 64px);
		margin: 0 0 clamp(30px, 3.125rem, 50px) 0;
}
@media only screen and (min-width: 760px) {
		.text-page h1.with-logo {
				padding-left: 4.75em;
				background: url("../img/logo.svg") no-repeat 0 0/auto 1em;
		}
		.text-page h1.with-logo:before {
				content: '/';
				display: inline-block;
				vertical-align: top;
				width: 0.75em;
				margin-left: -0.75em;
		}
}
.text-page h2 {
		font-weight: 500;
		line-height: 1.1;
		font-size: clamp(24px, 2rem, 32px);
		margin: 50px 0 clamp(20px, 1.875rem, 30px) 0;
}
.text-page .space {
		margin-top: 100px;
}
.text-page .nav {
		margin-bottom: 100px;
}
.text-page .nav li {
		margin-bottom: 10px;
}
.anchor {
		display: block;
		position: relative;
		top: calc(var(--header) * -1 - 10px);
}
.top-nav {
		flex: 1 1 auto;
		padding-left: 48px;
		margin: 0;
		font-weight: 500;
		font-size: 16px;
		line-height: 1;
		color: rgba(255, 255, 255, 0.6);
}
@media only screen and (max-width: 1099px) {
		.top-nav {
				display: none;
		}
}
.top-nav ul, .top-nav li {
		list-style: none;
		margin: 0;
		padding: 0;
}
.top-nav ul {
		display: flex;
		align-items: center;
		gap: 5px 32px;
		flex-wrap: wrap;
}
.top-nav a {
		text-decoration: none;
		color: inherit;
		transition: color 0.4s ease;
}
@media (pointer:fine) {
		.top-nav a:hover {
				color: var(--white);
		}
}
.top-nav a.active {
		color: var(--white);
}