@charset "utf-8";

@font-face {
	font-family: 'SF Pro Display';
	src: url('../fonts/SFProDisplay-Thin.woff2') format('woff2');
	font-weight: 200;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'SF Pro Display';
	src: url('../fonts/SFProDisplay-Light.woff2') format('woff2');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'SF Pro Display';
	src: url('../fonts/SFProDisplay-Regular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'SF Pro Display';
	src: url('../fonts/SFProDisplay-Medium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'SF Pro Display';
	src: url('../fonts/SFProDisplay-Semibold.woff') format('woff');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'SF Pro Display';
	src: url('../fonts/SFProDisplay-Bold.woff') format('woff');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}

:root {
	--font: 'SF Pro Display', "SF Pro Text", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
	font-size: 1.111111vw;
	--side: max(20px, 6.25rem);
	--header: 64px;
	--white: #fff;
	--black: #000;
	--black70: color-mix(in srgb, var(--black) 70%, transparent);
	--black50: color-mix(in srgb, var(--black) 50%, transparent);
	--black30: color-mix(in srgb, var(--black) 30%, transparent);
	--bodyBg: #F9FAFA;
	--grayBg: #F2F5F7;
	--green: #1AC24F;
	--blue: #0042F2;
	--delay: 0.1s;
	--transition-delay: 0s;
	--focus: 2px solid #A4A3B5;
}

@media only screen and (min-width: 1100px) {
	:root {
		--header: 104px;
	}
}

@media only screen and (min-width: 1440px) {
	:root {
		font-size: 16px;
		--side: calc((100vw - 1240px)/2);
	}
}

@media only screen and (max-width: 639px) {
	:root {
		--side: 20px;
	}
}

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(--bodyBg);
	font: normal max(16px, 1.125rem)/1.4 var(--font);
	color: var(--black70);
	-webkit-text-size-adjust: none;
	display: flex;
	flex-direction: column;
}

*,
::after,
::before,
::backdrop,
::file-selector-button {
	margin: 0;
	padding: 0;
}

*,
::after,
::before,
::backdrop,
::file-selector-button {
	box-sizing: border-box;
	border: 0 solid;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	font-weight: inherit;
}

ol,
ul,
menu {
	list-style: none;
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
	display: block;
	vertical-align: middle;
}

img,
video {
	max-width: 100%;
	height: auto;
}

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


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: inherit;
	text-decoration: none;
	outline: none;
	cursor: pointer;
}

strong {
	font-weight: bold;
}

button,
input,
select,
textarea {
	appearance: none;
	background: transparent;
	border: 0;
	padding: 0;
	margin: 0;
	font: inherit;
	color: inherit;
}

button {
	cursor: pointer;
}

address {
	font: inherit;
}

.js_hover {
	flex: 0 0 auto;
	position: relative;
	display: inline-block;
	vertical-align: top;
	overflow: hidden;
}

.js_hover span {
	display: block;
	position: relative;
	transition: transform .8s cubic-bezier(.16, 1, .3, 1)
}

.js_hover span:after {
	content: attr(data-text);
	display: block;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	transform: scale(.9);
	transition: transform .4s
}

a:hover .js_hover span:after,
.btn:hover .js_hover span:after,
button:hover .js_hover span:after,
a:focus .js_hover span:after,
.btn:focus .js_hover span:after,
button:focus .js_hover span:after {
	transform: scale(1)
}

@media only screen and (min-width: 1100px) {
	.main-menu .links>li:has(.sub):hover>*:not(.sub) .js_hover span:after {
		transform: scale(1)
	}
}

@media (pointer:fine) {

	a:hover .js_hover span,
	.btn:hover .js_hover span,
	button:hover .js_hover span,
	a:focus .js_hover span,
	.btn:focus .js_hover span,
	button:focus .js_hover span {
		transform: translateY(-100%)
	}

	@media only screen and (min-width: 1100px) {
		.main-menu .links>li:has(.sub):hover>*:not(.sub) .js_hover span {
			transform: translateY(-100%)
		}
	}
}

.btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	flex: 0 0 auto;
	max-width: 100%;
	text-decoration: none;
	cursor: pointer;
	height: 55px;
	font: 600 16px/1.2 var(--font);
	border-radius: 100px;
	padding: 0 15px;
	backface-visibility: hidden;
	outline: none;
}

.btn:focus {
	outline: var(--focus);
}

@media (pointer:fine) {
	.btn:hover {
		transform: scaleX(1.02);
		transition: transform .6s cubic-bezier(.34, 5.56, .64, 1)
	}
}

.btn img,
.btn svg {
	flex: 0 0 auto;
	width: auto;
	height: auto;
	max-width: 24px;
	max-height: 24px;
}

.btn-white {
	background-color: var(--white);
	color: var(--black);
}

.btn-gray {
	background-color: var(--bodyBg);
	color: var(--black);
}


.btn-black {
	color: var(--white);
	background-color: var(--black);
}

.btns {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.js_scrollShow-char {
	transition: color 0.4s ease;
}

.js_detectScroll .animate-this {
	backface-visibility: hidden;
	transition-property: transform, opacity;
	transition-duration: 0.8s, 0.4s;
	transition-timing-function: ease;
	transition-delay: var(--transition-delay);
}

.js_detectScroll:not(.visible) .animate-this {
	opacity: 0;
	pointer-events: none;
	transform: translateY(20px);
}

.js_split>span>span {
	display: inline-block;
	vertical-align: top;
	backface-visibility: hidden;
	transition-property: transform, opacity;
	transition-duration: 0.8s, 0.4s;
	transition-timing-function: ease;

	transform: translateY(20px);
	opacity: 0;
}

.js_detectScroll.visible .js_split>span>span {
	opacity: 1;
	transform: translateY(0);
}

.swiper {
	overflow: hidden;
}

.swiper-wrapper {
	display: flex;
}

.swiper-slide {
	flex: 0 0 auto;
	width: 100%;
}

.title {
	color: var(--black);
	font-weight: 600;
	line-height: 1.1;
}

.nowrap {
	white-space: nowrap;
}

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	white-space: nowrap;
	border: 0;
	opacity: 0;
}

.mainwrap {
	flex: 0 0 auto;
	width: 100%;
	min-height: 100%;
	position: relative;
	display: flex;
	flex-direction: column;
}

.input-link {
	text-align: right;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.1;
	color: var(--black);
}

.input-link a {
	color: var(--black);
	text-decoration: none;
}

.input {
	position: relative;
}

.input input,
.input textarea,
.input select,
.input .button,
.input-label {
	border: 1px solid var(--bodyBg);
	background-color: var(--bodyBg);
	font: 600 18px var(--font);
	padding: 37px 15px 13px 15px;
	border-radius: 15px;
	display: block;
	width: 100%;
	color: var(--black);
	outline: none;
	height: auto;
	text-align: left;
}

.input input:focus,
.input textarea:focus,
.input select:focus,
.input .button:focus {
	outline: var(--focus);
}

.input textarea {
	resize: none;
}

.input .button {
	padding-top: 25px;
	padding-bottom: 25px;
	color: var(--black70);
}

.input select,
.input .button.select {
	padding-right: 40px;
	cursor: pointer;
}

.input select:has(option[value="0"]:checked) {
	color: transparent;
}

.input:has(select):after,
.input:has(.select):after {
	content: '';
	pointer-events: none;
	position: absolute;
	top: 50%;
	right: 15px;
	width: 24px;
	height: 24px;
	background: url(../img/select.svg) no-repeat 50% 50%/contain;
	transform: translateY(-50%);
}

.input-label {
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none;
	background-color: transparent !important;
	border-color: transparent !important;
	color: var(--black70);
	backface-visibility: hidden;
	transition: transform 0.4s ease;
	transform-origin: 15px 0;
	transform: translateY(0) scale(1);
	padding-top: 25px;
	padding-bottom: 25px;
}

.input input::placeholder,
.input textarea::placeholder {
	color: var(--black70);
}

.input:has(.input-label) input::placeholder,
.input:has(.input-label) textarea::placeholder {
	color: transparent;
}

.input input:not(:placeholder-shown)~.input-label,
.input input:focus~.input-label,
.input textarea:not(:placeholder-shown)~.input-label,
.input textarea:focus~.input-label,
.input select:not(:has(option[value="0"]:checked))~.input-label,
.input select:focus~.input-label {
	transform: translateY(-8px) scale(0.77);
}

.input-checks {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.input-checks label {
	display: block;
	position: relative;
	font: 600 clamp(16px, 1.125rem, 18px)/1.1 var(--font);
	text-align: center;
	padding: clamp(16px, 1.25rem, 20px) clamp(12px, 0.9375rem, 15px);
	border-radius: clamp(12px, 0.9375rem, 15px);
	color: var(--black);
	transition: color 0.4s ease;
}

.input-checks label:has(input:checked) {
	color: var(--white);
}

.input-checks label input {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	background-color: var(--bodyBg);
	border: 0;
	transition: background 0.4s ease;
	outline: none;
}

.input-checks label input:focus {
	outline: var(--focus);
}

.input-checks label input:checked {
	background-color: var(--black);
}

.input-checks label span {
	position: relative;
}

.multiselect-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 10px;
}

.multiselect-list li:not(:has(input:checked)) {
	display: none;
}


.multiselect-list label {
	display: block;
	position: relative;
	font: 600 16px/1.1 var(--font);
	text-align: left;
	padding: 16px 40px 16px 12px;
	border-radius: 15px;
	color: var(--black);
	transition: color 0.4s ease;
	pointer-events: none;
}


.multiselect-list label input {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	background-color: var(--grayBg);
	border: 0;
	transition: background 0.4s ease;
	outline: none;
}

.multiselect-list label input:focus {
	outline: var(--focus);
}

.multiselect-list label span {
	position: relative;
}

.multiselect-list .close {
	width: 20px;
	height: 20px;
	position: absolute;
	top: 50%;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 50%;
	pointer-events: auto;
	cursor: pointer;
}

.multiselect-list .close:before,
.multiselect-list .close:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 1.5px;
	border-radius: 1px;
	background-color: var(--black);
	z-index: 2;
}

.multiselect-list .close:before {
	transform: translateX(-50%) translateY(-50%) rotate(45deg);
}

.multiselect-list .close:after {
	transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}

.modal .multiselect-list {
	margin-top: 0;
}

.modal .multiselect-list li:not(:has(input:checked)) {
	display: block;
}

.modal .multiselect-list label {
	text-align: center;
	font-size: clamp(16px, 1.125rem, 18px);
	padding: clamp(16px, 1.25rem, 20px) clamp(12px, 0.9375rem, 15px);
	border-radius: clamp(12px, 0.9375rem, 15px);
	pointer-events: auto;
}

.modal .multiselect-list .close {
	display: none;
}

.modal .multiselect-list label:has(input:checked) {
	color: var(--white);
}

.modal .multiselect-list label input:checked {
	background-color: var(--black);
}

.grid-inputs {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, 1fr);
	container-type: inline-size;
	container-name: grid-inputs;
}

@container grid-inputs (max-width: 499px) {
	.grid-inputs>* {
		grid-column: 1/-1;
	}
}

.grid-inputs .full-w {
	grid-column: 1/-1;
}

.wide-submit {
	text-align: center;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.4;
	display: flex;
	flex-direction: column;
	gap: 20px;
	color: var(--black50);
}

.wide-submit a:not(.btn) {
	color: var(--black);
}

.wide-submit .btn {
	width: 100%;
}

.wide-submit .small {
	font-weight: normal;
	font-size: 12px;
}

.wide-submit .small+.btn {
	margin-top: -5px;
}

.header {
	position: fixed;
	height: var(--header);
	display: flex;
	align-items: center;
	justify-content: center;

	left: 0;
	width: 100%;
	z-index: 100;


	color: var(--black);
}

@media only screen and (max-width: 1099px) {
	.header {
		gap: 5px;
		top: 5px;
		padding: 0 calc(var(--side) + 15px) 0 calc(var(--side) + 20px);
	}
}

@media only screen and (min-width: 1100px) {
	.header {
		gap: 40px;
		top: 0;
		padding: 0 var(--side);
	}
}

.header:before {
	content: '';
	position: absolute;
	backface-visibility: hidden;


}

@media only screen and (max-width: 1099px) {
	.header:before {
		top: 0;
		bottom: 0;
		left: var(--side);
		right: var(--side);
		border-radius: 100px;
		background-color: var(--white);
		box-shadow: 0px 6px 24px -6px color-mix(in srgb, var(--black) 10%, transparent);
	}
}

@media only screen and (min-width: 1100px) {
	.header:before {
		-webkit-backdrop-filter: blur(50px);
		backdrop-filter: blur(50px);
		inset: 0;
		transition: opacity 0.4s ease;
		opacity: 0;
	}

	.header.scrolled:before {
		opacity: 1;
	}
}


.header .logo {
	flex: 0 0 auto;

	text-decoration: none;
	font-size: 24px;
	line-height: 1;
	font-style: italic;
	font-weight: 500;
	text-transform: uppercase;
	position: relative;
	z-index: 2;
	margin-right: auto;
}

.header .logo img {
	height: 1em;
	width: auto;
	display: block;
}

@media only screen and (min-width: 1100px) {
	.header .logo {
		font-size: 40px;
	}
}

.link-login-mobile {
	position: relative;
	height: 34px;
	padding: 0 15px;
	font-size: 14px;
}

@media only screen and (min-width: 1100px) {
	.link-login-mobile {
		display: none;
	}
}

.main-menu-trigger {
	cursor: pointer;
	flex: 0 0 auto;
	position: relative;
	z-index: 2;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background-color: var(--grayBg);
	color: var(--black);
	transition-property: color, background;
	transition-duration: 0.4s;
	transition-timing-function: ease;

}

@media only screen and (min-width: 1100px) {
	.main-menu-trigger {
		display: none;
	}
}

.main-menu-trigger:focus {
	outline: var(--focus);
}

.main-menu-trigger:before,
.main-menu-trigger:after {
	content: '';
}

.main-menu-trigger:before,
.main-menu-trigger:after,
.main-menu-trigger>* {

	position: absolute;
	top: 50%;
	left: 50%;
	width: 15.5px;
	height: 1.5px;
	border-radius: 1px;
	background-color: currentColor;
	transition-property: transform, opacity;
	transition-duration: 0.4s;
	transition-timing-function: ease;
}

.main-menu-trigger>* {
	transform: translateX(-50%) translateY(-50%);
}

.main-menu-trigger:before {
	transform: translateX(-50%) translateY(calc(-50% - 5px));
}

.main-menu-trigger:after {
	transform: translateX(-50%) translateY(calc(-50% + 5px));
}

.main-menu-trigger[aria-expanded="true"] {
	color: var(--white);
	background-color: var(--black);
}

.main-menu-trigger[aria-expanded="true"]>* {
	opacity: 0;
}

.main-menu-trigger[aria-expanded="true"]:before {
	transform: translateX(-50%) translateY(-50%) rotate(-135deg);
}

.main-menu-trigger[aria-expanded="true"]:after {
	transform: translateX(-50%) translateY(-50%) rotate(135deg);
}

@media only screen and (max-width: 1099px) {
	.main-menu {
		position: absolute;
		top: 0;
		left: calc(var(--side) - 5px);
		width: calc(100% - var(--side)*2 + 10px);
		max-height: 800px;
		overflow: hidden;
		overflow-y: auto;
		max-height: calc(100dvh - 10px);
		z-index: 1;
		background: var(--white);
		padding: calc(var(--header) + 16px) 25px 30px 25px;
		border-radius: calc(var(--header)/2);
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.4s ease;
		box-shadow: 0px 14px 34px rgba(0, 0, 0, 0.16);
		display: flex;
		flex-direction: column;
		gap: 30px;
	}

	html:has(.main-menu-trigger[aria-expanded="true"]) {
		overflow: hidden;
	}

	.header:has(.main-menu-trigger[aria-expanded="true"]) .main-menu {
		opacity: 1;
		pointer-events: auto;
	}

	html:has(:has(.main-menu-trigger[aria-expanded="true"])) {
		overflow: hidden;
	}

	.main-menu .links {
		font-weight: 600;
		font-size: 24px;
		line-height: 1.2;
		display: flex;
		flex-direction: column;
		gap: 8px;
	}

	.main-menu .links:first-child {
		margin-top: auto;
	}


	.main-menu .links>li {
		order: 1;
	}

	.main-menu .links>li:has(.sub) {
		order: 2;
		margin-top: 22px;
	}

	.main-menu .links>li>*:not(.sub):not(.btn),
	.main-menu .links .sub li>*:not(.sub):not(.btn) {
		display: inline-block;
		vertical-align: top;
		position: relative;
	}

	.main-menu .links>li>*:not(.sub):not(.btn).active:after,
	.main-menu .links .sub li>*:not(.sub):not(.btn).active:after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		height: 1px;
		background-color: currentColor;
	}

	.main-menu .links>li:has(.sub)>*:not(.sub):not(.btn) {
		pointer-events: none;
		font-weight: 500;
		font-size: 14px;
		line-height: 20px;
		color: var(--black30);
		display: block;
	}


	.main-menu .links .sub {
		margin-top: 10px;
	}


	.main-menu .links .sub ul {
		display: flex;
		flex-direction: column;
		gap: 8px;
	}

	.main-menu .links.buttons {
		gap: 10px;
	}

	.main-menu .links.buttons .btn-white {
		background-color: var(--grayBg);
	}

	.main-menu .menu-contacts {
		display: flex;
		flex-direction: column;
		gap: 20px;
		font-weight: 600;
		font-size: 21px;
		line-height: 1.1;
		color: var(--black);
	}

	.main-menu .menu-contacts .small {
		display: block;
		color: var(--black30);
		font-weight: 500;
		font-size: 18px;
		line-height: 20px;
		margin-bottom: 5px;
	}
}

@media only screen and (min-width: 1100px) {
	.main-menu {
		flex: 1 1 auto;
		position: relative;
		z-index: 2;
		display: flex;
		align-items: center;
		justify-content: space-between;

	}

	.main-menu .links {
		flex: 0 0 auto;
		display: flex;
		align-items: center;
		gap: 20px;
		font-weight: 600;
		font-size: 16px;
		line-height: 20px;
	}

	.main-menu .links.buttons {
		gap: 10px;
	}

	.main-menu .links>li {
		position: relative;
		flex: 0 0 auto;
	}

	.main-menu .links>li.home-link {
		display: none;
	}

	.main-menu .links>li>*:not(.sub):not(.btn) {
		display: flex;
		align-items: center;
		gap: 8px;
		outline: none;
	}


	.main-menu .links>li:has(.sub)>*:not(.sub):not(.btn):after {
		content: '';
		flex: 0 0 auto;
		background: url(../img/menu-arrow-desktop.svg) no-repeat 50% 50%/contain;
		width: 8px;
		height: 6px;
		transition: opacity 0.4s ease;
	}


	.main-menu .links .sub {
		white-space: nowrap;
		position: absolute;
		top: 100%;
		left: 0;
		margin-left: -20px;
		z-index: 100;
		background-color: var(--white);
		border-radius: 15px;
		padding: 20px;
		backface-visibility: hidden;
		min-width: 170px;
		transition-property: transform, opacity;
		transition-duration: 0.4s;
		transition-timing-function: ease;
		pointer-events: none;
		opacity: 0;
		transform: translateY(0);
		font-weight: 600;
		font-size: 16px;
		line-height: 1.19;
		box-shadow: 0px 6px 24px -6px rgba(0, 0, 0, 0.1);
	}

	.main-menu .links>li:hover .sub {
		pointer-events: auto;
		opacity: 1;
		transform: translateY(15px);
	}

	.main-menu .links>li:has([aria-expanded="true"]) .sub {
		pointer-events: auto;
		opacity: 1;
		transform: translateY(15px);
	}

	.main-menu .links .sub:before {
		content: '';
		position: absolute;
		bottom: 100%;
		left: 0;
		right: 0;
		height: 15px;
		border-radius: 0 25% 0 0 / 100% 100% 0 0;
		margin: 0 25px 0 15px;
	}

	.main-menu .links .sub ul {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}

	.main-menu .links .sub li>* {
		text-decoration: none;
	}

	.main-menu .links .btn {
		height: 44px;
		padding: 0 19px;
		min-width: 120px;
		font-size: 14px;
	}

	.main-menu .menu-contacts {
		display: none;
	}
}

.footer {
	flex: 0 0 auto;
	width: 100%;
	background-color: var(--white);
	padding: max(60px, 5rem) var(--side) max(40px, 3.75rem) var(--side);
}


.footer .logo {
	line-height: 1;
	font-size: 40px;
	text-decoration: none;
	display: inline-block;
	vertical-align: top;
}

.footer .logo img {
	height: 1em;
	width: auto;
	max-width: none;
}

.footer .descr {
	line-height: 1.3;
	font-size: max(14px, 1.3125rem);
	font-weight: 500;
	color: var(--black50);
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: max(30px, 2.5rem);
}

@media only screen and (min-width: 640px) {

	.footer .descr p {
		max-width: 22.619em;
	}
}

.footer .descr .big {
	color: var(--black);
	font-weight: 600;
	line-height: 1.2;
	font-size: max(21px, 1.875rem);
	max-width: 15.833em;
}

.footer-menu {
	display: grid;
	gap: 50px max(30px, 5rem);
	grid-template-columns: repeat(2, 1fr);
	font-weight: 500;
	font-size: max(16px, 1.125rem);
	line-height: 20px;
	color: var(--black30);
	margin-top: 50px;
}

@media only screen and (max-width: 639px) {
	.footer-menu {
		grid-template-columns: 100%;
	}

	.footer-menu>*:has(.sub-contacts)>p {
		display: none;
	}
}

.footer-menu>li {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
}

.footer-menu .sub {
	font-weight: 600;
	font-size: max(21px, 1.3125rem);
	line-height: 1.16;
	color: var(--black);
}

.footer-menu ul.sub {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-height: calc(6lh + 50px);
	justify-content: space-between;
}

.footer-menu .sub-contacts {
	gap: 28px;
}

.footer-menu .sub .small {
	font-weight: 500;
	font-size: 18px;
	line-height: 20px;
	color: var(--black30);
	margin-bottom: 5px;
}

.footer-bottom {
	margin-top: max(80px, 7.5rem);
	border-top: 1px solid color-mix(in srgb, var(--black) 15%, transparent);
	padding-top: 30px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px 40px;
	font-weight: 500;
	font-size: max(12px, 1rem);
	line-height: 20px;
	color: var(--black50);
}

.footer-bottom a {
	color: var(--black);
}

.footer-bottom .links {
	display: flex;
	align-items: center;
	gap: 10px 40px;
}

@media only screen and (min-width: 1024px) {
	.footer {
		display: grid;
		gap: 0 30px;
		grid-template-columns: 1fr 42.34%;
	}

	.footer-menu {
		margin-top: 0;
	}

	.footer-bottom {
		grid-column: 1/-1;
		display: grid;
		gap: 0 30px;
		grid-template-columns: 1fr 42.34%;
	}

	.footer-bottom .links {
		display: grid;
		gap: 10px max(30px, 5rem);
		grid-template-columns: repeat(2, 1fr);
	}
}

.modal-wrap {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
	background: none;
	margin: 0;
	padding: 0;
	overflow: hidden;
	overflow-y: auto;
	z-index: 1000;
	display: flex;
	flex-direction: column;
	color: var(--black);
}

html:has(.modal-wrap[open]) {
	overflow: hidden;
}

.modal-wrap:not([open]) {
	display: none;
}

.modal-fader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	background: linear-gradient(180deg, #AAB2C7 0%, #EBF0F9 100%), linear-gradient(0deg, #FFFFFF, #FFFFFF), #FFFFFF;
	transition: opacity 0.4s ease;
}

.modal-wrap:not(.open) .modal-fader {
	opacity: 0;
}

.modal {
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
	padding: max(30px, 3.125rem) max(30px, 2.5rem);
	gap: max(20px, 1.875rem);
	max-width: max(520px, 32.5rem);
	width: 100%;
	margin: 75px auto;
	backface-visibility: hidden;
	background-color: var(--white);
	border-radius: 20px;
	position: relative;
	z-index: 2;

}

.modal-wrap-video .modal {
	max-width: calc((100vh - 40px) * 16 / 9);
	max-width: calc((100svh - 40px) * 16 / 9);
	flex: 0 0 auto;
	margin-top: auto;
	margin-bottom: auto;
	padding: 0;
	overflow: hidden;
}

.modal-wrap-video .modal video {
	width: 100%;
	height: auto;
	border-radius: 20px;
}

.modal-wrap-video .modal .modal-close {
	position: absolute;
	top: 20px;
	right: 20px;
}

.modal {
	transition-property: transform, opacity;
	transition-duration: 0.8s, 0.4s;
	transition-timing-function: ease;
	transform: translateY(0);
}

.modal-wrap:not(.open) .modal {
	opacity: 0;
	transform: translateY(20px);
}

.modal-head {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	z-index: 2;
	flex: 0 0 auto;
	width: 100%;
}

.modal-head img {
	height: 40px;
	width: auto;
	flex: 0 0 auto;
}

.modal-close {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	color: var(--black);
	background-color: var(--bodyBg);
	position: relative;
}

.modal-close:before,
.modal-close:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 15.5px;
	height: 1.5px;
	border-radius: 1px;
	background-color: currentColor;
	transition: transform 0.4s ease;
}

.modal-close:before {
	transform: translateX(-50%) translateY(-50%) rotate(-135deg);
}

.modal-close:after {
	transform: translateX(-50%) translateY(-50%) rotate(135deg);
}

.modal-body {
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
	gap: 30px;
	width: 100%;
	position: relative;
	z-index: 2;
}

.modal-header {
	font-weight: 500;
	font-size: 16px;
	line-height: 1.1;
	color: var(--black50);
}

.modal-header p {
	margin-top: 5px;
}

.modal-title {
	font-size: 27px;
	margin-bottom: 5px;
	color: var(--black);
}

.modal .wide-submit {
	margin-top: auto;
}

.content {
	flex: 1 0 auto;
	width: 100%;
}

.hero-title {
	min-height: 100vh;
	min-height: 100svh;
	position: relative;
	display: flex;
	flex-direction: column;
	padding: calc(var(--header) + 5px + max(30px, 4.6875rem)) var(--side) max(44px, 4.375rem) var(--side);
	gap: max(20px, 2.5rem);
	justify-content: space-between;
	font-weight: normal;
	font-size: max(14px, 1.3125rem);
}

.hero-title .top,
.hero-title .bottom {
	width: 100%;
	flex: 0 0 auto;
}

.hero-title.track-title {
	padding-bottom: max(30px, 2.5rem);
}

@media only screen and (orientation: portrait) {
	.hero-title {
		min-height: max(725px, 100vh);
		min-height: max(725px, 100svh);
		text-align: center;
		align-items: center;
	}


	.hero-title .title,
	.hero-title p {
		margin-left: auto;
		margin-right: auto;
	}

	.hero-title.faq-title {
		justify-content: flex-start;
	}

	.hero-title.investor-relations-title {
		min-height: max(760px, 100vh);
		min-height: max(760px, 100svh);
	}

	.hero-title.about-title {
		min-height: max(650px, 100vh);
		min-height: max(650px, 100svh);
	}

	.hero-title.contacts-title {
		min-height: max(875px, 100vh);
		min-height: max(875px, 100svh);
	}

	.hero-title.top20-title {
		min-height: max(740px, 100vh);
		min-height: max(740px, 100svh);
	}

	.hero-title.marketplace-title {
		min-height: max(815px, 100vh);
		min-height: max(815px, 100svh);
	}

	.hero-title.spv-title {
		min-height: max(720px, 100vh);
		min-height: max(720px, 100svh);
	}

	.hero-title.faq-title {
		min-height: max(705px, 100vh);
		min-height: max(705px, 100svh);
	}

	.hero-title.track-title {
		min-height: max(960px, 100vh);
		min-height: max(960px, 100svh);
	}
}

.hero-title .bg {
	position: absolute;
	inset: 0;
	overflow: hidden;
	background-color: var(--bodyBg);
}

.hero-title .bg.bg-gray {
	background-color: #A4A3B5;
}

@media only screen and (orientation: portrait) {

	.hero-title .bg.bg-gray {
		background-color: var(--white);
		background-image: linear-gradient(to bottom, #A4A3B5 0%, 64%, var(--bodyBg) 64%, var(--bodyBg) 100%);
	}

}

.hero-title .bg>* {
	position: absolute;
}

@media only screen and (orientation: portrait) {
	.hero-title .bg>* {
		width: 180%;
		max-width: 1200px;
		top: 64%;
		left: 50%;
		transform: translateX(-70.76%) translateY(-50%);
	}

	.hero-title .bg.bg-gray>* {
		max-width: none;
	}

	.hero-title.about-title .bg>* {
		width: 155%;
		transform: translateX(-63%) translateY(-50%);
		top: 68.5%;
	}

	.hero-title.contacts-title .bg>* {
		width: 230%;
		transform: translateX(-70%) translateY(-50%);
		top: 46%;
	}

	.hero-title.investor-relations-title .bg>* {
		width: 197%;
		transform: translateX(-70.25%) translateY(-50%);
		top: 61.5%;
	}

	.hero-title.top20-title .bg>* {
		width: 220%;
		top: 56%;
		transform: translateX(-58%) translateY(-50%);
	}

	.hero-title.marketplace-title .bg>* {
		width: 200%;
		top: 57%;
		transform: translateX(-75%) translateY(-50%);
	}

	.hero-title.spv-title .bg>* {
		top: 75%;
		transform: translateX(-67%) translateY(-50%);
	}

	.hero-title.faq-title .bg>* {

		top: 75.5%;
		transform: translateX(-68%) translateY(-50%);
	}

	.hero-title.track-title .bg>* {
		width: 185%;
		top: 47%;
		max-width: 900px;
		transform: translateX(-72%) translateY(-50%);
	}

	.hero-title .bg:after,
	.hero-title .bg>*:after {
		content: '';
		position: absolute;
		inset: 0;
		background: linear-gradient(to bottom, var(--bodyBg) 0%, color-mix(in srgb, var(--bodyBg) 0%, transparent) 5%, color-mix(in srgb, var(--bodyBg) 0%, transparent) 95%, var(--bodyBg) 100%), linear-gradient(to right, var(--bodyBg) 0%, color-mix(in srgb, var(--bodyBg) 0%, transparent) 5%, color-mix(in srgb, var(--bodyBg) 0%, transparent) 95%, var(--bodyBg) 100%);
	}

	.hero-title .bg.bg-gray:after,
	.hero-title .bg.bg-gray>*:after {
		background: linear-gradient(to bottom, #A4A3B5 0%, color-mix(in srgb, #A4A3B5 0%, transparent) 10%, color-mix(in srgb, var(--bodyBg) 0%, transparent) 90%, var(--bodyBg) 100%);
	}
}

@media only screen and (orientation: landscape) {

	.hero-title .bg:not(.bg-gray)>*:after {
		content: '';
		position: absolute;
		inset: 0;
		background-image: linear-gradient(to right, color-mix(in srgb, var(--bodyBg) 0%, transparent) 98%, var(--bodyBg) 100%);
	}

	.hero-title .bg>* {
		height: 100%;
		top: 0;
		width: auto;
		left: 75%;
		transform: translateX(-75%);
	}

	.hero-title .bg.bg.bg-gray>* {
		width: 100%;
	}

	.hero-title.marketplace-title .bg>* {
		width: 100%;
	}

	.hero-title.marketplace-title .bg>*:after {
		display: none;
	}

	.hero-title.marketplace-title .bg img,
	.hero-title.marketplace-title .bg video {
		width: 100%;
	}

	.hero-title.contacts-title .bg>* {
		width: 100%;
	}

	.hero-title.contacts-title .bg>*:after {
		display: none;
	}

	.hero-title.contacts-title .bg img,
	.hero-title.contacts-title .bg video {
		width: 100%;
	}
}


.hero-title .bg img,
.hero-title .bg video {
	object-fit: cover;
	object-position: center;
}

.hero-title .bg img,
.hero-title .bg video {
	width: 100%;
	height: auto;
}


@media only screen and (orientation: landscape) {

	.hero-title .bg img,
	.hero-title .bg video {
		height: 100%;
		width: auto;
		max-width: none;
		left: 50%;
		transform: translateX(-50%);
		position: relative;
	}

	.hero-title .bg.bg-gray img,
	.hero-title .bg.bg-gray video {
		width: 100%;
	}
}


.hero-title .bg~* {
	position: relative;
}

.hero-title .big-text {
	font-size: max(18px, 1.125rem);
}

.hero-title .title {
	font-size: max(40px, 4.5rem);
	max-width: 8em;
}

.hero-title .title:not(:first-child) {
	margin-top: max(20px, 1.25rem);
}

.hero-title.investor-relations-title .title {
	font-size: max(50px, 5.125rem);
}

.hero-title.about-title .title {
	font-size: max(44px, 4rem);
}

.hero-title.contacts-title {
	font-size: max(16px, 1.125rem);
	padding-bottom: max(20px, 2.5rem);
}

.hero-title.contacts-title .title {
	font-size: max(50px, 5.125rem);
}

@media only screen and (orientation: portrait) {
	.hero-title.contacts-title .top>*:not(.title) {
		display: none;
	}

	.hero-title.contacts-title .title {
		margin-top: 0;
	}
}

@media only screen and (orientation: landscape) {
	.hero-title.contacts-title .title .gray {
		color: inherit;
	}
}

.hero-title.top20-title .title {
	font-size: max(40px, 4rem);
	line-height: 1;
}

.hero-title.marketplace-title {
	font-size: max(16px, 1.3125rem);
}

.hero-title.marketplace-title .title {
	font-size: max(44px, 4.5rem);
}

.hero-title.spv-title {
	font-size: max(16px, 1.125rem);
}

.hero-title.spv-title .title {
	font-size: max(44px, 3.875rem);
}

.hero-title.faq-title {
	font-size: max(16px, 1.125rem);
}

.hero-title.faq-title .title {
	font-size: max(44px, 4.5rem);
}

.hero-title.track-title {
	font-size: max(16px, 1.125rem);
}

.hero-title.track-title .title {
	font-size: max(44px, 4.5rem);
}

.hero-title .gray {
	color: var(--black50);
}

.hero-title .buttons {
	display: flex;
	margin-top: max(20px, 2.5rem);
	gap: 10px;
	flex-wrap: wrap;
}

@media only screen and (orientation: portrait) {
	.hero-title .buttons {
		justify-content: center;
	}
}

.hero-title .buttons.bottom {
	margin-top: 0;
}

.hero-title .buttons>* {
	min-width: 202px;
}

.hero-title .buttons.wide>* {
	min-width: 230px;
}

@media only screen and (max-width: 639px) {
	.hero-title .buttons.wide>* {
		width: 100%;
	}
}

.hero-title .buttons>*:not(:only-child) {
	min-width: min(calc((100% - 10px)/2), 202px);
}

.hero-title .buttons.wide>*:not(:only-child) {
	min-width: min(calc((100% - 10px)/2), 230px);
}

@media only screen and (min-width: 1024px) {

	.hero-title .buttons>* {
		min-width: 230px;
	}

	.hero-title .buttons>*:not(:only-child) {
		min-width: min(calc((100% - 10px)/2), 230px);
	}
}

@media only screen and (max-width: 639px) {
	.hero-title .buttons .text-desktop {
		display: none;
	}
}

@media only screen and (min-width: 640px) {
	.hero-title .buttons .text-mobile {
		display: none;
	}
}

.hero-title p {
	max-width: 29.4em;
}

.contact-form {
	padding: max(50px, 6.25rem) var(--side) min(var(--side), 6.25rem);
	display: grid;
	grid-template-columns: 100%;
	gap: 40px 20px;
}

@media only screen and (orientation: landscape) {
	.contact-form {
		grid-template-columns: calc(43.55% - 20px) 56.45%;
	}
}

.contact-form .text {
	display: flex;
	flex-direction: column;
	gap: 40px;
	font-weight: normal;
	font-size: max(18px, 1.125rem);
}

@media only screen and (orientation: portrait) {
	.contact-form .text {
		text-align: center;
		max-width: 21em;
		margin-left: auto;
		margin-right: auto;
	}

	.contact-form .text:has(.support-channels) {
		max-width: none;
		width: 100%;
	}
}

@media only screen and (orientation: landscape) {
	.contact-form .text {
		max-width: 24.44em;
		padding-top: max(20px, 2.5rem);
		padding-bottom: max(20px, 2.5rem);
	}

	.contact-form .text.sticky {
		top: var(--header);
		position: sticky;
		margin-bottom: auto;
	}
}

.contact-form .text .big {
	font-size: max(18px, 1.5rem);
}

.contact-form .text p {
	margin-top: 10px;
}

.contact-form .text .title {
	margin-bottom: 10px;
	font-size: max(44px, 4rem);
}

.contact-form .block {
	background-color: var(--white);
	border-radius: 20px;
	padding: max(35px, 3.125rem) max(20px, 3.125rem);
	font-size: 18px;
}

.contact-form .block.js_detectScroll {
	transition: background 0.4s ease;
}

.contact-form .block.js_detectScroll:not(.visible) {
	background-color: transparent;
}

.contact-form .block .sect-head {
	margin-bottom: 20px;
}

.contact-form .block .sect-head:not(:first-child) {
	margin-top: 50px;
}

.contact-form .block .title {
	margin-bottom: 5px;
	font-size: max(24px, 1.6875rem);
}

.contact-form .wide-submit {
	margin-top: 50px;
}

@media only screen and (orientation: landscape) and (min-width: 768px) {
	.contact-form .wide-submit {
		flex-direction: row;
		align-items: center;
		gap: 30px;
		text-align: left;
	}

	.contact-form .wide-submit>* {
		margin: 0;
		order: 2;
	}

	.contact-form .wide-submit .btn {
		min-width: 230px;
		width: auto;
		order: 1;
	}

	.contact-form .wide-submit p {
		max-width: 20em;
	}
}

.contact-form .support-channels {
	margin-top: auto;
}

@media only screen and (orientation: portrait) {
	.contact-form .support-channels {
		margin-top: -10px;
	}
}

.contact-form .support-channels .el {
	font-size: max(16px, 1rem);
	line-height: 1.4;
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-align: left;
}

@media only screen and (orientation: portrait) {
	.contact-form .support-channels .el {
		background-color: var(--white);
		border-radius: 20px;
		padding: max(20px, 1.875rem);
	}

}

.contact-form .support-channels .el a:not(.btn) {
	color: var(--black);
}

.contact-form .support-channels .el .btn {
	margin-top: 10px;
	min-width: 120px;
	align-self: flex-start;
	height: 40px;
	font-size: 14px;
}

@media only screen and (orientation: landscape) {
	.contact-form .support-channels .el .btn {
		margin-top: 5px;
	}
}

.contact-form .support-channels .el p {
	margin: 0;
}

.contact-form .support-channels .el ul {
	display: flex;
	flex-direction: column;
	gap: 3px;
	font-size: max(18px, 1.125rem);
}

@media only screen and (orientation: landscape) {
	.contact-form .support-channels .el li>* {
		display: inline;
	}
}

.contact-form .support-channels .title-small {
	font-weight: 600;
	line-height: 1.1;
	font-size: max(21px, 1.3125rem);
	margin-bottom: auto;
	color: black;
}

@media only screen and (orientation: portrait) {
	.contact-form .support-channels .title-mini {
		font-size: max(14px, 0.875rem);
		margin-bottom: 1px;
	}
}


@media only screen and (orientation: landscape) {

	.contact-form .support-channels .swiper {
		overflow: visible !important;
	}

	.contact-form .support-channels .swiper-wrapper,
	.contact-form .support-channels .swiper-slide {
		display: block;
		width: 100%;
	}

	.contact-form .support-channels .swiper-slide {
		margin-top: 40px;
	}
}

@media only screen and (orientation: portrait) {
	.contact-form .support-channels .swiper {
		--gap: max(10px, 1.25rem);
		width: auto !important;
		margin: 20px calc(var(--side)*-1) 0 calc(var(--side)*-1) !important;
		padding: 0 calc(var(--side) - var(--gap)*0.5) !important;
	}

	.contact-form .support-channels .swiper-slide {
		padding: 0 calc(var(--gap)*0.5);
		width: 45%;
		min-width: calc(217px + var(--gap));
		height: auto !important;
		display: flex;
		flex-direction: column;
	}

	@media only screen and (min-width: 768px) {
		.contact-form .support-channels .swiper-slide {
			width: 33%;
			min-width: 0;
		}
	}

	.contact-form .support-channels .swiper-slide>* {
		flex: 1 0 auto;
		width: 100%;
	}
}

.benefits {
	overflow: hidden;
	padding: 0 var(--side);
	padding: max(40px, 3.375rem) var(--side) max(50px, 7.5rem) var(--side);
}


.request-access {
	padding-top: max(50px, 3.375rem);
	padding-bottom: max(80px, 8.125rem);
}

@media only screen and (orientation: portrait) {
	.benefits {
		text-align: center;
	}

	.benefits.with-bg {
		background: linear-gradient(to bottom, var(--bodyBg) 0%, var(--white) 100%);
	}
}

@media only screen and (orientation: landscape) {
	.benefits.with-bg {
		background-color: var(--white);
	}

	.ipo-momentum {
		padding-bottom: 16px;
	}
}


.benefits .head {
	margin-bottom: 60px;
	font-size: max(16px, 1.5rem);
}

.ipo-momentum .head {
	margin-bottom: 50px;

}

.request-access .head {
	font-size: max(18px, 1.5rem);
}

@media only screen and (orientation: landscape) {
	.benefits .head {
		display: flex;
		flex-direction: row-reverse;
		align-items: center;
		margin-bottom: 30px;
	}

	.ipo-momentum .head {
		margin-bottom: 40px;
	}

	.request-access .head {
		margin-bottom: 45px;
	}
}




.benefits .head .image {
	position: relative;
}

.benefits .head .image img,
.benefits .head .image video {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	height: auto;
	max-width: none;
}

@media only screen and (orientation: portrait) {
	.benefits .head .image {
		max-width: 486px;
		width: 100%;
		aspect-ratio: 362/257;
		margin: 0 auto 20px auto;
	}

	.ipo-momentum .head .image {
		margin-bottom: 15px;
	}

	.request-access .head .image {
		margin-bottom: 25px;
	}


	.benefits .head .image img,
	.benefits .head .image video {
		width: 130%;
	}

	.why .head .image img,
	.why .head .image video {
		width: 137.8%;
		top: 65%;
	}

	.what-contr .head .image img,
	.what-contr .head .image video {
		width: 137.8%;
		top: 65%;
	}

	.ipo-momentum .head .image img,
	.ipo-momentum .head .image video {
		width: 125%;
		top: 55%;
		left: 50%;
	}

	.request-access .head .image img,
	.request-access .head .image video {
		left: 49%;
	}
}



@media only screen and (orientation: landscape) {
	.benefits .head .image {
		flex: 0 0 auto;
		width: 39.19%;
		aspect-ratio: 486/432;
		margin: 0 auto;
	}

	.benefits .head .image img,
	.benefits .head .image video {
		width: 150%;
	}

	.why .head .image img,
	.why .head .image video {
		top: 61%;
	}

	.ipo-momentum .head .image img,
	.ipo-momentum .head .image video {
		left: 53%;
	}
}


.benefits .head .text {
	position: relative;
	z-index: 2;
	max-width: 25.7em;
}

@media only screen and (orientation: portrait) {
	.benefits .head .text {
		margin-left: auto;
		margin-right: auto;
	}
}

@media only screen and (orientation: landscape) {
	.benefits .head .text {
		flex: 0 0 auto;
		width: 49.76%;
		margin-bottom: 20px;
	}

	.ipo-momentum .head .text {
		align-self: flex-end;
		margin-bottom: 64px;
	}

	.request-access .head .text {
		margin-bottom: 55px;
	}

	.what-contr .head .text {
		align-self: flex-end;
		margin-bottom: 64px;
	}

}

.benefits .head .title {
	margin-bottom: 10px;
	font-size: max(44px, 4rem);
}

.benefits .head .title.small {
	font-weight: 300;
	font-size: max(34px, 3.75rem);
}

.benefits .head .title .big {
	font-weight: bold;
	font-size: max(53px, 5.125rem);
}

.ipo-momentum .head .title {
	font-size: max(50px, 5.125rem);
}

@media only screen and (orientation: portrait) {

	.ipo-momentum .head .title br,
	.ipo-momentum .head .title *:has(br) {
		display: none !important;
	}
}

.what-contr .head .title {
	font-size: max(44px, 5.125rem);
}

.request-access .head .title {
	font-weight: bold;
	font-size: max(40px, 4rem);
}

@media only screen and (orientation: landscape) {
	.request-access .head .title {
		max-width: 8.2em;
	}
}

.benefits .list {
	position: relative;
	z-index: 2;
	display: grid;
	gap: 50px max(40px, 3.125rem);
	font-size: max(18px, 1.25rem);
	text-wrap: balance;
}

.why .list {
	gap: max(40px, 3.125rem);
}

.ipo-momentum .list {
	font-size: max(18px, 1.125rem);
}

.request-access .list {
	font-size: max(20px, 1.25rem);
}

.what-contr .list {
	font-size: max(16px, 1.25rem);
}

@media only screen and (orientation: portrait) {
	.benefits .list {
		margin: 0 auto;
		max-width: 19em;
		grid-template-columns: 100%;
	}
}

@media only screen and (orientation: landscape) {
	.benefits .list {
		grid-template-columns: repeat(auto-fit, minmax(10em, 1fr));
	}
}

.benefits .list .title {
	text-wrap: unset;
	font-weight: 500;
	font-size: max(36px, 2.25rem);
	padding-bottom: max(15px, 1.5625rem);
	margin-bottom: max(15px, 1.5625rem);
	border-bottom: 1px solid var(--black30);
}

.request-access .list .title {
	padding-bottom: max(20px, 1.5625rem);
	margin-bottom: max(20px, 1.5625rem);
}

.what-contr .list .title {
	padding-bottom: max(25px, 1.5625rem);
	margin-bottom: max(25px, 1.5625rem);
}

@media only screen and (orientation: portrait) {

	.what-contr .list .title br,
	.what-contr .list .title *:has(br) {
		display: none !important;
	}
}

.benefits .list strong {
	font-weight: 500;
	color: var(--black);
}

.benefits .swiper {
	--gap: 20px;
	width: auto !important;
	margin: 0 calc(var(--side)*-1) !important;
	padding: 0 calc(var(--side) - var(--gap)*0.5) !important;
	overflow: visible !important;
}

.benefits .swiper-slide {
	width: calc(295px + var(--gap));
	padding: 0 calc(var(--gap)*0.5);
	height: auto !important;
	display: flex;
	flex-direction: column;
}

@media only screen and (min-width: 1280px) {
	.benefits .swiper-slide {
		width: 25%;
		min-width: 0;
	}
}

.benefits .swiper-slide>* {
	display: flex;
	flex-direction: column;
	flex: 1 0 auto;
	width: 100%;
	background-color: var(--white);
	border-radius: 20px;
	font-weight: 500;
	font-size: 16px;
	text-align: left;
}


.benefits .swiper-slide .title {
	font-weight: 600;
	font-size: 27px;
	padding: 25px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	color: var(--white);
	border-radius: 20px 20px 0 0;
	gap: 25px;
	min-height: 237px;
}

.benefits .swiper-slide .title.size2 {
	min-height: 215px;
}

.benefits .swiper-slide .title.bg-pink {
	background: linear-gradient(180deg, #F20014 0%, #FE5EAB 100%);
}

.benefits .swiper-slide .title.bg-blue {
	background: linear-gradient(180deg, #2B023B 0%, #1B7FF0 100%);
}

.benefits .swiper-slide .title.bg-gray {
	background: linear-gradient(180deg, #7E8083 0%, #AEAEAE 100%);
}

.benefits .swiper-slide .title.bg-purple {
	background: linear-gradient(180deg, #6B108C 0%, #C94CC5 100%);
}

.benefits .swiper-slide .title.bg-lightblue {
	background: linear-gradient(180deg, #365BFF 0%, #3220F8 100%);
}

.benefits .swiper-slide .title.bg-seablue {
	background: linear-gradient(180deg, #43D0FF 0%, #12C592 100%);
}

.benefits .swiper-slide .title.bg-darkpurple {
	background: linear-gradient(180deg, #390C6C 0%, #5200BD 100%);
}

.benefits .swiper-slide .title.bg-lightpurple {
	background: linear-gradient(180deg, #D39DED 0%, #7B53FB 100%);
}

.benefits .swiper-slide .title img {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
}

.benefits .swiper-slide .title~* {
	padding: 25px;
}

.top-ipos {
	padding: max(80px, 7.5rem) var(--side) max(30px, 5.625rem) var(--side);
}

.top-ipos .head {
	font-size: max(18px, 1.5rem);
	margin-bottom: max(60px, 5rem);
}


.top-ipos .head .title {
	margin-bottom: 10px;
	font-size: max(44px, 4.5rem);
	max-width: 11.8em;
}

.top-ipos .head p {
	max-width: 35.3em;
}

.top-ipos .head .big:not(.title) {
	font-size: max(16px, 1.5rem);
}

@media only screen and (orientation: portrait) {
	.top-ipos .head {
		text-align: center;
	}

	.top-ipos .head .title,
	.top-ipos .head p {
		margin-left: auto;
		margin-right: auto;
	}
}

.top-ipos .mini-title {
	overflow: hidden;
	font-weight: 500;
	font-size: 14px;
	line-height: 16px;
	text-transform: uppercase;
	letter-spacing: 0.09em;
	color: var(--black30);
	margin-top: calc(max(60px, 7.5rem) - 3px);
	margin-bottom: calc(max(30px, 2.5rem) - 3px);
}

.top-ipos .head+* .mini-title:first-child {
	margin-top: -3px;
}

.top-ipos .mini-title:after {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 100vw;
	margin-right: -100vw;
	height: 1px;
	background-color: currentColor;
	position: relative;
	left: 50px;
}

.ipos {
	padding: max(50px, 3.125rem) var(--side);
}

.list-ipos {
	display: grid;
	text-align: left;
	gap: max(20px, 1.875rem);
	grid-template-columns: 100%;
	font-size: 16px;
}

.list-ipos.single-row>*:nth-child(n + 4) {
	display: none;
}

@media only screen and (min-width: 768px) and (max-width: 1099px) {
	.list-ipos {
		grid-template-columns: repeat(2, 1fr);
	}

	.list-ipos.single-row>*:nth-child(n + 3) {
		display: none;
	}
}

@media only screen and (min-width: 1100px) {
	.list-ipos {
		grid-template-columns: repeat(3, 1fr);
	}

}

.list-ipos>* {
	background-color: var(--white);
	border-radius: 20px;
	position: relative;
	padding: calc(clamp(160px, 12.5rem, 200px) + max(25px, 1.875rem)) max(25px, 1.875rem) max(25px, 1.875rem) max(25px, 1.875rem);
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.list-ipos img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: clamp(160px, 12.5rem, 200px);
	border-radius: 20px 20px 0 0;
	object-fit: cover;
	object-position: center;
}

.list-ipos .title {
	font-size: 30px;
}

.list-ipos .descr {
	flex: 1 0 auto;
	min-height: 3lh;
}

.list-ipos .descr.small {
	min-height: 0;
}

.list-ipos .est {
	margin-top: clamp(5px, 0.9375rem, 15px);
	font-size: 14px;
}

.list-ipos .est strong {
	display: block;
	margin-top: 10px;
	font-weight: 600;
	line-height: 1.1;
	font-size: clamp(24px, 2.0625rem, 33px);
	color: var(--black);
}

.list-ipos .pshare {
	font-weight: 600;
	font-size: 1.1;
	color: var(--black);
	font-size: max(27px, 2.0625rem);
	margin-top: 10px;
}

.list-ipos .valuation {
	font-size: max(16px, 1.3125rem);
}

.plus-additional {
	width: 100vw;
	display: flex;
	height: max(627px, 56.25rem);
	flex-direction: column;
	text-align: center;
	justify-content: center;
	font-size: max(14px, 1.3125rem);
	position: relative;
	overflow: hidden;
	padding: 0 var(--side);
}

.top-ipos .plus-additional {
	top: max(30px, 5.625rem);
	margin: 0 calc(var(--side)*-1);
}

.plus-additional .image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	backface-visibility: hidden;
	transition: opacity 0.8s ease;
}


.plus-additional:has(.js_detectScroll:not(.visible)) .image {
	opacity: 0;
}

.plus-additional .image>* {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	height: 100%;
	max-width: none;
}

.plus-additional .image img,
.plus-additional .image video {
	display: block;
	height: 100%;
	width: auto;
	max-width: none;
}

.plus-additional .image-mobile {
	display: none;
}

@media only screen and (max-width: 499px) {
	.plus-additional {
		height: auto;
		aspect-ratio: 402/627;
	}

	.plus-additional .image-desktop {
		display: none;
	}

	.plus-additional .image-mobile {
		display: block;
	}

	.plus-additional .image>* {
		width: 100%;
	}

	.plus-additional .image img,
	.plus-additional .image video {
		width: 100%;
		object-fit: cover;
		object-position: center;
	}
}

.plus-additional .text {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: max(10px, 2.875rem);

	width: 100%;
}

.plus-additional .text>* {
	position: relative;
	z-index: 2;
}

.plus-additional .title {
	font-size: max(30px, 4rem);
	max-width: 8.5em;
	width: 100%;
	margin: 0 auto;
}

@media only screen and (orientation: landscape) {
	.plus-additional .title .gray {
		color: var(--black50);
	}
}

.plus-additional p {
	width: 100%;
	margin: 0 auto;
	max-width: 24.333em;
}


.recently-completed {
	padding: max(50px, 7.5rem) var(--side) max(30px, 5rem) var(--side);
	overflow: hidden;
}

.recently-completed .head {
	margin-bottom: max(40px, 3.125rem);
	font-size: max(18px, 1.5rem);
	max-width: 31.666em;
}

@media only screen and (orientation: portrait) {
	.recently-completed .head {
		text-align: center;
		margin-left: auto;
		margin-right: auto;
	}
}

.recently-completed .head .title {
	margin-bottom: 10px;
	font-size: max(36px, 4rem);
}

.recently-completed .swiper {
	--gap: max(10px, 1.25rem);
	overflow: visible !important;
	width: auto !important;
	margin: 0 calc(var(--gap)*-0.5) !important;
}

.recently-completed .swiper-slide {
	height: auto !important;
	display: flex;
	flex-direction: column;
	padding: 0 calc(var(--gap)*0.5);
	min-width: calc(242px + var(--gap));
	width: 40%;
}

@media only screen and (min-width: 1100px) {
	.recently-completed .swiper-slide {
		width: 25%;
		min-width: 0;
	}
}

.recently-completed .swiper-slide>* {
	flex: 1 0 auto;
	width: 100%;
	background-color: var(--white);
	border-radius: 20px;
	display: flex;
	flex-direction: column;
}

.recently-completed .swiper .top {
	flex: 0 0 auto;
	height: max(194px, 13.5rem);
	display: flex;
	flex-direction: column-reverse;
	justify-content: space-between;
	border-radius: 20px 20px 0 0;
	padding: 25px;
	background-color: var(--black);
	align-items: flex-start;
}

.recently-completed .swiper .top.bg1 {
	background: linear-gradient(180deg, #0042F2 0%, #5E89FE 100%);
}

.recently-completed .swiper .top.bg1 .coin {
	color: #1250F4;
}

.recently-completed .swiper .top.bg2 {
	background: linear-gradient(180deg, #141440 0%, #0A2A6B 100%);
}

.recently-completed .swiper .top.bg2 .coin {
	color: #0D2662;
}

.recently-completed .swiper .top.bg3 {
	background: linear-gradient(180deg, #FF4400 0%, #D74F80 50%, #B05AFF 100%);
}

.recently-completed .swiper .top.bg3 .coin {
	color: #F04932;
}

.recently-completed .swiper .top.bg4 {
	background: linear-gradient(180deg, #000002 0%, #004AE5 100%);
}

.recently-completed .swiper .top.bg4 .coin {
	color: #011136;
}

.recently-completed .swiper .title {
	color: var(--white);
	font-size: max(27px, 1.875rem);
}

.recently-completed .swiper .coin {
	font-weight: 500;
	font-size: 14px;
	line-height: 1.4;
	padding: 5px 10px;
	background-color: var(--white);
	border-radius: 8px;
}

.recently-completed .swiper .descr {
	font-weight: 500;
	font-size: max(18px, 1.3125rem);
	padding: 25px;
	line-height: 1.3;
}

.descr-block {
	padding: 50px var(--side);
	display: flex;
	gap: 40px;
	justify-content: space-between;
	font-weight: 600;
	font-size: max(24px, 2.25rem);
	line-height: 1.2;
}

@media only screen and (orientation: portrait),
only screen and (max-width: 767px) {
	.descr-block {
		flex-direction: column;
		max-width: calc(20.86em + var(--side)*2);
		margin-left: auto;
		margin-right: auto;
	}
}



.descr-block .l {

	color: var(--black);
	max-width: 20.86em;
	display: flex;
	flex-direction: column;
	gap: 1lh;
}

.descr-block.wid2 .l {
	max-width: 19.47em;
}

.descr-block .l .big {
	font-size: max(30px, 2.25rem);
}

.descr-block .l .big2 {
	font-size: max(27px, 2.25rem);
}

.descr-block .r {
	font-weight: normal;
	color: var(--black70);
	font-size: max(14px, 1.125rem);
	line-height: 1.4;
	max-width: 32em;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.descr-block .r .big {
	font-size: max(18px, 1.125rem);
}

@media only screen and (min-width: 768px) {
	.descr-block .l {
		flex: 1 1 auto;
	}

	.descr-block .r {
		flex: 0 0 auto;
		width: 17.2em;
	}

	.descr-block.wid2 .r {
		width: 24.388em;
	}
}

.wide-head {
	font-size: max(16px, 1.125rem);
	margin-bottom: max(40px, 3.75rem);
}

@media only screen and (orientation: portrait) {
	.wide-head {
		text-align: center;
	}
}

@media only screen and (orientation: landscape) and (min-width: 768px) {
	.wide-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 20px;
	}
}

.wide-head .title {
	font-size: max(44px, 3.5rem);
	margin-bottom: 10px;
}

.wide-head .title.small {
	font-size: max(36px, 3.5rem);
}

@media only screen and (orientation: landscape) and (min-width: 768px) {

	.wide-head .title {
		margin-bottom: 0;
		flex: 1 1 auto;
	}
}

.wide-head .text {
	max-width: 25.166em;
	flex: 0 0 auto;
}

@media only screen and (orientation: portrait) {
	.wide-head .text {
		margin: 0 auto;
	}
}

.cases {
	padding: max(50px, 5.625rem) var(--side);
}

.cases-list {
	display: grid;
	grid-template-columns: 100%;
	gap: max(20px, 1.875rem);
	text-align: left;
	font-size: max(18px, 1.125rem);
}

@media only screen and (min-width: 768px) and (max-width: 1099px) {
	.cases-list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (min-width: 1100px) {
	.cases-list {
		grid-template-columns: repeat(3, 1fr);
	}
}

.cases-list>* {
	flex: 0 0 auto;
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 10px;
	background-color: var(--white);
	border-radius: 20px;
	padding-top: max(40px, 2.5rem);
	overflow: hidden;
	transform: translateZ(0);
}

.cases-list>*:after {
	content: '';
	display: block;
	width: 100%;
	aspect-ratio: 393/345;
	max-height: 357px;
}


.cases-list .title,
.cases-list p {
	padding-left: max(40px, 2.5rem);
	padding-right: max(40px, 2.5rem);
	position: relative;
	z-index: 2;
}

.cases-list .title {
	font-weight: 500;
	font-size: max(30px, 1.875rem);
}

.cases-list .image {
	width: 100%;
	height: auto;
	max-width: 404px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.cases-list .image:after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: linear-gradient(to right, var(--white) 0%, color-mix(in srgb, var(--white) 0%, transparent) 10%, color-mix(in srgb, var(--white) 0%, transparent) 90%, var(--white) 100%), linear-gradient(to bottom, var(--white) 0%, color-mix(in srgb, var(--white) 0%, transparent) 10%, color-mix(in srgb, var(--white) 0%, transparent) 90%, var(--white) 100%);
}

.cases-list img {
	width: 100%;
	height: auto;

}

.steps-slider {
	position: relative;
	overflow: hidden;
}

@media only screen and (orientation: portrait) {
	.steps-slider {
		padding: max(50px, 6.25rem) var(--side);
	}
}

@media only screen and (orientation: landscape) {
	.steps-slider {

		display: flex;
		align-items: end;
	}

	.steps-slider>* {
		flex: 0 0 auto;
		width: 100%;
	}
}


@media only screen and (orientation: portrait) {
	.steps-slider .image {
		width: 100%;
		max-width: 560px;
		margin: 0 auto 20px auto;
		aspect-ratio: 362/304;
		position: relative;
	}

	.steps-slider .image img {
		position: absolute;
		top: -15px;
		left: 50%;
		transform: translateX(-70.5%);
		width: 195%;
		height: auto;
		max-width: none;
	}

	.spv-steps-slider .image img {
		transform: translateX(-73.5%);
	}

	.marketplace-steps-slider {
		padding-top: 0;
	}

	.marketplace-steps-slider .image {
		margin-bottom: 40px;
	}

	.marketplace-steps-slider .image img {
		transform: translateX(-69.5%) translateY(-2%);
	}
}

@media only screen and (orientation: landscape) {
	.steps-slider .image img {
		display: block;
		width: 100%;
		max-width: 2000px;
		height: auto;
		margin: 0 auto;
		object-fit: cover;
		object-position: center;
	}
}

.steps-slider .image+* {
	position: relative;
	z-index: 2;
}

@media only screen and (orientation: landscape) {
	.steps-slider .image+* {
		padding: 40px var(--side);
		margin-left: -100%;
	}
}

.steps-slider .head {
	margin-bottom: max(50px, 5.625rem);
	font-size: max(16px, 1.3125rem);
	display: flex;
	flex-direction: column;
	gap: max(20px, 1.6875rem);
}

@media only screen and (orientation: portrait) {
	.steps-slider .head {
		text-align: center;
		align-items: center;
	}
}

.steps-slider .head .title {
	font-size: max(36px, 3.5rem);
	line-height: 1;
	max-width: 10em;
}

.steps-slider .head .title.big {
	font-size: max(44px, 5.125rem);
	line-height: 1.1;
}

@media only screen and (orientation: portrait) {

	.steps-slider .slider.animate-this {
		opacity: 1 !important;
		pointer-events: auto !important;
		transform: translateY(0) !important;
	}

	.steps-slider .swiper {
		--gap: max(10px, 1.25rem);
		overflow: visible !important;
		width: auto !important;
		margin: 0 calc(var(--gap)*-0.5) !important;
	}

	.steps-slider .swiper-slide {
		height: auto !important;
		display: flex;
		flex-direction: column;
		padding: 0 calc(var(--gap)*0.5);
		min-width: calc(310px + var(--gap));
		width: 40%;
	}

	@media only screen and (min-width: 1100px) {
		.steps-slider .swiper-slide {
			width: 25%;
			min-width: 0;
		}
	}

	.steps-slider .swiper-slide>* {
		flex: 1 0 auto;
		width: 100%;
		background-color: var(--white);
		border-radius: 20px;
		display: flex;
		flex-direction: column;
		gap: 50px;
		justify-content: space-between;
		font-size: max(14px, 0.875rem);
		padding: max(30px, 1.875rem);
	}

	.steps-slider .swiper-slide .title {
		font-size: max(30px, 1.875rem);
		font-weight: 500;
	}

	.steps-slider .slider .prev,
	.steps-slider .slider .next {
		display: none;
	}
}

@media only screen and (orientation: landscape) {
	.steps-slider .slider {
		position: relative;
		padding-left: 60px;
		max-width: max(780px, 48.75rem);
		font-size: max(14px, 0.875rem);
	}

	.steps-slider .slider.small {
		max-width: max(632px, 39.5rem);
		font-size: max(18px, 1.125rem);
	}

	.steps-slider .slider.small2 {
		max-width: max(662px, 41.375rem);
		font-size: max(18px, 1.125rem);
	}

	.steps-slider .slider .prev,
	.steps-slider .slider .next {
		cursor: pointer;
		position: absolute;
		left: 0;
		width: 50px;
		background-color: var(--white);
		border-radius: 20px;
		height: calc((100% - 5px)/2);
		background-repeat: no-repeat;
		background-position: 50% 50%;
		background-size: auto 24px;
	}

	.steps-slider .slider .prev {
		bottom: 0;
		background-image: url(../img/slider-prev.svg);
	}

	.steps-slider .slider .next {
		top: 0;
		background-image: url(../img/slider-next.svg);
	}

	.steps-slider .swiper {
		background-color: var(--white);
		border-radius: 20px;
	}

	.steps-slider .swiper-slide {
		height: auto !important;
		display: flex;
		flex-direction: column;
	}

	.steps-slider .swiper-slide.animate-this {
		opacity: 1 !important;
		pointer-events: auto !important;
		transform: translateY(0) !important;
	}

	.steps-slider .swiper-slide>* {
		flex: 1 0 auto;
		width: 100%;
		display: flex;
		align-items: center;
		gap: 20px;
		padding: max(25px, 1.5625rem);
		min-height: max(133px, 8.3125rem);
	}

	.steps-slider .swiper-slide .title {
		font-size: max(27px, 1.6875rem);
		flex: 0 0 auto;
		width: 44.77%;
	}

	.steps-slider .slider.small .swiper-slide .title {
		width: 34.8%;
	}

	.steps-slider .slider.small2 .swiper-slide .title {
		width: 45.6%;
	}
}

.contacts {
	overflow: hidden;
	padding: 50px var(--side) max(50px, 5.625rem) var(--side);
}


.contacts .title-lvl2 {
	font-size: max(44px, 3.5rem);
	margin-top: max(78px, 6.25rem);
	margin-bottom: max(40px, 3.125rem);
}

@media only screen and (orientation: portrait) {
	.contacts .title-lvl2 {
		text-align: center;
	}
}

.contacts>*:first-child .title-lvl2:first-child {
	margin-top: 0;
}

.contacts .list {
	display: grid;
	gap: max(30px, 1.875rem);
	grid-template-columns: 100%;
}


@media only screen and (min-width: 768px) and (max-width: 1099px) {
	.contacts .list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (min-width: 1100px) {
	.contacts .list {
		grid-template-columns: repeat(3, 1fr);
	}

}

.contacts-el-hero {
	text-align: left;
	background-color: var(--white);
	border-radius: 20px;
	padding: 30px;
	display: flex;
	flex-direction: column;
	gap: 30px;
	font-size: 14px;
	color: #4C4C4C;
	margin: 0 10px;
}


.contacts-el-hero p {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

.contacts-el-hero .city {
	font-weight: 600;
	font-size: 36px;
	line-height: 1.1;
	color: var(--black);
}

.contacts-el-hero .text {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.contacts-el-hero .text ul {
	font-size: 16px;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.contacts-el-hero .text ul a {
	text-decoration: none;
	color: var(--black);
}

@media only screen and (orientation: landscape) {
	.contacts-el-hero {
		display: inline-flex;
		vertical-align: top;
		max-width: 100%;
		margin: 0;
		flex-direction: row;
		align-items: center;
		padding: 25px;
		gap: 20px;
	}

	.contacts-el-hero .city {
		flex: 0 0 auto;
		width: 4.1em;
	}

	.contacts-el-hero .text {
		flex-direction: row;
		gap: 20px 54px;
	}

	.contacts-el-hero .text ul {
		align-self: stretch;
		justify-content: space-between;
	}
}

.contacts-el {
	flex: 1 0 auto;
	width: 100%;
	display: flex;
	flex-direction: column;
	background-color: var(--white);
	border-radius: 20px;
	font-size: max(18px, 1.125rem);
	line-height: 1.4;
	text-align: left;
	color: #4C4C4C;
}

.contacts-el .top {
	flex: 0 0 auto;
	height: max(202px, 15.75rem);
	padding: max(30px, 1.875rem);
	display: flex;
	flex-direction: column-reverse;
	justify-content: space-between;
	border-radius: 20px 20px 0 0;
	color: var(--white);
	font-size: max(16px, 1rem);
}


.contacts-el .top.bg1 {
	background: linear-gradient(to bottom, #0042F2 0%, #5E89FE 100%);
}

.contacts-el .top.bg2 {
	background: linear-gradient(to bottom, #4900F2 0%, #A65EFE 100%);
}

.contacts-el .top.bg3 {
	background: linear-gradient(to bottom, #464646 0%, #000000 100%);
}

.contacts-el .top.bg4 {
	background: linear-gradient(to bottom, #42C3D7 0%, #5AA9CD 100%);
}

.contacts-el .top.bg5 {
	background: linear-gradient(to bottom, #8394C4 0%, #576690 100%);
}

.contacts-el .top.bg6 {
	background: linear-gradient(to bottom, #FFAA3A 0%, #B822D9 100%);
}

.contacts-el .city {
	font-weight: 600;
	font-size: max(36px, 2.25rem);
	line-height: 1.1;
}

.contacts-el .text {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: max(30px, 1.875rem);
	padding: max(30px, 1.875rem);
	flex: 1 0 auto;
}

.contacts-el .text a {
	color: var(--black);
}

.contacts-el .text ul {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.contacts-el.wide .top {
	height: max(252px, 15.75rem);
}

.contacts-el.wide .text {
	gap: max(60px, 3.75rem);
}

.contacts-el.wide .text>*:last-child {
	margin-left: auto;
}

@media only screen and (min-width: 768px) {
	.contacts-el.wide {
		flex-direction: row;
		min-height: max(420px, 26.25rem);
	}

	.contacts-el.wide>* {
		flex: 0 0 auto;
		width: 50%;
		padding: max(30px, 3.125rem);
	}

	.contacts-el.wide .top {
		border-radius: 20px 0 0 20px;
		height: auto;
	}
}

.about1 {
	padding: max(50px, 5.625rem) var(--side);
	overflow: hidden;
}

@media only screen and (orientation: landscape) {
	.about1 {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
}

.about1 .image {
	position: relative;
}

@media only screen and (orientation: portrait) {
	.about1 .image {
		width: 100%;
		margin: 0 auto;
		max-width: 400px;
		aspect-ratio: 362/294;
		margin-bottom: 20px;
	}

	.about1 .image>* {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-48%) translateY(-50%);
		width: 113%;
	}
}

@media only screen and (orientation: landscape) {
	.about1 .image {
		flex: 0 0 auto;
		width: 48.387%;
		aspect-ratio: 600/667;
	}

	.about1 .image>* {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-54%) translateY(-51%);
		width: 120%;
	}
}


.about1 .image>*:after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: linear-gradient(to right, var(--bodyBg) 0%, color-mix(in srgb, var(--bodyBg) 0%, transparent) 20%, color-mix(in srgb, var(--bodyBg) 0%, transparent) 80%, var(--bodyBg) 100%), linear-gradient(to bottom, var(--bodyBg) 0%, color-mix(in srgb, var(--bodyBg) 0%, transparent) 20%, color-mix(in srgb, var(--bodyBg) 0%, transparent) 80%, var(--bodyBg) 100%);
}

.about1 .image img {
	width: 100%;
	height: auto;
}

.about1 .image+* {
	position: relative;
	z-index: 2;
}

.about1 .text {
	font-size: max(14px, 1.25rem);
	text-align: left;
}

@media only screen and (orientation: landscape) {
	.about1 .text {
		flex: 0 0 auto;
		width: 46.77%;
	}
}

.about1 .text p+p {
	margin-top: 1lh;
}

@media only screen and (orientation: portrait) {
	.about1 .tabs {
		display: none;
	}
}

@media only screen and (orientation: landscape) {
	.about1 .tabs {
		margin-bottom: max(40px, 4.875rem);
		font-weight: bold;
		line-height: 1.1;
		font-size: max(30px, 4.5rem);
		color: var(--black50);
	}

	.about1 .tabs>li {
		position: relative;
	}

	.about1 .tabs>li:before {
		content: '';
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%) scale(0, 1);
		height: 1px;
		width: 0.833em;
		background-color: var(--black);
		opacity: 0.5;
		transition-property: transform, opacity;
		transition-duration: 0.4s;
		transition-timing-function: ease;
		transform-origin: 0 50%;
	}

	.about1 .tabs>li:has(button[aria-selected="true"]):before {
		transform: translateY(-50%) scale(1);
		opacity: 1;
	}

	.about1 .tabs button {
		transition-property: transform, color;
		transition-duration: 0.4s;
		transition-timing-function: ease;
		cursor: pointer;
		display: inline-block;
		vertical-align: top;
		backface-visibility: hidden;
		transform: translateX(0);
	}

	.about1 .tabs button:hover {
		color: var(--black);
	}

	.about1 .tabs button[aria-selected="true"] {
		cursor: default;
		color: var(--black);
		pointer-events: none;
		transform: translateX(1.111em);
	}
}

.about1 .swiper {
	overflow: visible !important;
}

@media only screen and (orientation: landscape) {
	.about1 .swiper-slide {
		width: 100%;
		transition: opacity 0.4s ease;
	}

	.about1 .swiper-slide[data-tab-active="false"] {
		opacity: 0;
		pointer-events: none;
	}

	.about1 .swiper-slide:not(:first-child) {
		margin-left: -100%;
	}

	.about1 .swiper-slide .title {
		display: none;
	}
}

@media only screen and (orientation: portrait) {
	.about1 .swiper {
		--gap: max(10px, 1.25rem);
		width: auto !important;
		margin: 0 calc(var(--gap)*-0.5) !important;
	}

	.about1 .swiper-slide {
		width: 40%;
		padding: 0 calc(var(--gap)*0.5);
		height: auto !important;
		display: flex;
		flex-direction: column;
		min-width: calc(310px + var(--gap));
	}

	.about1 .swiper-slide>* {
		flex: 1 0 auto;
		width: 100%;
		display: flex;
		flex-direction: column;
		background-color: var(--white);
		border-radius: 20px;
		padding: 30px;
	}

	.about1 .swiper-slide .title {
		font-size: max(30px, 1.875rem);
		margin-bottom: auto;
		padding-bottom: 64px;
	}
}

.about2 {
	padding: max(80px, 7.5rem) var(--side);
}


.about2 .block {
	font-size: max(18px, 1.5rem);
	position: relative;
	overflow: hidden;
	backface-visibility: hidden;
}

.about2 .block .title {
	font-weight: 200;
	line-height: 1;
	font-size: max(56px, 4.375rem);
}

@media only screen and (max-width: 1023px) {
	.about2 .blocks {
		display: grid;
		gap: max(20px, 1.875rem);
		grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
	}

	.about2 .block {
		transform: translateZ(0);
		border-radius: 20px;
		background-color: var(--white);
		padding-bottom: 30px;
	}

	.about2 .block .title {
		margin-bottom: 30px;
	}

	.about2 .block .image {
		position: relative;
		width: 100%;
		aspect-ratio: 362/280;
		margin: 0 auto 30px auto;
		max-width: 320px;


	}

	.about2 .block .image>* {
		position: absolute;
		top: 0;
		left: 50%;
		width: 150%;
		max-width: none;
		transform: translateX(-59%);
	}

	.about2 .block:first-child .image>* {
		transform: translateX(-73%);
	}

	.about2 .block .image>*:after {
		content: '';
		position: absolute;
		inset: 0;
		background-image: linear-gradient(to right, var(--white) 0%, color-mix(in srgb, var(--white) 0%, transparent) 10%, color-mix(in srgb, var(--white) 0%, transparent) 90%, var(--white) 100%), linear-gradient(to bottom, var(--white) 0%, color-mix(in srgb, var(--white) 0%, transparent) 10%, color-mix(in srgb, var(--white) 0%, transparent) 90%, var(--white) 100%);
	}

	.about2 .block .image img {
		width: 100%;
		height: auto;
	}

	.about2 .block .title,
	.about2 .block .text {
		padding: 0 30px;
		position: relative;
		z-index: 2;
	}
}

@media only screen and (min-width: 1024px) {
	.about2 {
		padding-top: 0;
	}

	.about2 .blocks {
		display: flex;
		justify-content: space-between;
		--gap: max(30px, 1.875rem);
		--width1: calc((100vw - var(--side)*2)*0.6846);
	}

	.about2 .block {
		flex: 0 0 auto;
		transition: width 0.4s ease;
	}

	.about2 .block[data-active="true"] {
		width: var(--width1);
	}

	.about2 .block[data-active="false"] {
		width: calc(100% - var(--gap) - var(--width1));
	}

	.about2 .head {
		position: relative;
		height: 33.75rem;
		background-color: var(--white);
		border-radius: 20px;
		overflow: hidden;
		transform: translateZ(0);
	}

	.about2 .block[data-active="false"] .head {
		cursor: pointer;
	}

	.about2 .block .image {
		position: absolute;
		height: 100%;
		right: 0;
		width: var(--width1);
		max-width: none;
		backface-visibility: hidden;
		transition: opacity 0.4s ease;
	}

	.about2 .block:first-child .image {
		right: auto;
		left: 0;
	}

	.about2 .block[data-active="false"] .image {
		opacity: 0;
	}

	.about2 .block .image>*,
	.about2 .block .image img {
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		object-fit: cover;
		object-position: center;
	}

	.about2 .block .title {
		position: absolute;
		bottom: max(30px, 3.125rem);
		left: max(30px, 3.125rem);
		transform-origin: 0 100%;
		transition: transform 0.4s ease;
		transform: scale(1);
	}

	.about2 .block[data-active="false"] .title {
		transform: scale(0.8);
	}

	.about2 .block .text {
		margin-left: max(30px, 3.125rem);
		margin-top: max(30px, 1.875rem);
		color: var(--black50);
		line-height: 1.3;
		transition: opacity 0.4s ease;
		width: calc(var(--width1) - max(30px, 3.125rem)*2);
	}

	.about2 .block[data-active="false"] .text {
		pointer-events: none;
		opacity: 0;
	}

	.about2 .block[data-active="true"] .text {
		transition-delay: 0.4s;
	}
}

.about2 .cases-list {
	margin-top: max(80px, 6.25rem);
}

.cta {
	padding: max(40px, 5.625rem) var(--side);
	font-size: max(16px, 1.125rem);
}

.cta .bg {
	padding: max(50px, 5.625rem) max(30px, 3.125rem);
	border-radius: 20px;
	background-color: var(--white);
	background-repeat: no-repeat;
	backface-visibility: hidden;
	transition: opacity 0.8s ease;
	text-align: center;
}

.cta .bg.js_detectScroll:not(.visible) {
	opacity: 0;
	pointer-events: none;
}

.cta .title,
.cta p {
	margin-left: auto;
	margin-right: auto;
}

.cta .buttons {
	justify-content: center;
}

.cta .title {
	font-size: max(36px, 3.5rem);
	max-width: 10em;
}

@media only screen and (orientation: landscape) {

	.cta .title.big,
	.cta .title.big2 {
		font-weight: bold;
	}
}

.cta .title.big {
	font-size: max(50px, 3.5rem);
}

.cta .title.big2 {
	font-size: max(44px, 3.5rem);
}

.cta p {
	margin-top: 10px;
	max-width: 29.722em;
}

.cta .buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: max(30px, 1.875rem);
}

@media only screen and (max-width: 639px) {
	.cta .bg {
		background-image: url(../img/cta/mob.png);
		background-position: 50% 0;
		background-size: 488px auto;
		padding-top: 273px;
	}

	.cta .buttons>* {
		min-width: min(calc((100% - 10px)/2), 146px);
	}

	.cta .buttons.wide>*,
	.cta .buttons.wide2>* {
		width: 100%;
	}
}

@media only screen and (min-width: 640px) {
	.cta {
		padding-top: 20px;
	}

	.cta .bg {
		background-image: url(../img/cta/desk1.png), url(../img/cta/desk2.png);
		background-position: 100% 0, 0 100%;
		background-size: 45.2% auto, 38.54% auto;
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-height: 30rem;
	}


	.cta .buttons>* {
		min-width: min(calc((100% - 10px)/2), 180px);
	}

	.cta .buttons.wide>* {
		min-width: min(calc((100% - 10px)/2), 220px);
	}
}

.news {
	padding: calc(var(--header) + max(30px, 3.125rem)) var(--side) max(50px, 3.125rem) var(--side);
}

.news .title {
	margin-bottom: max(50px, 3.125rem);
	font-size: max(56px, 5.75rem);
}

@media only screen and (orientation: portrait) {
	.news .title {
		text-align: center;
	}
}

@media only screen and (orientation: landscape) and (min-width: 1100px) {
	.news .title {
		margin-left: calc((100% - max(20px, 1.875rem)*2)/3 + max(20px, 1.875rem));
	}
}

.news .title .gray {
	color: var(--black50);
}

.list-news {
	display: grid;
	text-align: left;
	gap: max(20px, 1.875rem);
	grid-template-columns: 100%;
}

@media only screen and (min-width: 768px) and (max-width: 1099px) {
	.list-news {
		grid-template-columns: repeat(2, 1fr);
	}

}

@media only screen and (min-width: 1100px) {
	.list-news {
		grid-template-columns: repeat(3, 1fr);
	}

}

.list-news>* {
	display: flex;
	flex-direction: column;
}

.list-news>*>* {
	flex: 1 0 auto;
	width: 100%;
}

.news-card {
	background-color: var(--white);
	border-radius: 20px;
	padding: max(310px, 19.375rem) max(30px, 1.875rem) max(30px, 1.875rem) max(30px, 1.875rem);
	position: relative;
}

.news-card .image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: max(280px, 17.5rem);
}

.news-card .image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	border-radius: 20px 20px 0 0;
}

.news-card .date {
	display: block;
	font-size: max(14px, 0.875rem);
	margin-bottom: max(40px, 2.5rem);
}

.news-card .descr {
	font-weight: 600;
	font-size: max(30px, 1.875rem);
	line-height: 1.1;
	color: black;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.subscr {
	padding: max(40px, 6.25rem) var(--side);
	font-size: max(18px, 1.125rem);
	overflow: hidden;
}

.subscr .bg {
	background-color: var(--white);
	border-radius: 20px;
	position: relative;
	padding: 0 max(30px, 6.25rem) max(40px, 5rem) max(30px, 6.25rem);
	transform: translateZ(0);
	backface-visibility: hidden;
	transition: background 0.4s ease;
}

.subscr .bg.js_detectScroll:not(.visible) {
	background-color: transparent;
}

.subscr .image {
	width: 388px;
	position: relative;
	left: 50%;
	transform: translateX(-50%) translateY(-115px);
	margin-bottom: -152px;
}

.subscr .image img {
	width: 100%;
	height: auto;
}

.subscr .title {
	margin-bottom: 10px;
	font-size: max(44px, 3.5rem);
}

.subscr .wrap {
	position: relative;
	z-index: 2;
}

.subscr .text {
	max-width: 24.444em;
}

.subscr .input {
	margin-top: max(30px, 3.875rem);
}

.subscr .input input {
	padding-right: 130px;
}

.subscr .input .btn {
	position: absolute;
	top: 50%;
	right: 15px;
	height: 40px;
	font-size: 16px;
	min-width: 101px;
	transform: translateY(-50%);
}

@media only screen and (min-width: 1100px) {
	.subscr .bg {
		padding-top: max(40px, 5rem);
		overflow: hidden;
	}

	.subscr .image {
		position: absolute;
		top: 50%;
		left: 76%;
		transform: translateX(-50%) translateY(-56%);
		width: 50%;
	}

	.subscr .wrap {
		max-width: 24.444em;
	}

}

.exclusive-opp {
	padding: max(50px, 5.625rem) var(--side);
}

.exclusive-opp .head {
	margin-bottom: max(40px, 5rem);
	font-size: max(16px, 1.5rem);
}

.exclusive-opp .head .title {
	font-size: max(36px, 4.5rem);
	margin-bottom: 10px;
	max-width: 10.94em;
}

.exclusive-opp .head p {
	max-width: 32.8em;
}

@media only screen and (orientation: portrait) {
	.exclusive-opp .head {
		text-align: center;
	}

	.exclusive-opp .head .title,
	.exclusive-opp .head p {
		margin-left: auto;
		margin-right: auto;
	}
}

.exclusive-opp .list {
	position: relative;
	z-index: 2;
	display: grid;
	gap: 50px max(40px, 3.125rem);
	font-size: max(16px, 1.25rem);
	text-wrap: balance;
	margin-top: max(80px, 5rem);
}


@media only screen and (orientation: portrait) {
	.exclusive-opp .list {
		margin-left: auto;
		margin-right: auto;
		max-width: 19em;
		grid-template-columns: 100%;
		text-align: center;
	}
}

@media only screen and (orientation: landscape) {
	.exclusive-opp .list {
		grid-template-columns: repeat(auto-fit, minmax(10em, 1fr));
	}
}

.exclusive-opp .list .title {
	text-wrap: unset;
	font-weight: 500;
	font-size: max(36px, 2.25rem);
	padding-bottom: max(15px, 1.5625rem);
	margin-bottom: max(15px, 1.5625rem);
	border-bottom: 1px solid var(--black30);
}

.exclusive-opp .list strong {
	font-weight: 500;
	color: var(--black);
}

.spv-stat .head {
	display: flex;
	flex-direction: column;
	gap: 20px;

}

.spv-stat .head p {
	max-width: 21.09em;
	font-size: max(18px, 1.3125rem);
}

.spv-stat .head .big {
	color: var(--black);
	font-weight: 600;
	line-height: 1.2;
	font-size: max(33px, 3.125rem);
	max-width: 13.72em;
}

.spv-stat .list {
	font-size: max(18px, 1.5rem);
}

.spv-stat .list>*>* {
	display: block;
	width: 100%;
	aspect-ratio: 480/640;
	position: relative;
	border-radius: max(30px, 2.5rem);
	font-weight: 500;
	line-height: 1.3;

	padding: max(35px, 3.75rem) 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;

}

.spv-stat .list .bg1 {
	color: var(--black);
	background-color: var(--white);
}

.spv-stat .list .bg2 {
	color: var(--white);
	background-color: #0D0D0D;
}

.spv-stat .list .bg3 {
	color: var(--white);
	background-color: #0F4EF4;
}

.spv-stat .list .big {
	padding: 0 max(35px, 3.75rem);
	font-weight: bold;
	line-height: 1.1;
	font-size: max(54px, 4.5rem);
	position: relative;
	z-index: 2;
}

.spv-stat .list .text {
	opacity: .5;
	padding: 0 max(35px, 3.75rem);
	position: relative;
	z-index: 2;
}

@media only screen and (max-width: 999px) {
	.spv-stat {
		padding: 50px var(--side);
		font-size: max(24px, 2.25rem);
		margin: 0 auto;
	}

	.spv-stat .head {
		margin-bottom: 50px;
	}

	@media only screen and (orientation: portrait) {
		.spv-stat .head {
			max-width: 20.86em;
			margin-left: auto;
			margin-right: auto;
		}

	}

	.spv-stat .list {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
	}

	@media only screen and (orientation: portrait) {
		.spv-stat .list {
			justify-content: center;
		}
	}

	.spv-stat .list>* {
		flex: 0 0 auto;
		width: 20em;
	}
}

@media only screen and (min-width: 1000px) {
	.spv-stat .wrap {
		position: sticky;
		top: 0;
		height: 100vh;
		height: 100dvh;
		overflow: hidden;
	}

	.spv-stat .scroll {
		height: var(--height, 200vh);
		height: var(--height, 200svh);
	}

	.spv-stat .head {

		padding: 140px var(--side);
		justify-content: space-between;
		height: 100vh;
		height: 100dvh;
	}

	.spv-stat .head>* {
		width: calc(50% - 20px);
	}

	.spv-stat .list {
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		padding: 0 var(--side) 0 50%;
	}

	.spv-stat .list>* {
		padding: 15px 0;
		width: 100%;
		max-width: 20em;
		transform: translateY(-50%);
		backface-visibility: hidden;
	}

	.spv-stat .list>*:nth-child(1) {
		transform: translateY(-50%);
	}

	.spv-stat .list>*:nth-child(2) {
		transform: translateY(calc(-50% - 100% * var(--progress1))) rotate(calc(6deg - 12deg * var(--progress1)));
	}

	.spv-stat .list>*:nth-child(3) {
		transform: translateY(calc(-50% - 100% * var(--progress1) - 100% * var(--progress2))) rotate(calc(6deg - 9deg * var(--progress2)));
	}

}

.spv-stat .list .image {
	flex: 0 0 auto;
	height: 1px;
	position: relative;
}

.spv-stat .list .image>* {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: 100%;
	height: auto;
}

.spv-stat .list>*:nth-child(1) .image>* {
	width: 75%;
}

.spv-stat .list .image.clock>* {
	width: 64.166%;
}

.spv-stat .list .image.clock img {
	width: 100%;
	height: auto;
}

.spv-stat .list .image.clock .hand1,
.spv-stat .list .image.clock .hand2 {
	position: absolute;
	inset: 0;
	backface-visibility: hidden;
}

.spv-stat .list .image.clock .hand1>*,
.spv-stat .list .image.clock .hand2>* {
	position: absolute;
	inset: 0;
	backface-visibility: hidden;
}

.spv-stat .list .image.clock .hand1 {
	animation: rotate 40s steps(64) infinite;
}

.spv-stat .list .image.clock .hand2 {
	animation: rotate 1600s steps(4096) infinite;
}

.spv-stat .list .image.clock .hand2>* {
	transform: rotate(90deg);
}

@keyframes rotate {
	to {
		transform: rotate(360deg);
	}
}

.spv-stat .list .image.clock .hand1>*:before {
	content: '';
	position: absolute;
	bottom: 50%;
	left: 50%;
	width: 1px;
	height: 37.33%;
	transform: translateX(-50%);
	background-color: var(--white);
	opacity: 0.2;
}

.spv-stat .list .image.clock .hand2>*>* {
	z-index: 2;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 2.92%;
	height: 2.92%;
	border: 1px solid var(--white);
	border-radius: 50%;
	background-color: #0F4EF4;
	transform: translateX(-50%) translateY(-50%);
}

.spv-stat .list .image.clock .hand2>*:before {
	content: '';
	position: absolute;
	bottom: 50%;
	left: 50%;
	width: 1px;
	height: 5%;
	transform: translateX(-50%);
	background-color: var(--white);
}

.spv-stat .list .image.clock .hand2>*:after {
	content: '';
	position: absolute;
	bottom: 55%;
	left: 50%;
	width: 4px;
	border: 1px solid var(--white);
	border-radius: 2px;
	background-color: #D9D9D940;
	height: 16.88%;
	transform: translateX(-50%);
}

.about-mini-head {
	overflow: hidden;
	position: relative;
	font-size: max(18px, 1.5rem);
	padding: 0 var(--side);
}

@media only screen and (orientation: portrait) {
	.about-mini-head {
		text-align: center;
		padding-top: max(40px, 5.625rem);
		padding-bottom: max(80px, 5.625rem);
	}
}

@media only screen and (orientation: landscape) {
	.about-mini-head {
		display: flex;
		align-items: center;
		gap: max(20px, 2.5rem);
	}
}

.about-mini-head:after {
	content: '';
	pointer-events: none;
	inset: 0;
	position: absolute;
	background: linear-gradient(to bottom, var(--bodyBg) 0%, color-mix(in srgb, var(--bodyBg) 0%, transparent) max(40px, 5.625rem));
}

.about-mini-head .image {
	position: relative;
}

.about-mini-head .image>*:after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: linear-gradient(to right, var(--bodyBg) 0%, color-mix(in srgb, var(--bodyBg) 0%, transparent) 20%, color-mix(in srgb, var(--bodyBg) 0%, transparent) 80%, var(--bodyBg) 100%), linear-gradient(to bottom, var(--bodyBg) 0%, color-mix(in srgb, var(--bodyBg) 0%, transparent) 20%, color-mix(in srgb, var(--bodyBg) 0%, transparent) 80%, var(--bodyBg) 100%);
}

.about-mini-head .image img {
	width: 100%;
	height: auto;
}

@media only screen and (orientation: portrait) {
	.about-mini-head .image {
		width: 100%;
		margin: 0 auto 20px auto;
		max-width: 480px;
		aspect-ratio: 362/265;
	}

	.about-mini-head .image>* {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
		width: 130%;
	}
}

@media only screen and (orientation: landscape) {
	.about-mini-head .image {
		flex: 0 0 auto;
		width: 54.19%;
	}

	.about-mini-head .image>* {
		position: relative;
		transform: translateX(-5.2%) translateY(-7.88%);
	}
}

.about-mini-head .text {
	position: relative;
	z-index: 2;
}

@media only screen and (orientation: landscape) {
	.about-mini-head .text {
		padding: max(40px, 5.625rem) 0;
	}
}

.about-mini-head .title {
	font-weight: bold;
	font-size: max(40px, 4rem);
	margin-bottom: max(10px, 1.875rem);
	max-width: 8.5em;
}

.about-mini-head p {
	max-width: 22em;
	margin-top: 10px;
}

@media only screen and (orientation: portrait) {

	.about-mini-head .title,
	.about-mini-head p {
		margin-left: auto;
		margin-right: auto;
	}
}

.what-gives {
	padding: max(70px, 12.5rem) var(--side) max(50px, 5.625rem) var(--side);
	overflow: hidden;
}

.what-gives .wide-head {
	margin-bottom: max(40px, 3.75rem);
	align-items: flex-end;
	font-size: max(16px, 1.5rem);
}

.what-gives .wide-head .title {
	font-size: max(44px, 4.5rem);
}

.what-gives .wide-head .text {
	max-width: 20.3em;
	padding-bottom: 0.3em;
}

.what-gives .swiper {
	overflow: visible !important;
}

.what-gives .swiper {
	--gap: 20px;
	width: auto !important;
	margin: 0 calc(var(--side)*-1) !important;
	padding: 0 calc(var(--side) - var(--gap)*0.5) !important;
}

.what-gives .swiper-slide {
	width: calc(295px + var(--gap));
	padding: 0 calc(var(--gap)*0.5);
	height: auto !important;
	display: flex;
	flex-direction: column;
}

@media only screen and (min-width: 1280px) {
	.what-gives .swiper-slide {
		width: 25%;
		min-width: 0;
	}
}

.what-gives .swiper-slide>* {
	display: flex;
	flex-direction: column;
	flex: 1 0 auto;
	width: 100%;
	background-color: var(--white);
	border-radius: 20px;
	font-weight: 500;
	font-size: 16px;
	text-align: left;
}

.what-gives .swiper-slide .title {
	padding: 25px;
	border-radius: 25px 25px 0 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 25px;
	min-height: 237px;
	font-weight: 600;
	font-size: 27px;
	color: var(--white);
}

.what-gives .swiper-slide .title.bg-blue {
	background: linear-gradient(180deg, #0042F2 0%, #5E89FE 100%);
}

.what-gives .swiper-slide .title.bg-greenblue {
	background: linear-gradient(180deg, #1FC36C 0%, #1B3BF0 100%);
}

.what-gives .swiper-slide .title.bg-purpleblue {
	background: linear-gradient(180deg, #4000FF 0%, #9018FF 100%);
}

.what-gives .swiper-slide .title.bg-darkblue {
	background: linear-gradient(180deg, #000002 0%, #004AE5 100%);
}

.what-gives .swiper-slide .title img {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
}

.what-gives .swiper-slide .title~* {
	padding: 25px 20px 25px 25px;
}

.highlights-text {
	padding: max(50px, 5.625rem) var(--side);
	font-weight: 600;
	line-height: 1.2;
	color: var(--black50);
	font-size: max(36px, 3.5rem);
}

@media only screen and (orientation: portrait) {
	.highlights-text {
		padding-bottom: 10px;
	}
}

.highlights-text .max {
	margin: 0 auto;
	max-width: 17.05em;
}

.highlights-text strong {
	font-weight: inherit;
	color: var(--black);
}

.highlights-text .title {
	font-weight: 500;
	font-size: max(21px, 1.875rem);
	margin-bottom: max(20px, 1.875rem);
}

.faq {
	padding: max(50px, 5.625rem) var(--side);
	font-size: max(16px, 1.125rem);
}

.faq .max {
	max-width: 41.111em;
	margin: 0 auto;
}

.faq .max+.max {
	margin-top: max(80px, 9.375rem);
}

.faq .title {
	margin-bottom: max(30px, 3.125rem);
	line-height: 1.2;
	font-size: max(44px, 3.5rem);
}

@media only screen and (orientation: portrait) {
	.faq .title {
		text-align: center;
	}
}

.faq-item {
	margin-top: max(20px, 1.25rem);
	backface-visibility: hidden;
	background-color: var(--white);
	border-radius: 20px;
	position: relative;
}

.faq-item:before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(180deg, #0042F2 0%, #5E89FE 100%), #FFFFFF;
	transition: opacity 0.4s ease;
	opacity: 0;
}

.faq-item:has(button[aria-expanded="true"]):before {
	opacity: 1;
}

.faq-question {
	position: relative;
	font-weight: 500;
	font-size: max(18px, 1.5rem);
	line-height: 1.1;
	color: var(--black);
	padding: max(30px, 1.875rem) calc(max(30px, 1.875rem) + 24px) max(30px, 1.875rem) max(30px, 1.875rem);
}

.faq-question:has(button) {
	padding: 0;
}

.faq-question button {
	display: block;
	width: 100%;
	padding: max(30px, 1.875rem) calc(max(30px, 1.875rem) + 24px) max(30px, 1.875rem) max(30px, 1.875rem);
	text-align: left;
	cursor: pointer;
	transition-property: color, font-size;
	transition-duration: 0.4s;
	transition-timing-function: ease;
	border-radius: 20px;
	outline: none;
}

.faq-question button[aria-expanded="true"] {
	font-size: max(30px, 2.25rem);
	color: var(--white);
}

.faq-question:before,
.faq-question:after {
	content: '';
	position: absolute;
	top: max(30px, 1.875rem);
	right: max(30px, 1.875rem);
	width: 24px;
	height: 24px;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 12px auto;
	transition-property: transform, opacity;
	transition-duration: 0.4s;
	transition-timing-function: ease;
	pointer-events: none;
	transform: rotate(0deg);
}

.faq-question:before {
	background-image: url(../img/menu-arrow-desktop.svg);
	opacity: 0.4;
}

.faq-question:after {
	background-image: url(../img/menu-arrow-desktop-white.svg);
	opacity: 0;
}

.faq-item:has(button[aria-expanded="true"]) .faq-question:before {
	opacity: 0;
	transform: rotate(180deg);
}

.faq-item:has(button[aria-expanded="true"]) .faq-question:after {
	opacity: 1;
	transform: rotate(180deg);
}

.faq-answer {
	overflow: hidden;
	transition: height 0.4s ease;
	backface-visibility: hidden;
	height: 0;
	--height: 0;
	position: relative;
}

.faq-answer>* {
	padding: max(70px, 4.375rem) max(30px, 1.875rem) max(30px, 1.875rem) max(30px, 1.875rem);
	transition-property: color, opacity;
	transition-duration: 0.4s;
	transition-timing-function: ease;
	opacity: 0;
}

.faq-answer>*>*:first-child {
	margin-top: 0 !important;
}

.faq-answer>*>*:last-child {
	margin-bottom: 0 !important;
}

.faq-answer p,
.faq-answer ol,
.faq-answer ul {
	margin: 10px 0;
}

.faq-answer li {
	position: relative;
	padding-left: 1.5em;
}

.faq-answer ul>li:before {
	content: '•';
	position: absolute;
	top: 0;
	left: 0;
	text-align: center;
	width: 1.5em;
}

.faq-answer ol {
	counter-reset: ol;
}

.faq-answer ol>li:before {
	content: counter(ol)'.';
	counter-increment: ol;
	display: inline-block;
	vertical-align: top;
	min-width: 1.5em;
	margin-left: -1.5em;
	padding-right: 0.25em;
}

.faq-item:has(button[aria-expanded="true"]) .faq-answer {
	height: var(--height);
}

.faq-item:has(button[aria-expanded="true"]) .faq-answer>* {
	color: var(--white);
	opacity: 1;
}

.main-text-section {
	padding: calc(var(--header) + max(40px, 2.5rem)) var(--side) max(80px, 7.5rem) var(--side);
	color: #4C4C4C;
	font-size: max(18px, 1.125rem);
	line-height: 1.4;
}

.main-text-section p,
.main-text-section ol,
.main-text-section ul {
	margin: 20px 0 10px 0;
}

.main-text-section h1,
.main-text-section h2,
.main-text-section h3,
.main-text-section h4,
.main-text-section h5,
.main-text-section h6 {
	font-weight: 600;
	line-height: 1.1;
	color: var(--black);
	margin: 20px 0;
}

.main-text-section time {
	display: inline;
	font: inherit;
}

.main-text-section h1 {
	margin-top: 0;
	margin-bottom: max(30px, 1.875rem);
	font-size: max(56px, 4.5rem);
}

.main-text-section h2 {
	font-size: max(33px, 2.75rem);
	margin-top: max(80px, 5rem);
}

.main-text-section .max {
	max-width: max(740px, 46.25rem);
	margin: 0 auto;
}

.main-text-section .max>*:first-child {
	margin-top: 0 !important;
}

.main-text-section .max>*:last-child {
	margin-bottom: 0 !important;
}

.main-text-section li {
	position: relative;
	padding-left: 1.5em;
}

.main-text-section ul>li:before {
	content: '•';
	position: absolute;
	top: 0;
	left: 0;
	text-align: center;
	width: 1.5em;
}

.main-text-section ol {
	counter-reset: ol;
}

.main-text-section ol>li:before {
	content: counter(ol)'.';
	counter-increment: ol;
	display: inline-block;
	vertical-align: top;
	min-width: 1.5em;
	margin-left: -1.5em;
	padding-right: 0.25em;
}

.main-text-section a {
	color: var(--blue);
	text-decoration: underline;
}

.main-text-section .contact {
	margin-top: max(80px, 5rem);
	background-color: var(--white);
	border-radius: 20px;
	padding: max(30px, 1.875rem);
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: max(30px, 1.875rem);
}

.main-text-section .contact * {
	font: inherit;
	color: inherit;
	margin: 0;
}

.main-text-section .contact .big {
	color: var(--black);
	font-weight: 600;
	line-height: 1.1;
	font-size: max(27px, 2.25rem);
	color: var(--black);
}

.main-text-section .contact a {
	color: inherit;
	text-decoration: none;
}

.track-hero-stat {
	display: grid;
	grid-template-columns: 100%;
	gap: max(10px, 1.25rem);
	color: #4C4C4C;
	font-size: max(16px, 1.125rem);
	line-height: 1.3;
	font-weight: normal;
	text-align: left;
}

@media only screen and (min-width: 1024px) {
	.track-hero-stat {
		grid-template-columns: repeat(3, auto);
	}
}

@media only screen and (min-width: 1280px) {
	.track-hero-stat {
		grid-template-columns: repeat(3, 1fr);
	}
}

.track-hero-stat>* {
	background-color: var(--white);
	border-radius: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: max(92px, 6.625rem);
	padding: 0 max(25px, 1.875rem);
}

.track-hero-stat>*>*:nth-child(2) {
	text-align: right;
	font-weight: 600;
	line-height: 1.1;
	color: var(--black);
	font-size: max(30px, 2.25rem);
}

.track-hero-stat .green {
	color: var(--green);
}

.deals-data {
	padding: max(50px, 5.625rem) var(--side);
}

@media only screen and (orientation: landscape) {
	.deals-data {
		padding-top: 20px;
	}
}

.deals-list {
	display: grid;
	gap: max(20px, 1.25rem);
	grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
	text-align: left;
}

@media only screen and (min-width: 1400px) {
	.deals-list {
		grid-template-columns: repeat(4, 1fr);
	}
}

.deals-list>* {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background-color: var(--white);
	border-radius: 20px;
	padding: max(30px, 1.875rem);
	gap: max(50px, 3.75rem);
}

.deals-list .t {
	position: relative;
	padding-top: 75px;
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 4px 0;
	font-weight: 600;
	line-height: 1.2;
}

.deals-list .t img {
	width: 60px;
	height: 60px;
	object-fit: contain;
	object-position: center;
	position: absolute;
	top: 0;
	left: 0;
}

.deals-list .name {
	flex: 0 0 auto;
	width: calc(100% - 64px);

	font-size: 21px;
	color: var(--black);
	order: 1;
}

.deals-list .year {
	flex: 0 0 auto;
	width: 64px;
	text-align: right;
	font-size: 12px;
	color: var(--black30);
	order: 2;
	padding: 2px 0;
}

.deals-list .coin {
	order: 3;
	flex: 0 0 auto;
	width: 100%;
	font-size: 16px;
	color: var(--black50);
}

.deals-list .b {
	font-weight: 600;
	font-size: 12px;
	line-height: 1.2;
	color: var(--black50);
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.deals-list .price {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	padding: 2px 0;
	font-weight: bold;
	font-size: 21px;
}

.deals-list .price strong {
	margin: -2px 0;
	font-weight: 600;
	color: var(--black);
	font-size: 30px;
}

.deals-list .price .green {
	color: var(--green);
}

.deals-list .offer-price {
	display: flex;
	gap: 0 10px;
	font-size: 16px;
}

.deals-list .offer-price strong {
	font-weight: inherit;
	color: var(--black);
}

body:has(.form-page) {
	background: linear-gradient(180deg, #AAB2C7 0%, #EBF0F9 100%), linear-gradient(0deg, #FFFFFF, #FFFFFF), #FFFFFF;
}

@media only screen and (min-width: 1100px) {
	.form-page .header {
		display: none;
	}
}

.form-page .content {
	display: flex;
	flex-direction: column;
}

.form-section {
	flex: 1 0 auto;
	width: 100%;
	display: flex;
	flex-direction: column;
	position: relative;
	padding: max(40px, 4.6875rem) var(--side);
}

@media only screen and (max-width: 1099px) {
	.form-section {
		padding-top: calc(var(--header) + max(30px, 4.6875rem));
	}
}

.form-section .image {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	overflow: hidden;
}

@media only screen and (max-width: 1023px) {
	.form-section .image {
		display: none;
	}
}

.form-section .image img,
.form-section .image video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.form-section .block {
	flex: 1 0 auto;
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: max(20px, 1.875rem);
	position: relative;
	max-width: max(440px, 27.5rem);
	margin: auto;
	max-height: 800px;
}

@media only screen and (min-width: 1024px) {
	.form-section .block {
		padding: max(30px, 3.125rem) max(30px, 2.5rem);
		background-color: var(--white);
		border-radius: 20px;
		max-width: max(520px, 32.5rem);
	}
}

.form-section .block>* {
	flex: 0 0 auto;
	width: 100%;
}

.form-section .logo {
	width: auto;
	margin-right: auto;
}

@media only screen and (max-width: 1023px) {
	.form-section .logo {
		display: none;
	}
}

.form-section .logo img {
	height: 40px;
	width: auto;
}

.form-section .head {
	color: var(--black50);
	font-size: max(16px, 1rem);
	font-weight: 500;
}


.form-section .head .title {
	font-size: max(30px, 1.875rem);
	margin-bottom: 5px;
}

@media only screen and (max-width: 1023px) {
	.form-section .head {
		text-align: center;
	}

	.form-section .head .title {
		font-size: max(44px, 4.375rem);
	}

	.form-section .head .title .gray {
		color: var(--black50);
	}
}

@media only screen and (min-width: 1024px) {

	.form-section .head .title br,
	.form-section .head .title *:has(br) {
		display: none;
	}
}

.form-section .wide-submit {
	margin-top: auto;
}

@media only screen and (max-width: 1023px) {
	.form-section .grid-inputs>* {
		grid-column: 1/-1;
	}
}

.form-section .grid-inputs>*:not(.full-w) {
	grid-column: auto;
}

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

	.form-section .input input,
	.form-section .input textarea,
	.form-section .input select,
	.form-section .input .button,
	.form-section .input-label {
		padding-top: 32px;
		padding-bottom: 8px;
		background-color: var(--white);
	}

	.form-section .input .button {
		padding-top: 20px;
		padding-bottom: 20px;
	}


	.form-section .input-label {
		padding-top: 20px;
		padding-bottom: 2px;
	}

}

.the-future {
	padding: 50px var(--side) max(50px, 6.25rem) var(--side);
}

.the-future .head {
	font-weight: 500;
	font-size: max(16px, 1.3125rem);
	line-height: 1.3;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.the-future .head p {
	max-width: 19.52em;
}

.the-future .head .title {
	font-size: max(44px, 3.5rem);
	max-width: 7.33em;
}

.the-future .head .title .gray {
	color: var(--black50);
}


.the-future .link {
	position: relative;
	text-decoration: none;
	width: 100%;
	border-radius: 20px;
	display: block;
	background-color: var(--white);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 420px;
}

.the-future .link .img-place {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: auto;
	flex: 0 0 auto;
	position: relative;
}

.the-future .link .img-place:after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 20px;
	background: linear-gradient(to bottom, color-mix(in srgb, var(--white) 0%, transparent) 95%, var(--white) 100%);
}

.the-future .link img,
.the-future .link video {
	max-width: none;
	width: 100%;
	height: auto;
	flex: 0 0 auto;
	object-fit: cover;
	object-position: center;
}

.the-future .link .btn-place {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}

.the-future .link .btn {

	font-weight: 600;
	line-height: 1.1;
	font-size: max(16px, 1.3125rem);
	padding: 0 max(26px, 2.125rem);
	height: max(60px, 5rem);
	gap: 0.7em;
}

.the-future .link .icon {
	width: 0.8em;
	height: 0.8em;
	flex: 0 0 auto;
	background: url(../img/play.svg) no-repeat 50% 50%/contain;
}

@media only screen and (orientation: portrait) {
	.the-future .head {
		text-align: center;
		margin-bottom: max(20px, 3.125rem);
	}

	.the-future .head .title,
	.the-future .head p {
		margin-left: auto;
		margin-right: auto;
		width: 100%;
	}

	.the-future .head p {
		max-width: 22em;
	}

	.the-future .link .img-place img,
	.the-future .link .img-place video {
		flex: 0 0 auto;
		width: 110%;
		min-width: 460px;
		object-fit: contain;
		object-position: center;
		transform: translateX(-3%) translateY(4%);
	}

}

@media only screen and (orientation: landscape) {
	.the-future {
		display: grid;
		gap: 40px 20px;
		grid-template-columns: calc(43.55% - 20px) 56.45%;
	}

	.the-future .head {
		justify-content: space-between;
		padding: 20px 0;
	}
}