/* Fonts */

@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Rubik:ital,wght@0,300..900;1,300..900&display=swap');

@font-face {
	font-family: 'Mont';
	src: url('../fonts/MontRegular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Mont';
	src: url('../fonts/MontSemiBold.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Mont';
	src: url('../fonts/MontLight.woff2') format('woff2');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Mont';
	src: url('../fonts/MontExtraLight.woff2') format('woff2');
	font-weight: 200;
	font-style: normal;
	font-display: swap;
}


/* Reset */

* {padding: 0;	margin: 0; -webkit-tap-highlight-color: transparent;}
*, *:before, *:after {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
:focus, :active, a:focus, a:active {outline: none;}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}
html, body {
	width: 100%;
	min-height: 100%;
	font-size: 100%;
	line-height: normal;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	-moz-text-size-adjust: none;
}

input, button, textarea, select {
	font-family: inherit;
	background: none;
	border-radius: 0;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}
input::placeholder, textarea::placeholder {opacity: 1;}
input::-ms-clear {display: none;}
button::-moz-focus-inner {padding: 0; border: 0;}
button, .button, input[type="button"], input[type=submit] {cursor: pointer;}
button[disabled], input[disabled] {cursor: default;}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {display: none;}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {-webkit-appearance: none;}
input[type="number"] {-moz-appearance: textfield;}

a, a:hover, a:visited {text-decoration: none;}
img {vertical-align: top; max-width: 100%;}

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

ol, ul {list-style: none;}

table {border-collapse: collapse; border-spacing: 0;}
th {font-weight: inherit;}
td {padding: 5px 10px;}

.scroll-disable {overflow: hidden; touch-action: none;}
/* .scroll-disable.safari {height: 100svh; position: fixed;} */




/* Global */

:root {
	--font-family: 'Montserrat', sans-serif;
	--second-family: 'Mont', sans-serif;
	--third-family: 'Rubik', sans-serif;
	--font3: 'Inter', sans-serif;

	--white: #FFFFFF;
	--black: #010312;
	--darkblack: #0D0F1B;
	--mediumblack: #0F111E;
	--softblack: #181a27;
	--lightblack: #242632;
	--shadowblue: #282b48;
	--blue: #0725C0;
	--darkgray: #585a63;
	--gray: #9E9FA3;
	--purple: #d0b8d2;
	--red: #ff2348;

	--max-width: 1610px;
	--min-width: 320px;
	--adaptive: ((100vw - 320px) / (1920 - 320));
	--desktop: ((100vw - 1280px) / (1920 - 1280));
	--tablet: ((100vw - 768px) / (1280 - 768));
	--mobile: ((100vw - 320px) / (768 - 320));

	--header-height: clamp(60px, 60px + (84 - 60) * var(--adaptive), 84px);
	--logo-size: clamp(100px, 100px + (146 - 100) * var(--adaptive), 146px);

	--section-padding: clamp(20px, 20px + (100 - 20) * var(--adaptive), 100px);
	--section-margin: clamp(100px, 100px + (300 - 100) * var(--adaptive), 300px);
	--page-padding-top: clamp(80px, 80px + (200 - 80) * var(--adaptive), 200px);

	--background: var(--black);
	--text-color: var(--white);
	--text-size-xs: clamp(12px, 12px + (15 - 12) * var(--adaptive), 15px);
	--text-size-s: clamp(14px, 14px + (15 - 14) * var(--adaptive), 15px);
	--text-size: clamp(14px, 14px + (16 - 14) * var(--adaptive), 16px);
	--text-size-m: clamp(14px, 14px + (18 - 14) * var(--adaptive), 18px);
	--text-size-l: clamp(14px, 14px + (20 - 14) * var(--adaptive), 20px);
	--text-size-xl: clamp(18px, 18px + (25 - 18) * var(--adaptive), 25px);
	--title-size: clamp(25px, 25px + (40 - 25) * var(--adaptive), 40px);
	--title-size-m: clamp(25px, 25px + (50 - 25) * var(--adaptive), 50px);
	--title-size-l: clamp(30px, 30px + (60 - 30) * var(--adaptive), 60px);
	--subtitle-size: clamp(20px, 20px + (30 - 20) * var(--adaptive), 30px);

	--transition: 0.3s;

	--head-margin: clamp(40px, 40px + (80 - 40) * var(--adaptive), 80px);
	--card-padding: clamp(30px, 30px + (60 - 30) * var(--adaptive), 60px);
	--card-padding-s: clamp(30px, 30px + (40 - 30) * var(--adaptive), 40px);
	--card-padding-m: clamp(30px, 30px + (80 - 30) * var(--adaptive), 80px);
	--card-padding-l: clamp(30px, 30px + (100 - 30) * var(--adaptive), 100px);
	--border-radius: clamp(10px, 10px + (20 - 10) * var(--adaptive), 20px);
	--border-radius-m: clamp(15px, 15px + (25 - 15) * var(--adaptive), 25px);
	--gap: 30px;
	--gap-s: clamp(20px, 20px + (30 - 20) * var(--adaptive), 30px);
}

html, body {
	min-width: var(--min-width);
	display: flex;
}

body {
	flex-direction: column;
	font-family: var(--font-family);
	font-weight: 400;
	font-size: var(--text-size);
	line-height: 1.6;
	color: var(--text-color);
	background: var(--background); 
	position: relative;
}

main {
	overflow: hidden;
}
main > section {
	margin-bottom: var(--section-margin);
}
.main_nohero {
	padding-top: var(--page-padding-top);
}
.container, [class*="__container"]:not(.fancybox__container) {
	width: 100%;
	max-width: var(--max-width);
	padding: 0 var(--section-padding);
	margin: 0 auto;
	position: relative;
}

.gradient::before {
	content:'';
	display: block;
	width: max(1300px, 130%);
	aspect-ratio: 2 / 1;
	background: url(/images/gradient.svg) center / contain no-repeat;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}
.shadow::before,
.shadow::after {
	content:'';
	display: block;
	width: min(1000px, 52vw);
	aspect-ratio: 1000 / 330;
	border-radius: 100%;
	background: var(--shadowblue);
	filter: blur(500px);
	position: absolute;
	top: 50%;
	z-index: -1;
}
.shadow::before {
	left: 0;
	transform: translateX(-50%) rotate(-20deg);
}
.shadow::after {
	right: 0;
	transform: translateX(50%) rotate(-20deg);
}

.title {
	font-family: var(--second-family);
	font-weight: 600;
	font-size: var(--title-size);
	line-height: 1.4;
	display: block;
	margin-bottom: 0.5em;
}
.title span {
	font-weight: 300;
	display: block;
}
.subtitle {
	font-family: var(--second-family);
	font-weight: 600;
	font-size: var(--subtitle-size);
	line-height: 1.4;
	display: block;
	margin-bottom: 0.5em;
}

h2 {
	font-family: var(--second-family);
	font-weight: 600;
	font-size: var(--subtitle-size);
	line-height: 1.4;
	display: block;
	margin-bottom: 0.5em;
}

a, a:before, button {
	transition: var(--transition);
}
a {
	color: var(--white);
}
@media (hover: hover) {
	a:not(.button):hover {
		color: var(--gray);
	}
}

.article p {
	margin: 0 0 10px 0;
}

.article ul li {
	position: relative;
	padding: 0 0 0 15px;
	margin: 0 0 10px 0;
}

.article ul li:before {
	content: '';
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #fff;
	position: absolute;
	top: .6em;
	left: 0;
}

.cover {
	object-fit: cover;
	object-position: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.contain {
	object-fit: contain;
	object-position: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.lang {
	font-family: var(--second-family);
	width: 43px;
	background: url(/images/arrow-down.svg) right center no-repeat;
	position: relative;
	flex-shrink: 0;
}
.lang__active {
	font-weight: 600;
	text-transform: uppercase;
	display: block;
	cursor: pointer;
	transition: 0.3s;
}
.lang__list {
	position: absolute;
	left: 0;
	top: 100%;
	background: var(--softblack);
	border-radius: 5px;
	opacity: 0;
	pointer-events: none;
	transition: var(--transition);
	z-index: 2;
}
.lang__list_open {
	opacity: 1;
	pointer-events: all;
}
.lang__item {
	font-size: 14px;
	text-transform: uppercase;
	cursor: pointer;
	transition: 0.3s;
	margin: 1em 1.2em;
}
@media (hover: hover) {
	.lang__active:hover,
	.lang__item:hover {
		color: var(--gray);
	}
}

.button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	padding: 1.5em 2.5em;
	border: none;
	border-radius: 50px;
	background: var(--blue);
	color: var(--white);
	font-family: var(--second-family);
	font-weight: 400;
	font-size: var(--text-size-l);
	line-height: 1;
	flex-shrink: 0;
}
.button_white {
	background: none;
	border: 1px solid var(--white);
}
@media (hover: hover) {
	.button:hover {
		filter: brightness(130%);
	}
	.button_white:hover {
		color: var(--black);
		box-shadow: inset 0 -4em 0 0 var(--white);
	}
}
.button:active {
	transform: scale(0.98);
	opacity: 0.8;
}

.buttons-head {
	--gap: clamp(20px, 20px + (30 - 20) * var(--adaptive), 30px);

	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--gap);
	margin-bottom: var(--head-margin);
}
@media (max-width: 539px) {
	.buttons-head {
		flex-direction: column;
		align-items: flex-start;
	}
	.buttons-head > *:last-child:not(.head-button-left) {
		margin-left: auto;
	}
}

.slider-arrows {
	--arrow-size: clamp(44px, 44px + (64 - 44) * var(--adaptive), 64px);

	display: flex;
	gap: var(--card-padding);
}
.slider-arrow {
	width: var(--arrow-size);
	aspect-ratio: 64 / 24;
	background: url(/images/slider-arrow.svg) center / contain no-repeat;
	border: none;
}
.slider-arrow_prev {
	transform: scaleX(-1);
}
.swiper-button-disabled {
	opacity: 0.5;
}
.slider-counter {
	font-family: var(--second-family);
	font-size: var(--text-size-xl);
	width: fit-content;
}

.card {
	--gradient-height: clamp(10px, 10px + (15 - 10) * var(--adaptive), 15px);

	background: var(--mediumblack);
	border-radius: var(--border-radius);
	padding: var(--card-padding);
	position: relative;
}
.card::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: var(--border-radius);
	background: linear-gradient(45deg, #1a0480 0%, #9e1b6a 49.66%, #bf450b 100%);
	transform: translateY(calc(var(--gradient-height) * -1));
	z-index: -1;
}
.card_bronze::before {
	background: linear-gradient(90deg, #eea55e 0%, #892e01 24%, #ffce8b 64%, #ce6e32 100%);
}
.card_silver::before {
	background: linear-gradient(90deg, #646464 0%, #d8d8d8 24%, #606060 38%, #989898 64%, #606060 100%);
}
.card_gold::before {
	background: linear-gradient(90deg, #d19f00 0%, #c49602 38%, #9c6700 64%, #eddf5a 100%);
}

.fancybox__thumbs,
.fancybox__button--thumbs,
.fancybox__button--fullscreen,
.fancybox__button--slideshow,
.fancybox__button--zoom {
	display: none!important;
}
.carousel__button,
.fancybox__button--close,
.fancybox__counter {
	opacity: 0.5;
}
.carousel__button:hover,
.fancybox__button--close:hover {
	opacity: 1;
}






/* Header */

.header {
	--header-gap: clamp(30px, 30px + (60 - 30) * var(--desktop), 60px);

	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
}
.header::before {
	content:'';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 150%;
	background: linear-gradient(to bottom, var(--black) 0%, var(--black) 50%, transparent 100%);
	opacity: 0.9;
	transition: opacity 0.5s;
	z-index: -1;
}
.header_fixed {
	position: fixed;
	transition: transform 0.5s;
	will-change: transform;
}
.header_hide {
	transform: translateY(-110%);
}
.header_hide::before {
	opacity: 0;
}
.header_hide:has(.menu_open) {
	transform: none;	
}
.header__container {
	height: var(--header-height);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--header-gap);
}
.header__logo {
	width: var(--logo-size);
	flex-shrink: 0;
	position: relative;
	z-index: 2;
}
.header__menu {
	flex: 1;
}
.header__actions {
	display: flex;
	align-items: center;
	gap: max(20px, calc(var(--header-gap) / 2));
}
.header__contacts {
	display: flex;
	align-items: center;
	gap: 5px;
}
.header__phone {
	font-family: var(--second-family);
	font-weight: 600;
	color: var(--white);
	margin-left: 5px;
	white-space: nowrap;
}
.header__social {
	flex-shrink: 0;
}
@media (hover: hover) {
	.header__social:hover {
		transform: scale(1.1);
		filter: brightness(120%);
	}
}
.header__button {
	font-size: 14px;
	padding: 1em 1.8em;
	white-space: nowrap;
	z-index: 2;
}

@media (max-width: 1365px) {
	.header {
		--header-gap: clamp(20px, 20px + (50 - 20) * var(--tablet), 50px);
	}
	.header__contacts {
		display: none;
	}
}
@media (max-width: 539px) {
	.header__button {
		display: none;
	}
}



/* Menu */

.menu {
	--menu-gap: clamp(20px, 20px + (30 - 20) * var(--desktop), 30px);

	display: flex;
	gap: var(--menu-gap);
}
.menu__link {
	font-size: 14px;
	color: var(--white);
	white-space: nowrap;
}
.menu__link_active {
	font-weight: 500;
	pointer-events: none;
}





/* Burger */

.burger {
	--burger-padding: 7px;
	--burger-width: 28px;
	--burger-height: 20px;
	--burger-bg: none;
	--burger-color: var(--white);
	--burger-line-width: 3px;
	--burger-line-radius: 50px;

	padding: var(--burger-padding);
	margin: calc(var(--burger-padding) * -1);
	background: var(--burger-bg);
	border: none;
	position: relative;
	z-index: 2;
	display: none;
}
.burger__icon {
	display: block;
	width: var(--burger-width);
	height: var(--burger-height);
	position: relative;
}
.burger__line {
	display: block;
	background: var(--burger-color);
	height: var(--burger-line-width);
	border-radius: var(--burger-line-radius);
	position: absolute;
	width: 100%;
}
.burger__line_1 {top: 0;}
.burger__line_2 {top: 50%; transform: translateY(-50%);}
.burger__line_3 {bottom: 0;}

.burger__line {
	transition-duration: 0.2s;
	transition-property: transform, top, bottom, opacity;
	transition-delay: 0s, 0.1s, 0.1s, 0s;
}
.burger_close .burger__line {
	transition-duration: 0.2s;
	transition-property: transform, top, bottom, opacity, width, margin;
	transition-delay: 0.1s, 0s, 0s, 0s, 0.1s, 0.1s;
}
.burger_close .burger__line_1 {
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 110%;
	margin: 0 -5%;
}
.burger_close .burger__line_2 {
	opacity: 0;
}
.burger_close .burger__line_3 {
	bottom: 50%;
	transform: translateY(50%) rotate(-45deg);
	width: 110%;
	margin: 0 -5%;
}




/* Mobile menu */

@media (max-width:1023px) {
	.burger {
		display: block;
	}
	.menu {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		border-top: var(--header-height) solid transparent;
		padding-top: 20px;
		padding-bottom: calc(100vh - 100svh + 40px);
		padding-left: calc(var(--section-padding));
		padding-right: calc(var(--section-padding));
		background: var(--black);
		overflow: auto;
		display: flex;
		flex-direction: column;
		gap: 20px;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.4s;
	}
	.menu_open {
		opacity: 1;
		pointer-events: all;
	}
	.menu > * {
		transition: 0.2s 0s; 
		transform: translateY(-30px); 
		opacity: 0;
	}
	.menu_open > * {
		transition: 0.4s 0.2s; 
		transform: translateY(0); 
		opacity: 1;
	}

	.menu .header__contacts,
	.menu .header__button {
		display: flex;
	}
}





/* Hero */

.hero {
	--title-size: clamp(32px, 32px + (100 - 32) * var(--adaptive), 100px);
	--text-size: clamp(14px, 14px + (30 - 14) * var(--adaptive), 30px);
	--button-gap: clamp(12px, 12px + (20 - 12) * var(--adaptive), 20px);

	min-height: 100vh;
	display: flex;
	align-items: center;
	position: relative;
	margin-bottom: 0;
}
.hero::before {
	content:'';
	display: block;
	position: absolute;
	left: 0;
	width: max(800px, 100%);
	aspect-ratio: 1920 / 1100;
	top: 100%;
	transform: translateY(-50%);
	background: url(/images/hero-gradient.png) center / cover no-repeat;
}
.hero__container {
	padding-top: calc(var(--header-height) * 2);
	padding-bottom: calc(var(--header-height) * 2);
}
.hero__image {
	position: absolute;
	inset: 0;
	z-index: -1;
}
.hero__title {
	font-family: var(--second-family);
	font-weight: 600;
	font-size: var(--title-size);
	line-height: 1.3;
	max-width: 10em;
	text-shadow: 0 4px 30px 0 rgba(1, 3, 18, 0.2);
	margin-bottom: 0.2em;
}
.hero__text {
	font-weight: 300;
	font-size: var(--text-size);
	line-height: 1.5;
	max-width: 27em;
	margin-bottom: 2em;
}
.hero__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--button-gap);
}
.hero__marquee {
	font-weight: 300;
	font-size: calc(var(--text-size) * 1.3);
	font-style: italic;
	position: absolute;
	bottom: 0;
	left: 0;
	width: max-content;
	display: grid;
	grid-auto-flow: column;
	grid-gap: 1.25em;
	padding-right: 1.25em;
	margin-bottom: 1.75em;
	animation: marquee 50s infinite linear;
}
@keyframes marquee {
	0% {transform: translateX(0%);}
	100% {transform: translateX(-50%);} 
}

@media (min-height: 500px) {
	.hero__marquee {
		margin-bottom: calc(1.75em + 100vh - 100svh);
	}
}





/* Features */

.features {
	--padding-top: clamp(50px, 50px + (90 - 50) * var(--adaptive), 90px);
}
.features__container {
	background: var(--black);
	border-radius: var(--border-radius);
	padding-top: var(--padding-top);
}
.features__title {
	max-width: 25em;
	margin-bottom: 1.75em;
}
.features__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-auto-rows: 1fr;
	grid-gap: var(--gap);
}
.features__item {
	background: var(--mediumblack);
	border-radius: var(--border-radius);
	display: grid;
	grid-template-columns: 1fr 0.6fr;
	grid-gap: var(--gap);
	overflow: hidden;
	position: relative;
}
.features__content {
	align-self: center;
	padding: var(--card-padding);
	padding-right: 0;
	position: relative;
	z-index: 2;
}
.features__text {
	color: var(--gray);
}
.features__image {
	aspect-ratio: 265 / 330;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
}
.features__image::before {
	content:'';
	position: absolute;
	inset: 0;
	background: linear-gradient(270deg, transparent 50%, var(--mediumblack) 100%);
	z-index: 1;
}

@media (min-width: 1024px) {
	.features__item_big {
		grid-row: span 2;
		grid-template-columns: 1fr;
		grid-template-rows: repeat(2, 1fr);
	}
	.features__item_big .features__content {
		align-self: center;
		padding: var(--card-padding);
	}
	.features__item_big .features__image {
		aspect-ratio: unset;
		top: 50%;
		left: 0;
	}
	.features__item_big .features__image::before {
		background: linear-gradient(0deg, transparent 50%, var(--mediumblack) 100%);
	}
}
@media (max-width: 1023px) {
	.features__list {
		grid-template-columns: 1fr;
	}
	.features__image {
		aspect-ratio: unset;
		width: max(230px, 40%);
	}
	.features__subtitle br {
		display: none;
	}
}
@media (max-width: 430px) {
	.features__subtitle {
		margin-right: -50px;
	}
	.features__image::before {
		background: linear-gradient(270deg, transparent 20%, var(--mediumblack) 100%);
	}
}




/* Comfort */

.comfort__container {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: var(--section-padding);
}
.comfort__content {
	align-self: center;
}
.comfort__text {
	font-size: var(--text-size-l);
}
.comfort__image {
	aspect-ratio: 630 / 350;
	position: relative;
	border-radius: var(--border-radius);
	overflow: hidden;
}

@media (max-width: 850px) {
	.comfort__image {
		aspect-ratio: unset;
	}
}
@media (max-width: 539px) {
	.comfort__container {
		grid-template-columns: 1fr;
		gap: var(--gap);
	}
	.comfort__image {
		aspect-ratio: 630 / 350;
		width: calc(100% + var(--section-padding) * 2);
		left: calc(var(--section-padding) * -1);
		border-radius: 0;
	}
}





/* Solutions */

.solutions {
	--row-gap: clamp(60px, 60px + (100 - 60) * var(--adaptive), 100px);
}
.solutions__title {
	margin-bottom: 2.5em;
	max-width: 20em;
}
.solutions__list {
	display: grid;
	grid-gap: var(--row-gap);
}
.solutions__item {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-auto-flow: dense;
	align-items: center;
	gap: var(--section-padding);
}
.solutions__image {
	position: relative;
	width: fit-content;
}
.solutions__image::before {
	content:'';
	display: block;
	width: 186%;
	aspect-ratio: 1044 / 797;
	background: url(/images/solutions-gradient.svg) center / contain no-repeat;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}
.solutions__item_reverse .solutions__image::before {
	transform: translate(-50%,-50%) scale(-1);
}
.solutions__content {
	max-width: 400px;
}
.solutions__content_big {
	max-width: 550px;
}
.solutions__content .solutions__title {
	margin-bottom: 1.25em;
}
.solutions__subtitle {
	max-width: 11em;
}
.solutions__text {
	font-size: var(--text-size-m);
	color: var(--gray);
}

@media (min-width: 540px) {
	.solutions__item_reverse .solutions__image {
		grid-column: 2;
	}
}
@media (max-width: 539px) {
	.solutions__item {
		grid-template-columns: 1fr;
	}
	.solutions__content_big {
		order: -1;
	}
}




/* Innovation */

.innovation__title {
	margin-bottom: 2.5em;
	max-width: 20em;
}
.innovation__content {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	grid-gap: 20px var(--section-padding);
}
.innovation__text {
	display: grid;
	grid-gap: 1.25em;
}

.innovation__content_small {
	grid-template-columns: 1.4fr 1fr;
	grid-gap: 0 var(--section-padding);
}
.innovation__content_small .innovation__title {
	font-size: var(--title-size-m);
	max-width: 15.5em;
}
.innovation__content_small .innovation__text {
	font-size: var(--text-size-l);
	max-width: 28em;
	justify-self: end;
	align-self: center;
}

@media (max-width: 1023px) {
	.innovation__content_small {
		grid-template-columns: 1fr;
	}
	.innovation__content_small .innovation__title {
		margin-bottom: 1.5em;
	}
}




/* Poster */

.poster {
	--content-margin: clamp(40px, 40px + (60 - 40) * var(--adaptive), 60px);
}
.poster__body {
	padding: calc(var(--section-padding) * 2) calc(var(--section-padding) * 1.5);
	position: relative;
}
.poster__title {
	max-width: 22em;
}
.poster__content {
	display: flex;
	align-items: center;
	gap: var(--section-padding);
	margin-top: var(--content-margin);
}
.poster__text {
	font-weight: 300;
	font-size: var(--text-size-l);
	max-width: 820px;
}
.poster__text_big {
	font-weight: 600;
	font-size: var(--text-size-xl);
}
.poster__co2 {
	flex-shrink: 0;
}
.poster__image {
	position: absolute;
	inset: 0;
	border-radius: var(--border-radius);
	overflow: hidden;
	z-index: -1;
}

@media (max-width: 1023px) {
	.poster__content {
		flex-direction: column;
		align-items: flex-start;
	}
}
@media (max-width: 539px) {
	.poster__container {
		padding: 0;
	}
	.poster__body {
		padding-left: var(--section-padding);
		padding-right: var(--section-padding);
	}
	.poster__image {
		border-radius: 0;
	}
}




/* Integration */

.integration {
	--arrow-size: clamp(50px, 50px + (76 - 50) * var(--adaptive), 76px);
}
.integration__title {
	max-width: 20em;
}
.integration__text {
	max-width: 34em;
	font-size: var(--text-size-l);
	color: var(--gray);
	margin-bottom: var(--head-margin);
}
.integration__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: 1.2fr 1fr;
	grid-auto-rows: 1fr;
	grid-gap: var(--gap);
}
.integration__item {
	background: var(--mediumblack);
	border-radius: var(--border-radius);
	padding: var(--card-padding);
	position: relative;
	overflow: hidden;
}
.integration__item::after {
	content:'';
	display: block;
	width: var(--arrow-size);
	aspect-ratio: 1;
	border-radius: 100%;
	background: var(--blue) url(/images/arrow-circle.svg) center / cover no-repeat;
	margin-top: 20px;
	margin-left: auto;
	position: relative;
	z-index: 2;
	transition: calc(var(--transition) * 2);
	opacity: 0;
	transform: translateX(-20%);
}
.integration__item::before {
	content: '';
	display: block;
	position: absolute;
	inset: 0;
	background: var(--gray);
	background: linear-gradient(75deg, rgba(26, 4, 128, 0.5) 0%, rgba(164, 28, 105, 0.5) 52.5%, rgba(191, 69, 11, 0.5) 100%);
	transition: calc(var(--transition) * 2);
	opacity: 0;
	z-index: 1;
}
.integration__subtitle {
	position: relative;
	z-index: 2;
}
.integration__desc {
	font-size: var(--text-size-l);
	position: relative;
	z-index: 2;
}
.integration__image {
	position: absolute;
	inset: var(--card-padding);
}
.integration__image img {
	object-position: bottom right;
}
@media (hover: hover) {
	.integration__item:hover {
		color: var(--white);
	}
	.integration__desc {
		opacity: 0;
		transform: translateY(20%);
		transition: calc(var(--transition) * 2);
	}
	.integration__item:hover::before,
	.integration__item:hover .integration__desc,
	.integration__item:hover::after {
		opacity: 1;
		transform: none;
	}
	
}

@media (min-width: 540px) {
	.integration__item_big {
		grid-column: 1 / -1;
	}
	.integration__item_big::after {
		margin-top: 60px;
	}
	.integration__item_big .integration__image {
		bottom: calc(var(--card-padding) * -2);
	}
	.integration__item_big .integration__image img {
		object-position: bottom center;
	}
}
@media (max-width: 539px) {
	.integration__list {
		grid-template-columns: 1fr;
		grid-template-rows: 1fr;
	}
}




/* Mobileapp */

.mobileapp__container {
	display: flex;
	align-items: center;
	gap: 50px var(--section-padding);
}
.mobileapp__image {
	min-width: 230px;
}
.mobileapp__content {
	max-width: calc(var(--title-size-m) * 18);
}
.mobileapp__title {
	font-size: calc(var(--title-size-m));
}
.mobileapp__subtitle {
	font-weight: 500;
	font-size: var(--text-size-xl);
	margin-bottom: 0.6em;
}
.mobileapp__text {
	font-weight: 300;
	font-size: var(--text-size-l);
}
.mobileapp__demo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--gap);
}
.mobileapp__cta {
	font-size: var(--text-size-xl);
	color: var(--purple);
	flex: 1;
	min-width: 280px;
}
.mobileapp__button {
	background: rgba(255, 255, 255, 0.1);
}
@media (hover: hover) {
	.mobileapp__button:hover {
		background: rgba(255, 255, 255, 0.2);
	}
}

@media (max-width: 1023px) {
	.mobileapp__content {
		display: block;
	}
	.mobileapp__text {
		margin-bottom: 1.5em;
	}
}
@media (max-width: 539px) {
	.mobileapp__container {
		flex-direction: column-reverse;
	}
	.mobileapp__container::before {
		top: 20%;
	}
	.mobileapp__image {
		order: -1;
	}
}




/* Reviews */

.reviews {
	--avatar-size: clamp(60px, 60px + (95 - 60) * var(--adaptive), 95px);
	--avatar-gap: clamp(15px, 15px + (25 - 15) * var(--adaptive), 25px);

}
.reviews__title {
	margin-bottom: 0;
}
.reviews__list {
	display: grid;
	grid-gap: var(--gap);
}
.reviews__item {
	background: var(--mediumblack);
	border-radius: var(--border-radius);
	padding: var(--card-padding);
}
.reviews__author {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-gap: var(--avatar-gap);
	align-items: center;
}
.reviews__author-avatar {
	width: var(--avatar-size);
	aspect-ratio: 1;
	border-radius: 100%;
	overflow: hidden;
	position: relative;
	background: url(/images/avatar.svg) center / cover no-repeat;
}
.reviews__author-name {
	margin-bottom: 0;
}
.reviews__author-post {
	color: var(--gray);
}
.reviews__text {
	font-size: var(--text-size-l);
	margin-top: 1.25em;
}
.reviews__footer {
	width: fit-content;
	margin-top: var(--head-margin);
	margin-left: auto;
}
.reviews__button {
	white-space: nowrap;
}





/* Youtube */

.youtube__image {
	display: block;
	aspect-ratio: 450 / 254;
	position: relative;
	border-radius: var(--border-radius);
	overflow: hidden;
}
.youtube__image::before {
	content:'';
	display: block;
	width: min(74px, 18%);
	aspect-ratio: 74 / 52;
	background: url(/images/youtube-button.svg) center / contain no-repeat;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 2;
	transition: 0.7s;
}
.youtube__image img {
	transition: 0.7s;
}
@media (hover: hover) {
	.youtube__image:hover img {
		transform: scale(1.2);
	}
	.youtube__image:hover::before {
		transform: translate(-50%,-50%) scale(1.1);
		filter: brightness(120%);
	}
}





/* Feedback */

.feedback__body {
	background: var(--softblack);
	border-radius: var(--border-radius);
	padding: var(--section-padding);
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: var(--section-padding);
}
.feedback__title {
	font-size: var(--title-size-m);
}
.feedback__text {
	font-size: var(--text-size-xl);
	color: var(--gray);
}
.feedback__form {
	justify-self: end;
	max-width: 480px;
}

@media (max-width: 1023px) {
	.feedback__body {
		grid-template-columns: 1fr;
	}
	.feedback__content {
		max-width: 480px;
		justify-self: center;
	}
	.feedback__form {
		justify-self: center;
	}
}
@media (max-width: 539px) {
	.feedback__container {
		padding: 0;
	}
	.feedback__body {
		padding: calc(var(--section-padding) * 2) var(--section-padding);
	}
}





/* Form */

.form {
	--form-text-size: clamp(16px, 16px + (20 - 16) * var(--adaptive), 20px);

	width: 100%;
	display: grid;
	grid-gap: 15px;
}
.form__input {
	width: 100%;
	background: var(--lightblack);
	border: 1px solid var(--lightblack);
	border-radius: 50px;
	font-size: var(--form-text-size);
	font-weight: 300;
	color: var(--white);
	padding: 1.3em 1.75em;
	transition: var(--transition);
}
.form__input::placeholder {
	color: var(--gray);
}
.form__input:focus,
.form__input:hover {
	filter: brightness(110%);
}
.form__input.invalid {
	border-color: var(--red);
}
.form__input_textarea {
	border-radius: 40px;
	height: 200px;
	resize: none;
	scrollbar-width: none;
}
.form__input_textarea::-webkit-scrollbar {
	appearance: none;
	-webkit-appearance: none;
	width: 0;
	height: 0;
	display: none;
}
.form__button {
	width: 100%;
	font-size: var(--form-text-size);
}

.form__upload {
	--border-color: #5c5e67;
	--border-radius: 40px;
	--border-width: 1px;
	--border-dasharray: 5px;

	height: 120px;
	border-radius: var(--border-radius);
	position: relative;
	clip-path: inset(0 round var(--border-radius) var(--border-radius) var(--border-radius) var(--border-radius));
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	cursor: pointer;
}
.form__upload::before {
	content: '';
	position: absolute;
	inset: calc((var(--border-dasharray) - var(--border-width)) * -1);
	border: var(--border-dasharray) dashed var(--border-color);
	border-radius: calc(var(--border-radius) + var(--border-dasharray) - var(--border-width));
}
.form__upload.dragover {
	--border-color: var(--gray);
}
.form__upload-text {
	font-weight: 300;
	font-size: var(--text-size-l);
	text-decoration: underline;
	text-decoration-skip-ink: none;
	text-underline-offset: 0.2em;
	text-decoration-thickness: 0.06em;
	transition: var(--transition);
}
@media (hover: hover) {
	.form__upload:hover .form__upload-text{
		color: var(--gray);
	}
}
.form__upload-success {
	font-weight: 300;
	font-size: var(--text-size-l);
	display: flex;
	align-items: center;
	gap: 0.5em;
	display: none;
}
.form__upload-success::before {
	content:'';
	display: block;
	width: 16px;
	height: 16px;
	background: url(/images/check.svg) center / cover no-repeat;
}

.form__columns {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 15px;
}

@media (max-width: 767px) {
	.form__columns {
		grid-template-columns: 1fr;
	}
}





/* Econonmy */

.economy__title {
	margin-bottom: var(--head-margin);
}
.economy__content {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 40px var(--section-padding);
}
.economy__pie {
	max-width: 100%;
	height: auto;
}
.economy__pie-section {
	transition: var(--transition);
}
@media (hover: hover) {
	.economy__pie-section:hover {
		opacity: 1;
	}
}
.economy__desc {
	align-self: end;
}
.economy__text {
	font-size: var(--text-size-xl);
	text-align: right;
	padding-bottom: 1em;
	border-bottom: 1px solid var(--white);
	margin-bottom: 2em;
	margin-left: auto;
	min-width: 14em;
	max-width: 27em;
}
.economy__button {
	margin-left: auto;
}

@media (max-width: 900px) {
	.economy__content {
		grid-template-columns: repeat(2, 1fr);
	}
	.economy__desc {
		grid-column: 1 / -1;
	}
}
@media (max-width: 430px) {
	.economy__content {
		grid-template-columns: 1fr;
	}
}





/* Optimization */

.optimization__title {
	margin-bottom: var(--head-margin);
}
.optimization__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-auto-rows: 1fr;
	grid-gap: var(--gap);
}
.optimization__card {
	width: 100%;
	height: 100%;
	display: grid;
	grid-template-columns: auto 1fr;
	grid-gap: var(--gap) var(--card-padding);
	align-content: start;
}
.optimization__text {
	font-size: var(--text-size-l);
	color: var(--gray);
}

@media (max-width: 1023px) {
	.optimization__card {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 767px) {
	.optimization__list {
		grid-template-columns: 1fr;
	}
	.optimization__card {
		grid-template-columns: auto 1fr;
		align-content: center;
	}
}
@media (max-width: 430px) {
	.optimization__card {
		grid-template-columns: 1fr;
	}
}




/* Control */

.control {
	--border-width: 5px;
	--nav-padding: 15px;
	--tabs-gap: 45px;
}
.control__title {
	margin-bottom: var(--head-margin);
	max-width: 28em;
}
.control__tabs {
	display: grid;
	grid-template-columns: 1fr 2fr;
	grid-gap: var(--tabs-gap);
}
.control__nav {
	border: var(--border-width) solid var(--softblack);
	border-radius: var(--border-radius-m);
	padding: var(--nav-padding);
	display: grid;
	align-content: space-between;
}
.control__button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 1.16em 1.5em;
	border: none;
	border-radius: var(--border-radius);
	background: none;
	color: var(--white);
	font-family: var(--second-family);
	font-weight: 400;
	font-size: var(--subtitle-size);
	line-height: 1;
	position: relative;
}
.control__button_active {
	background: var(--blue);
}
.control__button::before {
	content:'';
	display: block;
	width: var(--tabs-gap);
	aspect-ratio: 1;
	position: absolute;
	top: 50%;
	left: calc(100% + var(--nav-padding) + var(--border-width));
	transform: translate(70%, -50%) rotate(45deg);
	transition: background-color var(--transition);
}
.control__button_active::before {
	background: var(--softblack);
}
.control__slider {
	width: 100%;
	background: var(--softblack);
	border-radius: var(--border-radius-m);
}
.control__item {
	padding: var(--card-padding-m);
	font-size: var(--text-size-xl);
	display: grid;
	align-content: start;
	grid-gap: 1em;
}

@media (max-width: 900px) {
	.control__tabs {
		grid-template-columns: 1fr;
	}
	.control__button_active::before {
		background: none;
	}
	.control__button:last-child:before {
		background: var(--softblack);
		top: calc(100% + var(--nav-padding) + var(--border-width));
		left: 50%;
		transform: translate(-50%, 70%) rotate(45deg);
	}
}





/* Guarantees */

.guarantees__title {
	margin-bottom: var(--head-margin);
}
.guarantees__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: var(--gap);
}
.guarantees__item {
	background: var(--mediumblack);
	border-radius: var(--border-radius);
	padding: var(--card-padding-s);
}
.guarantees__icon {
	margin-bottom: 25px;
}
.guarantees__subtitle {
	font-size: var(--text-size-xl);
	margin-bottom: 0.4em;
}
.guarantees__text {
	font-size: var(--text-size-m);
	color: var(--gray);
}

@media (max-width: 1023px) {
	.guarantees__list {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 767px) {
	.guarantees__list {
		grid-template-columns: 1fr;
	}
}




/* Warranty */

.warranty__title {
	max-width: 27em;
}
.warranty__text {
	font-size: var(--text-size-xl);
	color: var(--gray);
}
.warranty__list {
	margin-top: var(--head-margin);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: var(--gap);
}
.warranty__item {
	text-align: center;
}
.warranty__card {
	width: 100%;
	height: 100%;
	padding: var(--card-padding) calc(var(--card-padding) / 2);
}
.warranty__subtitle {
	font-size: var(--title-size-l);
	padding-bottom: 0.5em;
	border-bottom: 4px solid rgba(255, 255, 255, 0.08);
}
.warranty__caption {
	font-size: var(--subtitle-size);
}

@media (max-width: 1023px) {
	.warranty__list {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 767px) {
	.warranty__list {
		grid-template-columns: 1fr;
	}
}





/* Сertificates */

.certificates__title {
	margin-bottom: 0;
}
.certificates__image {
	display: block;
	aspect-ratio: 450 / 610;
	background: var(--softblack);
	border-radius: var(--border-radius);
	overflow: hidden;
	position: relative;
}
.certificates__image::before,
.certificates__image::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	transition: 0.3s;
}
.certificates__image::after {
	background-color: rgba(0, 0, 0, 0.3);
	opacity: 0;
}
.certificates__image::before {
	background: url(/images/zoom.svg) center no-repeat;
	transform: scale(0);
	z-index: 2;
}
@media (hover: hover) {
	.certificates__image:hover {
		cursor: pointer;
	}
	.certificates__image:hover:after {
		opacity: 1;
	}
	.certificates__image:hover:before {
		transform: scale(1);
	}
}





/* Partners */

.partners {
	--desktop: ((100vw - 1280px) / (1610 - 1280));
	--logo-height: clamp(110px, 110px + (130 - 110) * var(--desktop), 130px);
	--logo-gap: clamp(110px, 110px + (155 - 110) * var(--desktop), 155px);
}
.partners__head {
	margin-bottom: var(--head-margin);
}
.partners__title {
	margin-bottom: 0;
}
.partners__item {
	width: fit-content;
	padding-right: var(--logo-gap);
}
.partners__item:last-child {
	padding-right: 0;
}
.partners__logo {
	filter: grayscale(100%) brightness(50%) sepia(60%) hue-rotate(190deg) saturate(200%) contrast(70%);
	opacity: 0.5;
	display: block;
	height: var(--logo-height);
	width: fit-content;
}
.partners__logo img {
	max-height: 100%;
	width: auto;
}
@media (hover: hover) {
	.partners__logo:hover {
		filter: none;
		opacity: 1;
	}
}
.partners__map {
	margin-top: var(--head-margin);
}

@media (max-width: 1365px) {
	.partners__slider {
		overflow: unset;
	}
}
@media (max-width: 1279px) {
	.partners {
		--logo-height: clamp(70px, 70px + (110 - 70) * var(--tablet), 110px);
		--logo-gap: clamp(50px, 50px + (110 - 50) * var(--tablet), 110px);
	}
}





/* Partnership */

.partnership__title {
	max-width: 23em;
	margin-bottom: 0;
}
.partnership__item {
	height: unset;
	border-radius: var(--border-radius);
	background: var(--mediumblack);
	overflow: hidden;
}
.partnership__image {
	aspect-ratio: 450 / 270;
	position: relative;
}
.partnership__content {
	padding: var(--card-padding-s);
}
.partnership__subtitle {
	font-size: var(--text-size-xl);
	margin-bottom: 0.2em;
}
.partnership__text {
	color: var(--gray);
}

.partnership__list {
	margin-top: var(--head-margin);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: var(--gap);
}

@media (max-width: 1023px) {
	.partnership__list {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 767px) {
	.partnership__list {
		grid-template-columns: 1fr;
	}
}






/* Support */

.support__body {
	background: var(--mediumblack);
	border-radius: var(--border-radius);
	overflow: hidden;
}
.support__title {
	max-width: 25em;
	margin-bottom: var(--head-margin);
}
.support__image {
	height: clamp(200px, 200px + (280 - 200) * var(--adaptive), 280px);;
	position: relative;
}
.support__content {
	padding: var(--card-padding-s);
}
.support__text {
	font-size: var(--text-size-l);
	color: var(--gray);
}




/* Steps */

.steps__list {
	margin: var(--head-margin) 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-auto-rows: 1fr;
	grid-gap: 10px;
}
.steps__item {
	background: var(--mediumblack);
	border-radius: var(--border-radius);
	padding: var(--card-padding-s);
	padding-bottom: calc(var(--card-padding-s) + var(--text-size-xl) * 2);
	font-family: var(--second-family);
	font-size: var(--subtitle-size);
	counter-increment: item-counter;
	position: relative;
}
.steps__item:first-child {
	background: var(--softblack);
}
.steps__item::after {
	content: counter(item-counter);
	font-family: var(--second-family);
	font-size: var(--text-size-xl);
	color: var(--blue);
	background: var(--black);
	width: 2em;
	height: 2em;
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	right: var(--card-padding-s);
	bottom: var(--card-padding-s);
}
.steps__item a {
	text-decoration: underline;
	text-decoration-skip-ink: none;
	text-underline-offset: 0.2em;
	text-decoration-thickness: 0.06em;
}
.steps__footer {
	width: fit-content;
	margin-left: auto;
}

@media (max-width: 1023px) {
	.steps__list {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 767px) {
	.steps__list {
		grid-template-columns: 1fr;
	}
	.steps__item {
		padding-right: calc(var(--card-padding-s) + var(--text-size-xl) * 2.9);
	}
}




/* Team */

.team__title {
	max-width: 20em;
}
.team__text {
	font-size: var(--text-size-l);
	max-width: 37.5em;
	color: var(--gray);
	margin-bottom: var(--head-margin);
}
.team__photo {
	position: relative;
	border-radius: var(--border-radius);
	overflow: hidden;
	aspect-ratio: 2 / 1;
}

@media (max-width: 539px) {
	.team__photo {
		width: calc(100% + var(--section-padding) * 2);
		left: calc(var(--section-padding) * -1);
		border-radius: 0;
	}
}




/* Principle */

.principle__title {
	max-width: 20em;
	margin-bottom: var(--head-margin);
}
.principle__list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: var(--gap);
}
.principle__list::before {
	content: '';
	grid-row: 1;
	grid-column: 4;
}
.principle__list::after {
	content: '';
	grid-row: 2;
	grid-column: 1;
}
.principle__item {
	background: var(--mediumblack);
	border-radius: var(--border-radius);
	padding: var(--card-padding-s);
}
.principle__icon {
	margin-bottom: 25px;
}
.principle__subtitle {
	font-size: var(--text-size-xl);
	margin-bottom: 0.4em;
}
.principle__text {
	font-size: var(--text-size-m);
	color: var(--gray);
}

@media (max-width: 1279px) {
	.principle__list {
		grid-template-columns: repeat(3, 1fr);
	}
	.principle__list::before,
	.principle__list::after {
		display: none;
	}
}
@media (max-width: 1023px) {
	.principle__list {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 767px) {
	.principle__list {
		grid-template-columns: 1fr;
	}
}





/* Manufacture */

.manufacture__title {
	max-width: 20em;
	margin-bottom: 0;
}
.manufacture__image {
	display: block;
	aspect-ratio: 2 / 1;
	position: relative;
	border-radius: var(--border-radius);
	overflow: hidden;
}
.manufacture__arrows {
	gap: var(--gap);
}

@media (max-width: 539px) {
	.manufacture__slider {
		width: calc(100% + var(--section-padding) * 2);
		left: calc(var(--section-padding) * -1);
	}
	.manufacture__image {
		border-radius: 0;
	}
}




/* Contacts */

.contacts__title {
	margin-bottom: var(--head-margin);
}
.contacts__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--gap-s);
	margin-bottom: var(--head-margin);
}
.contacts__item {
	background: var(--mediumblack);
	border-radius: var(--border-radius);
	padding: var(--card-padding-s);
	display: grid;
	grid-template-columns: auto 1fr;
	grid-gap: 20px;
	align-items: center;
	font-size: var(--text-size-xl);
}
.contacts__buttons {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: var(--gap-s);
}
.contacts__button {
	width: 100%;
	padding: 1.5em 2em;
	gap: 1em;
}
.contacts__button img {
	margin: -0.5em 0;
}
.contacts__button_tg {
	background: #186ae5;
}
.contacts__button_ws {
	background: #078d00;
}

@media (max-width: 1279px) {
	.contacts__list {
		grid-template-columns: repeat(2, 1fr);
	}
	.contacts__item:last-child {
		grid-column: 1 / -1;
	}
}
@media (max-width: 767px) {
	.contacts__list,
	.contacts__buttons {
		grid-template-columns: 1fr;
	}
}




/* Map */

.map__title {
	margin-bottom: var(--head-margin);
}
.map__body {
	height: 400px;
	border-radius: var(--border-radius);
	overflow: hidden;
	filter: grayscale(50%) brightness(80%);
}
.map__body [class*="__container"] {
	padding: unset;
}

@media (max-width: 539px) {
	.map__body {
		width: calc(100% + var(--section-padding) * 2);
		margin-left: calc(var(--section-padding) * -1);
		border-radius: 0;
	}
}






/* Footer */

.footer {
	position: relative;
	margin-top: auto;
}
.footer::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: url(/images/footer-gradient.svg) center / cover no-repeat;
	height: calc(100vw * 765 / 1920);
	min-height: 500px;
	z-index: -1;

}
.footer__body {
	display: grid;
	grid-template-columns: 1fr repeat(2, auto) 1fr;
	grid-gap: 40px var(--section-padding);
	font-size: var(--text-size-s);
	margin-bottom: var(--head-margin);
}
.footer__logo {
	display: block;
	width: var(--logo-size);
	margin-bottom: 20px;
}
.footer__text {
	font-size: var(--text-size-m);
}
.footer__links {
	display: grid;
	grid-gap: 1.133em;
}
.footer__title {
	font-size: var(--text-size-xl);
	margin-bottom: 1em;
}
.footer__socials {
	display: flex;
	gap: 16px;
	margin-top: 30px;
}
.footer__social img {
	width: 30px;
	aspect-ratio: 1;
}
@media (hover: hover) {
	.footer__social:hover {
		transform: scale(1.1);
		filter: brightness(120%);
	}
}
.subscribe {
	position: relative;
}
.subscribe__input {
	background: none;
	border: 1px solid rgba(255, 255, 255, 0.4);
	padding-right: 85px;
}
.subscribe__button {
	display: block;
	border: none;
	position: absolute;
	top: 5px;
	bottom: 5px;
	right: 5px;
	width: 76px;
	z-index: 2;
}
.subscribe__button::before {
	content: '';
	display: block;
	height: 100%;
	aspect-ratio: 1;
	margin-left: auto;
	border-radius: 100%;
	background: var(--blue) url(/images/arrow-circle.svg) center / cover no-repeat;
	border: none;
}
@media (hover: hover) {
	.subscribe__button:hover {
		filter: brightness(130%);
	}
}

.footer__bottom {
	font-size: var(--text-size-xs);
	padding: 30px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.4);
	font-size: var(--text-size-xs);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 15px 30px;
}
.footer__privacy {
	text-decoration: underline;
	text-decoration-thickness: 1px;
}

@media (max-width: 1023px) {
	.footer__body {
		grid-template-columns: 2fr repeat(2, 1fr);
	}
	.footer__subscribe {
		grid-column: 2 / -1;
	}
}
@media (max-width: 539px) {
	.footer::before {
		min-height: 1000px;
	}
	.footer__body {
		grid-template-columns: repeat(2, 1fr);
	}
	.footer__brand,
	.footer__subscribe {
		grid-column: 1 / -1;
	}
}






/* Up button */

.up {
	--up-button-size: 40px;
	--up-button-padding: 20px;
	--up-button-radius: 4px;
	--up-button-color: var(--softblack);
	--up-button-hover: var(--blue);
	--up-arrow-color: var(--white);
	--up-arrow-width: 2px;

	position: fixed;
	bottom: var(--up-button-padding);
	right: var(--up-button-padding);
	background: var(--up-button-color);
	width: var(--up-button-size);
	height: var(--up-button-size);
	border-radius: var(--up-button-radius);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.3s, opacity 0.3s;
	z-index: 50;
	opacity: 0;
	pointer-events: none;
}
.up_show {
	opacity: 1;
	pointer-events: all;
}
.up:after {
	content: '';
	display: block;
	width: 30%;
	height: 30%;
	border-left: var(--up-arrow-width) solid var(--up-arrow-color);
	border-top: var(--up-arrow-width) solid var(--up-arrow-color);
	transform: rotate(45deg);
	margin-top: 15%;
}
@media (hover: hover) {
	.up:hover {
		background: var(--up-button-hover);
	}
}
@media (pointer:coarse) {
	.up {display: none;}
}
@media (max-width: 1365px) {
	.up {display: none;}
}




/* Popup */

.popup {
	--popup-max-width: 700px;
	--popup-padding: max(50px, var(--section-padding)) var(--section-padding);
	--popup-radius: var(--border-radius);
	--popup-color: var(--softblack);
	--popup-close-size: 24px;
	--popup-close-bg: none;
	--popup-close-padding: 0;
	--popup-close-margin: max(20px, calc(var(--section-padding) / 2));
	--popup-close-radius: 0;
	--popup-close-line-width: 4px;
	--popup-close-line-color: var(--darkgray);
	--popup-close-line-radius: 10px;
	--popup-overlay-color: rgba(0,0,0,0.5);

	position:fixed;
	top:0;
	left: 0;
	width: 100%;
	height: calc(100% + 70px);
	padding: 15px;
	padding-bottom: calc(15px + 70px);
	overflow: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: none;
	display: flex;
	z-index: 1001;
	visibility: hidden;
	scrollbar-width: none;
}
.popup::-webkit-scrollbar {
	appearance: none;
	-webkit-appearance: none;
	width: 0;
	height: 0;
	display: none;
}
.popup_show {
	visibility: visible;
}
.popup__box {
	position: relative;
	margin: auto;
	max-width: var(--popup-max-width);
	background: var(--popup-color); 
	padding: var(--popup-padding); 
	border-radius: var(--popup-radius);
	z-index: 1001;
	transform: translateY(-100px);
	opacity: 0;
}
.popup_big .popup__box {
	width: 100%;
	max-width: 1180px;
}
.popup_show .popup__box {
	transition: transform 0.7s, opacity 0.4s;
	transform: translateY(0);
	opacity: 1;
}
.popup__close {
	position: absolute;
	top: 0px;
	right: 0px;
	width: var(--popup-close-size);
	height: var(--popup-close-size);
	background: var(--popup-close-bg);
	margin: var(--popup-close-margin);
	padding: var(--popup-close-padding);
	border-radius: var(--popup-close-radius);
	border: none;
	cursor: pointer;
}
.popup__close-icon {
	display: block;
	position: relative;
	height: 100%;
	transition: 0.3s;
}
.popup__close-icon:after, 
.popup__close-icon:before {
	content: '';
	display: block;
	width: 120%;
	left: -10%;
	position: absolute;
	top: 50%;
	height: var(--popup-close-line-width);
	background: var(--popup-close-line-color);
	border-radius: var(--popup-close-line-radius);
}
.popup__close-icon:after {
	transform: translateY(-50%) rotate(45deg);
}
.popup__close-icon:before {
	transform: translateY(-50%) rotate(-45deg);
}
.popup__close:hover .popup__close-icon {
	filter: brightness(200%);
}

.popup__overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(100vh + 140px);
	transform: translateY(-70px);
	background: var(--popup-overlay-color);
	z-index: 1000;
	transition: 0.5s;
	opacity: 0;
}
.popup_show .popup__overlay {
	opacity: 1;
}

.preloader {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	padding: 12px 16px;
	border-radius: 5px;
	background-color: #000;
	height: 44px;
	z-index: 100;
	display: none;
}
.preloader__line {
	border-radius: 100px;
	background-color: #fff;
	height: 20px;
	width: 2px;
	margin: 0 2px;
	display: inline-block;
	animation: sk-stretchdelay 1.2s infinite ease-in-out
}
.preloader__line:nth-child(2) {
	animation-delay: -1.1s
}
.preloader__line:nth-child(3) {
	animation-delay: -1.0s
}
.preloader__line:nth-child(4) {
	animation-delay: -0.9s
}
@keyframes sk-stretchdelay {
	0%, 40%, 100% {transform: scaleY(0.5);}
	20% {transform: scaleY(1.0);}
}

.popup__title {
	text-align: center;
}