@charset "utf-8";

@font-face {
	font-family: 'Lato';
	src: url('../fonts/Lato-Light.woff') format('woff'), url('../fonts/Lato-Light.ttf') format('truetype');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Lato';
	src: url('../fonts/Lato-Regular.woff') format('woff'), url('../fonts/Lato-Regular.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Lato';
	src: url('../fonts/Lato-Medium.woff') format('woff'), url('../fonts/Lato-Medium.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Lato';
	src: url('../fonts/Lato-Semibold.woff') format('woff'), url('../fonts/Lato-Semibold.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Lato';
	src: url('../fonts/Lato-Bold.woff') format('woff'), url('../fonts/Lato-Bold.ttf') format('truetype');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Lato';
	src: url('../fonts/Lato-Heavy.woff') format('woff'), url('../fonts/Lato-Heavy.ttf') format('truetype');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Kazimir';
	src: url('../fonts/Kazimir-Regular.woff') format('woff'), url('../fonts/Kazimir-Regular.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Kazimir';
	src: url('../fonts/Kazimir-Bold.woff') format('woff'), url('../fonts/Kazimir-Bold.ttf') format('truetype');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Kazimir';
	src: url('../fonts/Kazimir-Black.woff') format('woff'), url('../fonts/Kazimir-Black.ttf') format('truetype');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

:root {
	--font: Lato, -apple-system, system-ui, "sans-serif";
	--font-title: Kazimir, -apple-system, system-ui, "serif";
	--white: #fff;
	--black: #000;
	--header-bg: #0E151F;
	--menu-bg: #0F1343;
	--hero-bg: #020A1A;
	--gray: #D5DFED;
	--red: #DC1010;
	font-size: 0.833333vw;
	--side: 24px;
	--side-hero: 40px;
	--side-header: 40px;
	--side-big: 35px;
	--header: 120px;
}

@media only screen and (min-width: 768px) and (max-width: 1279px) {
	:root {
		--side: 40px;
		--side-hero: 60px;
		--side-header: 60px;
		--side-big: 60px;
	}
}

@media only screen and (min-width: 1280px) and (max-width: 1599px) {
	:root {
		--side: 80px;
		--side-hero: 80px;
		--side-header: 40px;
		--side-big: 80px;
	}
}

@media only screen and (min-width: 1600px) {
	:root {
		--side: 160px;
		--side-hero: 160px;
		--side-header: 120px;
		--side-big: 180px;
	}
}

@media only screen and (min-width: 1920px) {
	:root {
		font-size: 16px;
		--side: calc((100vw - 1600px)/2);
		--side-hero: calc((100vw - 1600px)/2);
		--side-header: calc((100vw - 1680px)/2);
		--side-big: calc((100vw - 1560px)/2);
	}
}

/*reset start*/
*,
::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: underline;
	outline: none;
	cursor: pointer;
}

a:hover {
	text-decoration: none;
}

strong {
	font-weight: bold;
}

/*reset end*/
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(--hero-bg);
	color: var(--white);
	font-family: var(--font);
	font-size: 16px;
	-webkit-text-size-adjust: none;
	display: flex;
	flex-direction: column;
}

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

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

.header,
.footer {
	flex: 0 0 auto;
	width: 100%;
}

.header {
	position: sticky;
	top: 0;
	width: 100%;
	z-index: 100;
	padding: 0 var(--side-header);
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: var(--header);
	color: var(--white);

}

@media only screen and (max-width: 1279px) {
	.header {
		padding-top: calc(var(--header) - 60px);
		top: calc(60px - var(--header));

	}
}

.header-bg {

	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background-color: color-mix(in srgb, var(--header-bg) 95%, transparent);
	backdrop-filter: blur(28px);
	-webkit-backdrop-filter: blur(28px);
	backface-visibility: hidden;
	transition: opacity 0.4s ease;
	pointer-events: none;
	opacity: 0;

}

.header[data-scrolled] .header-bg {
	opacity: 1;
}

.header-bg:before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' fill='%230E0F10' opacity='0.25'/%3E%3C/svg%3E");
	pointer-events: none;
	opacity: 0.25;
}

.header .logo {
	position: relative;
}

.header .logo img {
	width: auto;
	height: 32px;
	display: block;
}

@media only screen and (min-width: 1280px) {
	.header .logo img {
		height: 36px;
	}
}

@media only screen and (max-width: 1439px) {
	.menu-trigger {
		-webkit-appearance: none;
		appearance: none;
		flex: 0 0 auto;
		cursor: pointer;
		position: relative;
		width: 40px;
		height: 40px;
		outline: none;
		border: 0;
		box-shadow: none;
		background: none;
	}

	.menu-trigger>* {
		position: absolute;
		top: 50%;
		left: 12px;
		width: 16px;
		height: 1.5px;
		background-color: var(--white);
		opacity: 0.8;
		border-radius: 1px;
		transition-property: transform, background, opacity;
		transition-duration: 0.4s;
		transition-timing-function: ease;
	}

	.menu-trigger>*:nth-child(1) {
		transform: translate3d(0, calc(-50% - 6px), 0);
	}

	.menu-trigger>*:nth-child(2) {
		width: 8.5px;
		transform: translate3d(0, -50%, 0);
	}

	.menu-trigger>*:nth-child(3) {
		transform: translate3d(0, calc(-50% + 6px), 0);
	}

	.menu {
		position: fixed;
		top: 0;
		left: 100%;
		z-index: 110;
		height: 100vh;
		height: 100lvh;
		width: calc(100% - var(--side-header));
		max-width: 320px;
		background-color: color-mix(in srgb, var(--menu-bg) 30%, transparent);
		backdrop-filter: blur(100px);
		-webkit-backdrop-filter: blur(100px);
		backface-visibility: hidden;
		display: flex;
		flex-direction: column;
		overflow-y: auto;
		transition: transform 0.4s ease;
		transform: translate3d(0, 0, 0);
		border-left: 1px solid #7CACEB30;


	}

	.menu[data-open] {
		transform: translate3d(-100%, 0, 0);

	}

	.menu:before {
		content: '';
		position: absolute;
		inset: 0;
		background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' fill='%230E0F10' opacity='0.25'/%3E%3C/svg%3E");
		pointer-events: none;
		opacity: 0.25;
	}

	.menu-fader {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		height: 100lvh;
		background-color: color-mix(in srgb, var(--menu-bg) 30%, transparent);
		transition: opacity 0.4s ease;
		z-index: 109;
	}

	.menu:not([data-open])~.menu-fader {
		opacity: 0;
		pointer-events: none;
	}

	.menu ul {
		position: relative;
		flex: 1 0 auto;
		width: 100%;
		display: flex;
		flex-direction: column;
		gap: 49px;
		padding: 90px 24px 60px 24px;
		padding-bottom: calc(100lvh - 100svh + 60px);
	}

	.menu li:last-child {
		margin-top: auto;
	}

	.menu .link {
		display: block;
		font: 600 14px/24px var(--font);
		position: relative;
		padding: 13px 0 13px 72px;
		text-decoration: none;
		color: color-mix(in srgb, var(--gray) 65%, transparent);
		letter-spacing: 2%;
		text-transform: uppercase;
	}

	.menu .link svg {
		position: absolute;
		top: 8px;
		left: 16px;
		width: 32px;
		height: 32px;
		fill: var(--white);
		opacity: 0.5;
	}

	.menu .call-us {
		display: block;
		font: 600 18px/24px var(--font);
		position: relative;
		padding: 18px 0 18px 62px;
		text-decoration: none;
		color: var(--white);
		letter-spacing: -1%;
		text-transform: uppercase;
		border-left: 2px solid var(--red);
		background: linear-gradient(90deg, rgba(20, 23, 39, 0.3) 0%, rgba(38, 112, 233, 0) 100%);
	}

	.menu .call-us svg {
		position: absolute;
		top: 14px;
		left: 18px;
		width: 32px;
		height: 32px;
		fill: var(--white);
	}
}

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

	.menu-trigger,
	.menu-fader {
		display: none;
	}

	.menu {
		position: sticky;
		top: calc(var(--header)/2);
		z-index: 110;
		margin-top: calc(var(--header)/-2);
		transform: translateY(-50%);
		width: 100%;
		pointer-events: none;
		padding-left: calc(var(--side-header) + 188px);
		padding-right: var(--side-header);
	}

	.menu ul {
		display: flex;
		align-items: center;
		gap: 32px;
		pointer-events: auto;
	}

	@media only screen and (min-width: 1600px) {
		.menu ul {
			gap: 48px;
		}
	}

	.menu ul:before {
		content: '';
		flex: 0 0 auto;
		margin-right: auto;
	}

	.menu li {
		flex: 0 0 auto;
	}


	.menu li:last-child {
		margin-left: auto;
	}

	.menu .link {
		display: block;
		font: 600 16px/28px var(--font);
		text-decoration: none;
		letter-spacing: -1%;
		color: var(--white);
	}

	.menu .link svg {
		display: none;
	}

	.menu .call-us {
		display: block;
		position: relative;
		text-decoration: none;
		color: var(--white);
		font: 600 20px/24px var(--font);
		padding: 6px 0 6px 44px;
	}

	.menu .call-us svg {
		width: 32px;
		height: 32px;
		position: absolute;
		top: 2px;
		left: 2px;
		fill: #E2001A;
		opacity: 0.8;
	}
}

.swiper {
	overflow: hidden;
}

.swiper-wrapper {
	display: flex;
}

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

.btn-wrap {
	padding: 8px;
	border-radius: 16px;
	backface-visibility: hidden;
	backdrop-filter: blur(28px);
	-webkit-backdrop-filter: blur(28px);
}

.btn {
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	appearance: none;
	-webkit-appearance: none;
	outline: none;
	font: bold 16px/24px var(--font);
	letter-spacing: -2%;
	text-align: center;
	height: 60px;
	border-radius: 8px;
	margin: 0;
	padding: 0 10px;
	width: 100%;
	color: var(--white);
}

.btn-red {
	font-size: 18px;
	background: linear-gradient(0deg, #930A0D, #930A0D), #9B0B1B;
	box-shadow: 0px 3px 3px -1px rgba(3, 10, 30, 0.28), 0px 40px 80px -25px rgba(244, 9, 9, 0.24);
}

.btn-blue {
	background: linear-gradient(0deg, rgba(31, 104, 164, 0.2), rgba(31, 104, 164, 0.2)), #1849A9;
}

@media only screen and (min-width: 1280px) {
	.btn {
		font-size: 20px;
		height: 72px;
		letter-spacing: -1%;
	}
}

.h1 {
	font: normal 32px/42px var(--font-title);
	letter-spacing: -0.5%;
	color: #02193C;
}

.h2 {
	font: normal 32px/36px var(--font-title);
	letter-spacing: -2.5%;
	color: #02193C;
}

@media only screen and (min-width: 1280px) {
	.h1 {
		font-size: 60px;
		line-height: 80px;
		letter-spacing: -2%;
	}

	.h2 {
		font-size: 42px;
		line-height: 64px;
	}
}

.hero {
	margin-top: calc(var(--header)*-1);
	position: relative;
	background-color: var(--hero-bg);
	color: #FFFFFF80;
	display: flex;
	flex-direction: column;
	font: normal 16px/32px var(--font);
	letter-spacing: -1%;
	min-height: 100vh;
	min-height: 100lvh;
	gap: 60px;
	padding: 0 var(--side-hero);
}

@media only screen and (min-width: 1280px) {
	.hero {
		font-size: 24px;
		line-height: 40px;
	}
}

.hero .bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0.16;
}

.hero .bg>* {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

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


.hero .h1 {
	color: var(--white);
	margin-bottom: 40px;
	max-width: 14.583em;
}

.hero p {

	margin: 1lh 0 0 0;
	max-width: 36.666em;
}

.hero strong {
	font-weight: bold;
	letter-spacing: -2%;
}

.hero .btn-wrap {
	background-color: color-mix(in srgb, var(--white) 5%, transparent);
}

@media only screen and (orientation: portrait) {
	.hero {
		padding-bottom: clamp(40px, 7.5rem, 120px);
		gap: var(--header);
	}

	.hero:before {
		content: '';
		height: 100px;
		flex: 0 0 auto;
		margin-bottom: auto;
	}

	.hero .btn-wrap {
		margin-top: auto;
	}
}

@media only screen and (orientation: landscape) {
	.hero {
		justify-content: center;
		gap: 60px;
		padding-top: calc(var(--header) + 120px);
		padding-bottom: calc(var(--header) + 60px);
	}

	.hero,
	.hero strong {
		font-weight: 500;
		letter-spacing: -1%;
	}

	.hero p br {
		display: none;
	}

	.hero .btn-wrap {
		align-self: flex-start;
		min-width: 380px;
	}

}

.num-title {
	position: relative;
	display: flex;
	flex-direction: column;

}

.num-title .num {
	order: 1;
	font: 900 60px/1 var(--font-title);
	color: #879CB61F;
	letter-spacing: -3.5%;
	margin-bottom: 6px;
}

@media only screen and (max-width: 1279px) {
	.num-title {
		padding-left: 2px;
	}
}

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


	.num-title .num {
		font-size: 100px;
	}
}

@media only screen and (min-width: 1600px) {
	.num-title .num {

		margin: 0;
		letter-spacing: -2.5%;
		position: absolute;
		top: 0;
		left: 0;
		width: var(--side);
		max-width: 160px;
		text-align: center;
		transform: translateX(-100%);
	}
}

.num-title .txt {
	order: 2;
	display: flex;
	align-items: start;
	gap: 10px;
	font: normal 15px/18px var(--font);
	letter-spacing: -1.5%;
	color: #7E8EA6;
	margin-bottom: 16px;
}

.num-title .txt:after {
	content: '';
	flex: 0 0 auto;
	width: clamp(40px, 4.5625rem, 73px);
	height: 2px;
	border-radius: 1px;
	background-color: #E2001A;
	position: relative;
	top: calc(0.5lh - 1px);
}

@media only screen and (min-width: 1280px) {
	.num-title .txt {
		gap: 16px;
		font-size: 18px;
		line-height: 24px;
		margin-bottom: 8px;
	}
}

.num-title .h2 {
	order: 3;
}

.section {
	position: relative;
	padding: 24px var(--side) 40px var(--side);
}

.solutions {
	background: var(--white);
	color: #556A84;
	overflow: hidden;
	font-weight: bold;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: -2%;
}

.solutions .num-title {
	margin-bottom: 16px;
}

.solutions .list {
	margin-top: 24px;
	font-weight: bold;
	font-size: 14px;
	line-height: 22px;
	letter-spacing: -1.5%;
	text-shadow: 0 0 4px var(--white);

}

.solutions .list strong {
	font-weight: 800;
	color: #DC1010;
}

.solutions .list>* {

	vertical-align: top;
	width: 100%;
	position: relative;
	padding-left: 76px;
	padding-bottom: 32px;
	display: inline-flex;
	flex-direction: column;
	gap: 8px;
}

.solutions .list .title {
	font-weight: 800;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: -2%;
	color: #1849A9;
	margin-top: -6px;
	margin-bottom: 2px;

}

.solutions .list .title+* {
	font-weight: 500;
}

.solutions .list .title+* strong {
	color: #0A1835;
}

.solutions .list .icon {
	position: absolute;
	top: -23px;
	left: -23px;
	width: 125px;
	height: 125px;
}

.solutions .list .icon img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate3d(-50%, -50%, 0);
	width: auto;
	height: auto;

}

.solutions .btn-wrap {
	background-color: #B7C6DB40;
}

@media only screen and (max-width: 1279px) {
	.solutions .list .icon {
		transform: scale(0.75);
		top: -33px;
		left: -33px;
	}
}

@media only screen and (min-width: 768px) {
	.solutions .list {
		column-count: 2;
		column-gap: 32px;
	}

	.solutions .btn-wrap {
		display: inline-block;
		vertical-align: top;
		min-width: 476px;
		margin-left: 76px;
	}
}

@media only screen and (min-width: 1280px) {
	.solutions {
		padding-bottom: 85px;
		font-size: 25px;
	}

	.solutions:before {
		content: '';
		position: absolute;
		bottom: 0;
		left: 50%;
		aspect-ratio: 2735/1952;
		background: url(../img/solutions.webp) no-repeat 50% 100%/contain;
		width: 1190px;
		max-width: 61.98%;
		transform: translateX(-16%);
		opacity: 0.8;
	}

	.solutions .num-title {
		margin-bottom: 30px;
	}

	.solutions .list {
		width: 81.2%;
		column-gap: 100px;
		margin-top: 60px;
		font-size: 16px;
		line-height: 24px;
		letter-spacing: -2.5%;

	}

	.solutions .list>* {
		padding-left: 112px;
		padding-bottom: 60px;
		gap: 16px;
	}

	.solutions .list .title {
		margin-top: 0;
		margin-bottom: 0;
		font-size: 21px;

	}

	.solutions .btn-wrap {
		margin-left: 112px;
	}

}

@media only screen and (min-width: 1600px) {
	.solutions {
		padding-top: 85px;
	}
}

.solutions>* {
	position: relative;
}

.benefits {
	background: #F1F4F7 url(../img/benefits.webp) no-repeat 50% 50%/cover;
	color: #556A84;
}

.benefits .num-title .num {
	color: var(--white);
	opacity: 0.5;
}

.benefits .num-title {
	margin-bottom: 24px;
}

.benefits .list {
	background-color: #FFFFFFCC;
	box-shadow: 0px 80px 160px -20px rgba(55, 76, 108, 0.2);
	backface-visibility: hidden;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border-radius: 16px;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
	padding-top: 40px;
	padding-bottom: 33px;
	font-weight: 500;
	font-size: 14px;
	line-height: 22px;
	letter-spacing: -1.5%;
	color: #556A84;
	gap: 40px 0;
}

.benefits .list>* {
	padding-left: 40px;
	padding-right: 40px;
}

.benefits .list .icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	box-shadow: 0px 0px 0px rgba(187, 203, 229, 0.25), 0px 18px 34px -4px rgba(149, 166, 188, 0.32);
	border-radius: 10px;
	margin-bottom: 24px;
}

.benefits .list .icon>* {
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
}

.benefits .list .title {
	font-weight: bold;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: -2%;
	color: #1849A9;
	margin-bottom: 8px;
}

@media only screen and (min-width: 1280px) {
	.benefits {
		padding-bottom: 120px;
	}

	.benefits .num-title {
		margin-bottom: 60px;
	}

	.benefits .list {
		font-size: 16px;
		line-height: 24px;
		letter-spacing: -2.5%;
		grid-template-columns: repeat(3, 1fr);
		gap: 58px 0;
		padding-top: 58px;
		padding-bottom: 58px;
	}

	.benefits .list .title {

		margin-bottom: 16px;
	}
}

@media only screen and (min-width: 1600px) {
	.benefits {
		padding-bottom: 282px;
		padding-top: 282px;
	}

}

@media only screen and (min-width: 1800px) {
	.benefits .list {

		grid-template-columns: repeat(5, 1fr);
	}
}

.about {
	background-color: #F7F9FC;
	color: #7E8EA6;
	position: relative;
}

.about .num-title {
	margin-bottom: 24px;
}

.about .descr {
	font-weight: 300;
	font-size: 16px;
	line-height: 30px;
	letter-spacing: -1%;
	display: flex;
	flex-direction: column;
	gap: 1lh;
}

.about .stat {
	display: grid;
	text-align: center;
	font-weight: normal;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: -2%;
	color: #7E8EA6;
}

.about .stat strong {
	display: block;
	font: 900 48px/60px var(--font-title);
	letter-spacing: normal;
	color: #2A4E8E;
	margin-bottom: 22px;
}

.about .stat strong span {
	font-weight: bold;
	letter-spacing: -1%;
}

.about .stat>* {
	position: relative;
}

@media only screen and (max-width: 639px) {
	.about .stat {

		grid-template-columns: 100%;
		padding-left: 31px;
		padding-right: 31px;
	}

	.about .stat>* {
		padding: 40px;
	}

	.about .stat>*:not(:first-child) {
		border-top: 1px solid #D4DDE4;
	}
}

@media only screen and (min-width: 640px) {
	.about .stat {
		gap: 0 12px;
		grid-template-columns: repeat(2, 1fr);
	}

	.about .stat>* {
		padding: 60px 54px 0 54px;
		height: 250px;
	}

	.about .stat>*:nth-child(even):before {
		content: '';
		position: absolute;
		left: -6px;
		top: 20px;
		bottom: 20px;
		width: 1px;
		background-color: #D4DDE4;
		margin-left: -0.5px;
	}

	.about .stat>*:not(:last-child):not(:nth-last-child(2)):after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 14px;
		right: 14px;
		height: 1px;
		background-color: #D4DDE4;
		margin-bottom: -0.5px;
	}
}

@media only screen and (max-width: 1279px) {
	.about {
		padding-bottom: 0;
	}

	.about .descr {
		margin-top: 24px;
		margin-left: calc(var(--side)*-1);
		margin-right: calc(var(--side)*-1);
		padding: 80px 50px;
		text-align: center;
		background: #162131 url(../img/about.webp) no-repeat 50% 50%/cover;
		color: var(--white);
	}
}

@media only screen and (min-width: 1280px) {
	.about {
		color: var(--white);
		padding-top: 60px;
		padding-bottom: 180px;
	}

	.about:before {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		left: 50%;
		right: 0;
		background: #162131 url(../img/about.webp) no-repeat 50% 50%/cover;
	}

	.about .wrap {
		margin-left: 50%;
		padding-left: min(var(--side), 160px);
	}

	.about .wrap>*:not(.stat) {
		position: relative;
	}

	.about .num-title {
		margin-bottom: 48px;
	}

	.about .num-title .num {
		color: #F1F3F6;
		opacity: 0.05;
	}

	.about .num-title .txt {
		color: #FFFFFF80;
	}

	.about .num-title .txt:after {
		background-color: #FFFFFF80;
	}

	.about .num-title .h2 {
		color: var(--white);
	}

	.about .stat {
		position: absolute;
		top: 50%;
		left: 0;
		width: 50%;
		transform: translateY(-50%);
		padding-left: var(--side-header);
		padding-right: min(var(--side-header), 120px);
	}

	.about .descr {
		font-size: 21px;
		line-height: 35px;
		max-width: 31.04em;
	}
}

@media only screen and (min-width: 1600px) {
	.about {
		padding-top: 380px;
		padding-bottom: 380px;
	}
}

.portfolio {
	background-color: #F7F9FC;
	color: #7E8EA6;
	padding-bottom: 60px;
	overflow: hidden;
}

.portfolio .num-title {
	margin-bottom: 24px;
}

.main-portfolio-slider {
	overflow: visible !important;
	width: auto !important;
	position: relative;
}

.main-portfolio-slider>*>.swiper-slide {
	height: auto !important;
}

.main-portfolio-slider-button {
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	user-select: none;
	position: absolute;
	bottom: 100%;
	right: var(--side);

	margin-bottom: 30px;
	z-index: 10;
	height: 24px;
	outline: none;
	border: 0;
	background: none;
	transition-property: transform, color;
	transition-duration: 0.4s;
	transition-timing-function: ease;
	color: #1849A9;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media only screen and (min-width: 1280px) {
	.main-portfolio-slider-button {
		margin-bottom: 56px;
	}
}

.main-portfolio-slider-button.swiper-button-disabled {
	cursor: default;
	color: #A4B5CF;
}

.main-portfolio-slider-button svg {
	flex: 0 0 auto;
	fill: currentColor;
}

.main-portfolio-slider-prev {
	width: 33px;
	margin-right: 73px;
}

.main-portfolio-slider-next {
	width: 57px;
}

.portfolio-case-gallery .swiper-slide {
	position: relative;
	height: auto !important;
}

.portfolio-case-gallery .swiper-slide img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.portfolio-case-gallery-button {
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	user-select: none;
	outline: none;
	box-shadow: none;
	border: 0;
	position: absolute;
	z-index: 5;
	top: 50%;
	backface-visibility: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--white);
	width: 120px;
	height: 80px;
	transform: translateY(-50%);
	background-color: #11192880;
	backdrop-filter: blur(24px);
	-webkit-backdrop-filter: blur(24px);
	transition-property: color, background;
	transition-duration: 0.4s;
	transition-timing-function: ease;
}

.portfolio-case-gallery-button svg {
	flex: 0 0 auto;
	fill: currentColor;
}

.portfolio-case-gallery-button.swiper-button-disabled {
	background-color: #1119282B;
	color: #ffffff59;
}

.portfolio-case-gallery-prev {
	left: 0;
	border-top-right-radius: 8px;
	border-bottom-right-radius: 8px;
}

.portfolio-case-gallery-prev svg {
	transform: scale(-1, 1);
}

.portfolio-case-gallery-next {
	right: 0;
	border-top-left-radius: 8px;
	border-bottom-left-radius: 8px;
}

.portfolio-case-gallery .swiper-scrollbar {
	width: 120px !important;
	left: 50% !important;
	right: auto !important;
	margin-left: -60px !important;
	--swiper-scrollbar-size: 4px;
	--swiper-scrollbar-bottom: 15px;
	--swiper-scrollbar-bg-color: #F7F9FC4D;
	--swiper-scrollbar-drag-bg-color: #E2001A;
}

.portfolio-case-preview {
	font-weight: normal;
	font-size: 14px;
	line-height: 22px;
	letter-spacing: -1.5%;
	color: #556A84CC;
}


.portfolio-case-preview .photo {
	position: relative;
	height: 300px;
	border-radius: 8px;
	margin-bottom: 24px;
}

.portfolio-case-preview .photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	border-radius: 8px;
}

.portfolio-case-preview .title,
.portfolio-case-preview .descr {
	padding-left: 2px;
	padding-right: 2px;
}

.portfolio-case-preview .title {
	font-weight: bold;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: -2%;
	color: #1849A9;
	height: 2lh;
	margin-bottom: 16px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.portfolio-case-preview .descr {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.portfolio-case-preview .made,
.portfolio-case-detailed .made {
	position: relative;
	margin-top: 24px;
	border-top: 1px solid #D4DDE4;
	font-weight: bold;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: -2%;
	padding: 24px 0 0 34px;
	color: #142341;
	background: url(../img/icons/checkmark-red.svg) no-repeat 2px 24px/24px 24px;
}

.portfolio-case-preview .made strong,
.portfolio-case-detailed .made strong {
	font-weight: inherit;
	color: #E2001A;
}

.portfolio-case-detailed {
	font-weight: normal;
	font-size: 14px;
	line-height: 22px;
	letter-spacing: -1%;
	color: #56667E;
}

.portfolio-case-detailed strong {
	font-weight: bold;
}

.portfolio-case-detailed .title,
.portfolio-case-detailed p {
	padding-left: 2px;
	padding-right: 2px;
}

.portfolio-case-detailed .title {
	font-weight: bold;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: -2%;
	color: #1849A9;
	margin-bottom: 16px;

}

.portfolio-case-detailed p {
	margin-top: 8px;
}


@media only screen and (min-width: 1280px) {
	.portfolio {
		padding-bottom: 78px;
	}

	.portfolio .num-title {
		margin-bottom: 60px;
	}

	.portfolio-case-preview {
		font-size: 16px;
		line-height: 28px;
		letter-spacing: -2%;
	}

	.portfolio-case-preview .title {
		font-weight: 800;
		font-size: 21px;
		line-height: 30px;
	}

	.portfolio-case-detailed {
		font-size: 18px;
		line-height: 32px;
	}

	.portfolio-case-detailed .title {
		font-weight: 800;
		font-size: 24px;
		line-height: 32px;
		margin-bottom: 24px;

	}

	.portfolio-case-detailed .made {
		padding-top: 32px;
		font-weight: 800;
		font-size: 21px;
		background-position: 2px 32px;
	}

}

@media only screen and (min-width: 1600px) {
	.portfolio {
		padding-top: 110px;
	}
}

@media only screen and (max-width: 767px) {
	.main-portfolio-slider>.swiper-wrapper {
		flex-direction: column;
		gap: 40px;
	}

	.main-portfolio-slider>*>.swiper-slide:nth-child(n+4) {
		display: none !important;
	}

	.main-portfolio-slider-button {
		display: none;
	}

	.portfolio-case-gallery {
		width: auto !important;
		margin: 0 calc(var(--side)*-1) !important;
	}

	.portfolio-case-gallery-button {
		display: none;
	}

	.portfolio-case-gallery .swiper-slide {
		height: 300px !important;
	}

	.portfolio-case-gallery~* {
		display: none;
	}

	.portfolio-case-preview {
		margin-left: 2px;
		margin-right: 2px;
		margin-top: 24px;
	}

	.portfolio-case-preview .photo {
		display: none;
	}

}

@media only screen and (min-width: 768px) {
	.portfolio .num-title {
		margin-right: 124px;
	}

	.main-portfolio-slider {
		margin-left: calc(var(--side)*-1) !important;
		margin-right: calc(var(--side)*-1) !important;
		padding-left: calc(var(--side) - 25px) !important;
		padding-right: calc(var(--side) - 25px) !important;
	}

	.main-portfolio-slider>*>.swiper-slide {
		width: 50%;
		padding: 0 25px;
		transition: opacity 0.4s ease;
	}

	.main-portfolio-slider>*>.swiper-slide:not(.swiper-slide-visible) {
		opacity: 0;
		pointer-events: none;
	}

	@media only screen and (min-width: 1600px) {
		.main-portfolio-slider>*>.swiper-slide {
			width: 33.333%;
		}
	}

	.portfolio .portfolio-case-detailed {
		display: none !important;
	}

	.portfolio-case-detailed {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		overflow-y: auto;
		display: flex;
		z-index: 1000;
	}

	.portfolio-case-detailed:not([data-open]),
	.portfolio-case-detailed:not([data-open]) * {
		pointer-events: none;
	}

	.portfolio-case-detailed .fader {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		height: 100lvh;
		background-color: color-mix(in srgb, var(--menu-bg) 30%, transparent);
		transition: opacity 0.4s ease;
		z-index: 1;
	}

	.portfolio-case-detailed:not(.go-open) .fader {
		opacity: 0;
	}

	.portfolio-case-detailed .wrap {
		flex: 0 0 auto;
		margin: auto;
		width: calc(100% - var(--side)*2);
		max-width: 1360px;
		position: relative;
		z-index: 2;
		background-color: var(--white);
		border-radius: 16px;
		box-shadow: 0px 80px 160px -20px rgba(13, 33, 64, 0.26);
		padding: 50px;
		backface-visibility: hidden;
		transition-property: transform, opacity;
		transition-duration: 0.4s;
		transition-timing-function: ease;
		transform: translate3d(0, 0, 0);

	}

	.portfolio-case-detailed:not(.go-open) .wrap {
		opacity: 0;
		transform: translate3d(0, -50px, 0);

	}


	.portfolio-case-detailed .close {
		-webkit-appearance: none;
		appearance: none;
		cursor: pointer;
		user-select: none;
		position: absolute;
		width: 40px;
		height: 40px;
		top: 8px;
		right: 8px;
		border-radius: 8px;
		margin: 0;
		padding: 0;
		background: none;
		border: 0;
		outline: none;
		transition: color 0.4s ease;
		color: #8DA0C1;
	}

	.portfolio-case-detailed .close:before,
	.portfolio-case-detailed .close:after {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		width: 22px;
		height: 1px;
		background-color: currentColor;
		border-radius: 1px;
	}

	.portfolio-case-detailed .close:before {
		transform: translate3d(-50%, -50%, 0) rotate(45deg);

	}

	.portfolio-case-detailed .close:after {
		transform: translate3d(-50%, -50%, 0) rotate(-45deg);

	}

	.portfolio-case-gallery {
		border-radius: 8px;
		margin-bottom: 34px;
	}

	.portfolio-case-gallery .swiper-scrollbar {
		display: none;
	}

	.portfolio-case-gallery .swiper-slide {
		height: 650px !important;
		max-height: 50vh;
		max-height: 50svh;
	}
}

.brands {
	background-color: var(--white);
	padding: 45px calc(var(--side) + 20px) 55px calc(var(--side) + 20px);
	text-align: center;
}

.brands img {
	width: auto;
	height: auto;
	display: block;
	max-width: 100%;
	margin: 0 auto;
}

@media only screen and (max-width: 767px) {
	.brands {
		padding-top: 40px;
		padding-bottom: 60px;
	}

	.brands img {
		max-width: 220px;
	}
}

.process {
	background-color: #F8FCFD;
	color: #556A84;
	position: relative;
	overflow: hidden;
}

.process>* {
	position: relative;
}

.process .num-title {
	margin-bottom: 32px;
}

.process .list {
	counter-reset: pr;
	display: flex;
	flex-direction: column;
	gap: 24px;
	position: relative;
	font-weight: normal;
	font-size: 14px;
	line-height: 22px;
	letter-spacing: -2%;
	color: #556A84;
}

.process .list>* {
	position: relative;
	padding-left: 56px;

}

.process .list>*:not(:last-child) {
	min-height: 108px;
}

.process .list>*:not(:last-child):after {
	content: '';
	position: absolute;
	top: 48px;
	bottom: 0;
	left: 20px;
	border-left: 1px dashed #7E8EA6;
	transform: translateX(-50%);
	opacity: 0.4;
}

.process .list .dot {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: #1849A914;
	position: absolute;
	top: -8px;
	left: 0;
}

.process .list .dot:before,
.process .list .dot:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	border-radius: 50%;
}

.process .list .dot:before {
	margin: 8px;
	background-color: #1849A91F;
}

.process .list .dot:after {
	margin: 16px;
	background-color: #1849A9;
}

.process .list .title {
	font-weight: bold;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: -2%;
	color: #1849A9;
	margin-bottom: 8px;
}

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

	.process .list {
		padding-left: 78px;
		max-width: 695px;
	}

	.process .list>*:before {
		content: counter(pr, decimal-leading-zero);
		counter-increment: pr;
		font: 900 50px/1 var(--font-title);
		letter-spacing: -2.5%;
		color: #879CB6;
		opacity: 0.12;
		position: absolute;
		top: -11px;
		right: 100%;
		margin-right: 16px;
	}
}

@media only screen and (min-width: 1024px) {
	.process:before {
		content: '';
		position: absolute;
		top: 0;
		left: 50%;
		width: 800px;
		aspect-ratio: 1399/980;
		background: url(../img/process.webp) no-repeat 50% 0/contain;
		transform: translateX(6.43%);
	}

}

@media only screen and (min-width: 1280px) {
	.process {
		padding-bottom: 121px;
	}

	.process:before {
		width: 1399px;
	}

	.process .num-title {
		margin-bottom: 80px;
	}

	.process .list {
		font-size: 16px;
		line-height: 24px;
		gap: 20px;
	}

	.process .list>* {

		padding-left: 72px;

	}

	.process .list>*:not(:last-child) {
		min-height: 130.5px;
	}

	.process .list>*:not(:last-child):after {
		top: 42px;
	}

	.process .list .title {
		font-weight: 800;
		font-size: 21px;
		margin-bottom: 12px;
	}

}

@media only screen and (min-width: 1600px) {
	.process {
		padding-top: 121px;
	}
}

.reviews {
	background-color: var(--white);
	color: #7E8EA6;
}

.reviews .num-title {
	margin-bottom: 24px;
}

.reviews .wrap-videos,
.reviews .wrap-reviews {
	position: relative;

}

.reviews .wrap-videos {
	margin-bottom: 40px;
	padding-bottom: 28px;
}

.reviews .slider-videos {
	background-color: #0B0D17;
}

.reviews .slider-videos .swiper-slide {
	aspect-ratio: 800/530;
	height: auto !important;
	max-height: 530px;
	min-height: 280px;
}

.reviews .slider-videos .swiper-slide img,
.reviews .slider-videos .swiper-slide video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	pointer-events: none;
}

.reviews .slider-videos .play-link {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	appearance: none;
	-webkit-appearance: none;
	outline: none;
	border: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #0B0D1799;
	margin: 0;
	padding: 0;
	color: var(--white);
	transition: opacity 0.4s ease;
}

.reviews .slider-videos video[data-playing]~.play-link {
	opacity: 0;
}

.reviews .slider-videos .play-link:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	transform: translate3d(-50%, -50%, 0);
	box-shadow: 0px 8px 28px rgba(34, 46, 79, 0.25);
	background-color: #E2001ACC;

}

.reviews .slider-videos .play-link svg {
	position: relative;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
}

.reviews .swiper-scrollbar {
	width: 160px !important;
	left: 50% !important;
	right: auto !important;
	margin-left: -80px !important;
	--swiper-scrollbar-size: 4px;
	--swiper-scrollbar-bottom: 0;
	--swiper-scrollbar-bg-color: #879CB64D;
	--swiper-scrollbar-drag-bg-color: #E2001A;
}

.reviews .wrap-reviews {
	padding-bottom: 42px;
}

.reviews .review:not(:first-child) {
	margin-top: 32px;
}

.reviews .review-text {
	display: block;
	position: relative;
	background: #EFF4F5CC url(../img/reviews/quote.svg) no-repeat 15px 27px/12px auto;
	border-radius: 8px;
	padding: 24px 20px 24px 44px;
	font-weight: normal;
	font-size: 15px;
	line-height: 25px;
	letter-spacing: -1%;
	color: #3A4352CC;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.reviews .review-text:before {
	content: '';
	position: absolute;
	bottom: -15px;
	right: 57px;
	background: url(../img/reviews/corner.svg) no-repeat 100% 100%/contain;
	width: 29px;
	height: 22px;
	pointer-events: none;
}

.reviews .review-author {
	position: relative;
	text-align: right;
	font-weight: bold;
	font-size: 12px;
	line-height: 24px;
	text-transform: uppercase;
	letter-spacing: -2%;
	color: #90A1BB;
	padding-top: 28px;
	padding-right: 92px;
	min-height: 92px;
}

.reviews .review-author strong {
	font-weight: inherit;
	color: #4A5B75;
}

.reviews .review-avatar {
	position: absolute;
	top: 24px;
	right: 8px;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	object-fit: cover;
	object-position: center;
	box-shadow: 0 0 0 8px #F4F7FC;
}

.reviews .review-name {
	display: block;
	font: bold 18px/28px var(--font);
	letter-spacing: -3%;
	color: #1849A9;
	text-transform: none;
}

.slider-reviews-button {
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	user-select: none;
	position: absolute;
	bottom: 100%;
	right: 0;

	margin-bottom: 30px;
	z-index: 10;
	height: 24px;
	outline: none;
	border: 0;
	background: none;
	transition-property: transform, color;
	transition-duration: 0.4s;
	transition-timing-function: ease;
	color: #1849A9;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media only screen and (min-width: 1280px) {
	.slider-reviews-button {
		margin-bottom: 56px;
	}
}

.slider-reviews-button.swiper-button-disabled {
	cursor: default;
	color: #A4B5CF;
}

.slider-reviews-button svg {
	flex: 0 0 auto;
	fill: currentColor;
	transform: scale(-1, 1);
}

.slider-reviews-prev {

	width: 57px;
	margin-right: 49px;
}

.slider-reviews-next {
	width: 33px;
}

@media only screen and (max-width: 767px) {
	.reviews .wrap-videos {
		margin-left: calc(var(--side)*-1);
		margin-right: calc(var(--side)*-1);
	}


}

@media only screen and (min-width: 768px) {
	.reviews .slider-videos {
		border-radius: 12px;
	}
}

@media only screen and (max-width: 1023px) {


	.reviews .wrap-reviews {
		margin: 0 calc(var(--side)*-1);

	}

	.slider-reviews-button {
		display: none;
	}

	.reviews .slider-reviews .swiper-slide {
		padding-left: var(--side);
		padding-right: var(--side);
	}
}

@media only screen and (min-width: 1024px) {
	.reviews {
		display: grid;
		grid-template-columns: 50% 50%;
		align-items: flex-start;
	}

	.reviews .num-title {
		grid-column: 1/-1;
	}

	.reviews .wrap-videos {
		margin-bottom: 0;
	}

	.reviews .wrap-reviews {
		margin-left: 40px;
	}

	.reviews .wrap-reviews .swiper-scrollbar {
		display: none;
	}

	.reviews .slider-reviews {
		border-radius: 12px;
	}
}

@media only screen and (min-width: 1280px) {
	.reviews {
		padding-bottom: 139px;
	}

	.reviews .num-title {
		grid-column: 1/-1;
		margin-bottom: 60px;
	}

	.reviews .wrap-videos {
		padding-bottom: 44px;
	}

	.reviews .slider-videos .play-link:before {
		width: 81px;
		height: 81px;
	}

	.reviews .wrap-reviews {
		margin-left: 80px;
		padding-bottom: 0;
	}

	.reviews .wrap-reviews .swiper-scrollbar {
		display: none;
	}

	.reviews .review:not(:first-child) {
		margin-top: 72px;
	}

	.reviews .review-text {
		font-size: 16px;
		line-height: 30px;
		background-color: #F4F7FC;
		background-position: 20px 20px;
		background-size: 20px auto;
		border-radius: 12px;
		padding: 24px 30px 24px 67px;
		letter-spacing: -2%;
		color: #3A4352;
	}

	.reviews .review-text:before {
		right: 70px;
	}

	.reviews .review-author {
		padding-top: 34px;
		min-height: 100px;
	}

	.reviews .review-avatar {

		top: 32px;
	}

	.reviews .review-name {
		font-size: 20px;
		line-height: 32px;
	}

}

@media only screen and (min-width: 1600px) {
	.reviews {
		padding-top: 147px;
	}
}

.input-wrap {
	text-align: left;
	position: relative;
	border-radius: 8px;
	transition: box-shadow 0.4s ease;
}

.input-wrap:not(:has(input:placeholder-shown)) {
	box-shadow: 0 0 0 5px #D5DCE640;
}

.input-wrap input {
	-webkit-appearance: none;
	appearance: none;
	text-align: left;
	display: block;
	width: 100%;
	font: bold 18px var(--font);
	color: var(--black);
	border: 1px solid transparent;
	background-color: var(--white);
	outline: none;
	transition-property: border, background, color;
	transition-duration: 0.4s;
	transition-timing-function: ease;
	padding: 0 44px 0 80px;
	height: 60px;
	border-radius: 8px;
	letter-spacing: -2%;
}

.input-wrap input:placeholder-shown {
	font-weight: normal;
	font-size: 16px;
	color: #96A5BDCC;
	background-color: #16233C;
	letter-spacing: -1%;
}

@media only screen and (max-width: 767px) {

	.input-wrap input:placeholder-shown {

		font-size: 15px;
	}
}

.input-icon {
	pointer-events: none;
	position: absolute;
	top: 10px;
	left: 20px;
	width: 40px;
	height: 40px;
	padding-top: 8px;
	border-right: 1px solid #6883AE80;
	transition-property: color, background;
	transition-duration: 0.4s;
	transition-timing-function: ease;
	color: #1245A0;
}

.input-icon svg {
	width: 24px;
	height: 24px;
	display: block;
}

.input-wrap input:placeholder-shown~.input-icon {
	color: #5C749B80;
	border-color: #5C749B40;
}

.input-clear {
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	position: absolute;
	top: 18px;
	right: 20px;
	width: 24px;
	height: 24px;
	outline: none;
	border: 0;
	background: none;
	color: #9EABBF;
	transition-property: color, opacity;
	transition-duration: 0.4s;
	transition-timing-function: ease;
}

.input-wrap input:placeholder-shown~.input-clear {
	opacity: 0;
	pointer-events: none;
}

.input-clear:before,
.input-clear:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 22px;
	height: 1px;
	background-color: currentColor;
	border-radius: 1px;
}

.input-clear:before {
	transform: translate3d(-50%, -50%, 0) rotate(45deg);

}

.input-clear:after {
	transform: translate3d(-50%, -50%, 0) rotate(-45deg);

}

.input-check {
	position: relative;
	font: normal 15px/24px var(--font);
	text-align: left;
	letter-spacing: -2%;
	padding: 4px 0 4px 48px;
	color: #788190;
}

@media only screen and (min-width: 768px) {
	.input-check {
		font-size: 16px;
	}
}

.input-check a {
	text-decoration: none;
	color: #1849A9;
}

.input-check label {
	cursor: pointer;
}

.input-check input {
	position: absolute;
	transform: scale(0);
	opacity: 0;
}

.input-check .checkbox {
	position: absolute;
	top: 0;
	left: 0;
	width: 32px;
	height: 32px;
	border-radius: 6px;
	background-color: #16233C;
	border: 1px solid #16233C;
	transition-property: box-shadow, background;
	transition-duration: 0.2s;
	transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}

.input-check .checkbox:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	border-radius: inherit;
	background: url(../img/icons/check-sm.svg) no-repeat 50% 50%/13px auto;
	transition: opacity 0.4s ease;
	opacity: 0;
}

.input-check input:checked~.checkbox {
	border-color: transparent;
	background-color: #1849A9CC;
	box-shadow: 0 0 0 6px #1849A926;
}

.input-check input:checked~.checkbox:before {
	opacity: 1;
}

.inputs {
	display: grid;
	grid-template-columns: 100%;
	align-items: flex-start;
	gap: 32px 16px;
}

.inputs .btn-wrap {
	margin: 0 -8px -8px -8px;
	background-color: #E6B6BC0D;
}

.inputs .btn {
	height: 60px;
	font-size: 18px;
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
	.bottom-form .inputs {
		grid-template-columns: repeat(2, 1fr);
	}

	.bottom-form .inputs .inputs-check {
		order: 2;
		grid-column: 1/-1;
	}

	.bottom-form .inputs .btn-wrap {
		margin-top: -8px;
	}
}

@media only screen and (min-width: 1024px) and (max-width: 1279px) {
	.bottom-form .inputs {
		grid-template-columns: repeat(3, 1fr);
	}

	.bottom-form .inputs .inputs-check {

		grid-column: span 2;
		margin-top: 14px;
	}
}

@media only screen and (min-width: 1280px) {
	.bottom-form .inputs {
		grid-template-columns: repeat(3, 1fr) 260px;
	}

	.bottom-form .inputs .inputs-check {
		order: 2;
		grid-column: 1/-1;
	}

	.bottom-form .inputs .btn-wrap {
		margin-top: -8px;
	}
}

.bottom-form {
	background-color: #0e151f;
	font-weight: 300;
	font-size: 15px;
	line-height: 24px;
	letter-spacing: -2%;
	color: #FFFFFF99;
	padding: 90px var(--side-big) 60px var(--side-big);
	position: relative;
}

.bottom-form .bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.bottom-form .bg~* {
	position: relative;
}

.bottom-form .bg video,
.bottom-form .bg img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	opacity: 0.6;
	backface-visibility: hidden;
}

.bottom-form .bg:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
	background: linear-gradient(to bottom, #0e151f00 0%, #0e151f 100%);
}

.bottom-form .h2 {
	color: var(--white);
	margin-bottom: 16px;
	position: relative;
}

.bottom-form .inputs {
	margin-top: 24px;
}

@media only screen and (max-width: 767px) {
	.bottom-form {
		text-align: center;
	}

	.bottom-form .bg {
		max-height: 370px;
	}

}

@media only screen and (max-width: 1279px) {

	.bottom-form .h2 {
		font-weight: normal;
		font-size: 30px;
		line-height: 40px;
		letter-spacing: -1.5%;
	}
}

@media only screen and (min-width: 1280px) {
	.bottom-form {
		font-weight: 600;
		font-size: 20px;
		line-height: 24px;
		letter-spacing: -2%;
		color: #FFFFFF80;
		padding-top: 120px;
		padding-bottom: 68px;
	}

	.bottom-form .h2 {
		font-weight: 500;
		font-size: 42px;
		line-height: 48px;
		letter-spacing: -2.5%;
	}

	.bottom-form .inputs {
		margin-top: 60px;
	}
}

@media only screen and (max-width: 1279px) {
	.bottom-menu {
		display: none;
	}
}

@media only screen and (min-width: 1280px) {
	.bottom-menu {
		background-color: #0E1628;
		border-style: solid;
		border-width: 0.5px;
		border-color: #6283B440;
		font-weight: bold;
		font-size: 14px;
		line-height: 28px;
		letter-spacing: -3%;
		text-transform: uppercase;
		color: #9DACC280;
		padding: 36px var(--side);
	}

	.bottom-menu ul {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		gap: 20px 80px;
	}

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

.footer {
	background-color: #0E151F;
	color: #C0CDDBCC;
	padding: 30px var(--side) 0 var(--side);
}

.footer-top {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	margin-bottom: 40px;
}

.footer .logo {
	flex: 0 0 auto;
}

.footer .logo img {
	height: 32px;
	width: auto;
	display: block;
}

.footer-top .text {
	font-weight: 300;
	font-size: 15px;
	line-height: 25px;
	letter-spacing: -1%;
	color: #C0CDDBCC;
	text-wrap: balance;
}

.footer-contacts {
	display: flex;
	flex-direction: column;
	gap: 16px 0;
	font-weight: 500;
	font-size: 15px;
	line-height: 32px;
	letter-spacing: -2%;
	color: #C0CDDB;
	margin-bottom: 48px;
}

.footer-contacts>* {
	position: relative;
	padding-left: 60px;
	padding-top: 8px;
}

.footer-contacts .icon {
	position: absolute;
	top: 0;
	left: 0;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	color: #556A84;
}

.footer-contacts .icon svg {
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	fill: currentColor;
}

.footer-contacts .small {
	font-weight: 300;
	font-size: 15px;
	line-height: 24px;
	letter-spacing: -1%;
	color: #7E8EA6;
}

.footer-contacts a {
	text-decoration: none;
	color: #0E60FF;
}

.footer-contacts a[href^="tel:"] {
	color: inherit;
	font-weight: 800;
	margin-right: 8px;
	letter-spacing: 3%;
}

.footer-contacts a[href^="mailto:"] {
	color: inherit;
}

.footer-social {
	text-align: center;
	font-weight: normal;
	font-size: 13px;
	line-height: 24px;
	letter-spacing: -1%;
	color: #9DACC280;
}

.footer-social a {
	text-decoration: none;
}

.footer-social .links {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px 40px;
	margin-bottom: 24px;
}

.footer-social .links>* {
	flex: 0 0 auto;
	position: relative;
	font-weight: 600;
	font-size: 14px;
	line-height: 25px;
	letter-spacing: -2%;
	padding: 2px 0 3px 64px;
	color: #A0AEC099;
}

.footer-social .links .icon {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 48px;
	border-right: 1px solid #2D3748;
	color: #718096;
}

.footer-social .links .icon svg {
	position: absolute;
	top: 50%;
	left: 0;
	width: 32px;
	height: 32px;
	fill: currentColor;
	transform: translateY(-50%);
	opacity: 0.65;
}

.footer-copyright {
	margin-top: 30px;
	text-align: center;
	font-weight: normal;
	font-size: 13px;
	line-height: 24px;
	letter-spacing: -1%;
	color: #9DACC266;
	padding-top: 24px;
	padding-bottom: 46px;
	border-top: 0.5px solid #6283B440;
	background: url(../img/footer-copyright.svg) no-repeat 50% 100%;
}

@media only screen and (max-width: 767px) {
	.footer {
		padding-left: 32px;
		padding-right: 32px;
	}
}

@media only screen and (min-width: 768px) {
	.footer {
		display: grid;
		align-items: flex-start;
		grid-template-columns: 1fr 1fr;
		padding-top: 40px;
		gap: 40px 0;
	}

	.footer-top {
		margin: 0;
		order: 1;
		text-align: left;
		align-items: start;
	}

	.footer-social {
		margin: 0;
		order: 2;
		text-align: right;
	}

	.footer-social .links {
		justify-content: flex-end;
	}

	.footer-contacts {
		margin: 0;
		order: 3;
		grid-column: 1/-1;
		display: grid;
		grid-template-columns: 1fr auto;
	}

	.footer-copyright {
		margin: 0;
		order: 4;
		grid-column: 1/-1;
	}
}


@media only screen and (min-width: 1280px) {
	.footer {
		padding-top: 80px;
		gap: 80px 0;
		grid-template-columns: 2fr 1fr;
		align-items: center;
	}

	.footer-top {

		padding-left: 24px;
	}

	.footer .logo img {
		height: 36px;
	}

	.footer-top .text {
		font-weight: normal;
		font-size: 15px;
		line-height: 32px;
		letter-spacing: -2%;


	}

	.footer-contacts {

		font-size: 16px;
		padding-left: 12px;
		padding-right: 24px;
	}



	.footer-contacts a[href^="mailto:"] {
		text-decoration: underline;
	}

	.footer-social {

		font-size: 16px;
		line-height: 26px;
		letter-spacing: -3%;
		padding-right: 24px;
	}

	.footer-social .links {

		gap: 20px 50px;
		margin-bottom: 24px;
	}

	.footer-social .links>* {
		color: #A0AEC0;
	}

	.footer-copyright {
		background: none;
		padding-top: 40px;
		padding-bottom: 64px;
		font-size: 15px;
		letter-spacing: -2%;
		color: #9DACC280;
	}

}

@media only screen and (min-width: 1440px) {
	.footer-top {
		flex-direction: row;
		align-items: center;
		gap: 60px;
	}

	.footer-top .text {
		padding: 11px 0 11px 60px;
		border-left: 1px solid #2D3748;
	}
}

@media only screen and (min-width: 1700px) {
	.footer {

		align-items: flex-start;
	}

	.footer-contacts {
		grid-template-columns: repeat(4, auto);
	}

	.footer-contacts>*:last-child {
		margin-left: auto;
	}
}

.modal-wrap {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: flex;
	backface-visibility: hidden;
	z-index: 1100;
	margin: 0;
	padding: 0;
	border: 0;
	overflow: hidden;
	outline: none;
	box-shadow: none;
	background: none;
}

.modal-wrap:not([data-open]),
.modal-wrap:not([data-open]) * {
	pointer-events: none !important;
}

.modal-fader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: color-mix(in srgb, var(--menu-bg) 30%, transparent);
	transition: opacity 0.4s ease;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

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

.modal {
	flex: 0 0 auto;
	width: 100%;
	backface-visibility: hidden;
	position: relative;
	font-weight: 300;
	font-size: 15px;
	line-height: 24px;
	letter-spacing: -2%;
	text-align: center;
	text-wrap: balance;
	transition-property: transform, opacity;
	transition-duration: 0.4s;
	transition-timing-function: ease;
	transform: translate3d(0, 0, 0);

}

.modal .h2 {
	font-weight: normal;
	font-size: 30px;
	line-height: 40px;
	letter-spacing: -1.5%;
	margin-bottom: 16px;
}

.modal .inputs {
	margin-top: 24px;
}

.modal-sent {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.modal-sent>svg {
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	margin: 0 auto 32px auto;
}

.modal-close {
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	user-select: none;
	position: absolute;
	width: 40px;
	height: 40px;
	top: 8px;
	right: 8px;
	border-radius: 8px;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	outline: none;
	transition: color 0.4s ease;
	color: #8DA0C1;
}

.modal-close:before,
.modal-close:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 22px;
	height: 1px;
	background-color: currentColor;
	border-radius: 1px;
}

.modal-close:before {
	transform: translate3d(-50%, -50%, 0) rotate(45deg);

}

.modal-close:after {
	transform: translate3d(-50%, -50%, 0) rotate(-45deg);

}

@media only screen and (max-width: 767px) {
	.modal {
		margin-top: auto;
		background-color: #0C111D;
		border-top-left-radius: 48px;
		border-top-right-radius: 48px;
		color: #FFFFFF99;
		padding-top: 29px;
		height: calc(100% - 80px);
	}


	.modal-wrap:not(.go-open) .modal {
		opacity: 0;
		transform: translate3d(0, 100%, 0) !important;
	}

	.modal:before {
		content: '';
		position: absolute;
		top: 12px;
		left: 50%;
		width: 160px;
		height: 5px;
		border-radius: 5px;
		background-color: #2C395180;
		margin-left: -80px;
	}

	.modal .h2 {
		color: var(--white);
	}

	.modal-inner {
		padding: 31px 35px 60px 35px;
		height: 100%;
		overflow-y: auto;
	}

	.modal-close {
		display: none;
	}

	.modal-sent>svg {
		fill: #3562BB;
	}
}

@media only screen and (min-width: 768px) {
	.modal-wrap {
		overflow-y: auto;
	}

	.modal {
		background-color: var(--white);
		border-radius: 16px;
		box-shadow: 0px 80px 160px -20px rgba(55, 76, 108, 0.2);
		font-weight: normal;
		color: #122342;
		max-width: 450px;
		margin: auto;
	}


	.modal-wrap:not(.go-open) .modal {
		opacity: 0;
		transform: translate3d(0, -50px, 0) !important;
	}

	.modal-inner {
		padding: 60px 40px;

	}

	.modal .h2 {
		margin-bottom: 8px;
	}

	.modal-sent {
		color: #545F73;
		min-height: 630px;
	}

	.modal-sent .h2 {
		margin-bottom: 16px;
	}

	.modal-sent>svg {
		fill: #4274D6;
		width: 64px;
		height: 64px;
		margin-bottom: 24px;
	}

	.modal .input-wrap:not(:has(input:placeholder-shown)) {
		box-shadow: 0 0 0 5px #1849A91A;
	}

	.modal .input-wrap input {
		border-color: #4274D6;
	}

	.modal .input-wrap input:placeholder-shown {
		background-color: #F1F2F3;
		border-color: #E9ECF0;
		color: #5C749BCC;
	}


	.modal .input-icon {
		border-color: #4274D6;
		color: #4274D6;
	}

	.modal .input-wrap input:placeholder-shown~.input-icon {
		color: #5C749B80;
		border-color: #5C749B40;
	}

	.modal .input-check {
		padding: 0 0 0 40px;
	}

	.modal .input-check .checkbox {
		width: 24px;
		height: 24px;
		border-radius: 6px;
		border-color: #E9ECF0;
		background-color: #F1F2F3;
	}

	.modal .input-check input:checked~.checkbox {
		background-color: #1849A9;
		border-color: transparent;
		box-shadow: 0 0 0 6px #1849A926;
	}
}

.anchor {
	flex: 0 0 auto;
	width: 100%;
	height: 0;
	position: relative;
	top: calc(var(--header)*-1 - 24px);
	order: 0 !important;
	display: block;
}

@media only screen and (max-width: 1279px) {
	.anchor {
		top: -84px;
	}
}

.input-wrap.error {
	border: none;
    box-shadow: 0 0 2px 5px rgba(219, 7, 7, 0.88) !important;
}

.input-check .error {
    box-shadow: 0 0 2px 5px rgba(219, 7, 7, 0.88);
    padding: 10px;
    border-radius: 8px;
}