:root {
	--cl-primary: ;
	--cl-secondary: #fff;
	--cl-btn: linear-gradient(111.2deg, #FC9E6D 1.59%, #E52727 117.63%, #540200 198.71%),
		linear-gradient(101.71deg, #FC9E6D -34.31%, #FF6D4E 34.68%, #E52727 126.42%, #540200 212.24%),
		linear-gradient(125.21deg, #FC9E6D -96.96%, #FF6D4E -8.22%, #E52727 109.78%, #540200 220.17%);
	;
}
@font-face {
	font-family: "Inter";
	src: local("Inter"),
		url("/css/font/Inter-VariableFont_opsz,wght.ttf");
	font-style: normal;
}
@font-face {
	font-family: "Inter";
	src: local("Inter Italics"),
		url("/css/font/Inter-Italic-VariableFont_opsz,wght.ttf");
	font-style: italic;
}
*,
*::before,
*::after {
	margin: 0;
	padding: 0;

	border: 0;
	box-sizing: border-box;
}

a {
	text-decoration: none;
}

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

img {
	vertical-align: top;
}

html {
	scroll-behavior: smooth;
}

html,
body {
	position: relative;

	font-family: "HelveticaNeue", "Helvetica Neue", "Inter", Helvetica, sans-serif;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 400;
	line-height: 18.76px;
	text-wrap: balance;
	letter-spacing: 0;

	scrollbar-gutter: stable;
	background: #F3F3F3;
}

main {
	position: relative;
	z-index: 1;
}

section {
	display: grid;
	grid-template-columns: minmax(min-content, 1792px);
	justify-content: center;
	gap: 60px;

	padding: 0 126px;
}

h1 {
	font-size: 5.15rem;
	font-weight: 700;
	line-height: 3rem;
}

h2 {
	font-size: 2rem;
	line-height: 2.25rem;
}

details summary {
	list-style: none;
	cursor: pointer;
}

details summary::-webkit-details-marker {
	display: none;
}

details summary::marker {
	display: none;
}

/* HEADER */

body > header {
	display: flex;
	justify-content: center;
	
	position: fixed;
	top: 0px;
	z-index: 100;
	
	padding: 19px 126px;

	width: 100%;

	transition: all 0.5s ease-in-out;
}

header._black {
	background: #010101;
}

header._hidden {
	top: -200px;
}

header nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 1792px;

	text-wrap: nowrap;
	height: min-content;
}

header menu {
	display: flex;
	align-items: center;
	gap: 40px;
}

header menu li:last-child {
	border: 1px solid #707070;
	border-radius: 14px;
	position: relative;
	overflow: hidden;
}

header menu li:last-child::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(111.2deg, #FC9E6D 1.59%, #E52727 117.63%, #540200 198.71%),
		linear-gradient(101.71deg, #FC9E6D -34.31%, #FF6D4E 34.68%, #E52727 126.42%, #540200 212.24%),
		linear-gradient(125.21deg, #FC9E6D -96.96%, #FF6D4E -8.22%, #E52727 109.78%, #540200 220.17%);
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: -1;
}

header menu li:last-child:hover::before {
	opacity: 1;
}

header menu li:last-child:hover {
	border: 1px solid transparent;
}

header menu a:not(.logo-link) {
	display: block;

	padding: 9px 20px;

	color: #FFFFFF;
	line-height: 19.04px;

	cursor: pointer;

	transition: all 0.4s ease-in-out;
}

header a:has(.logo) {
	display: flex;
	align-items: center;
	z-index: 101;
	position: relative;
}

header .logo-link img {
	width: 162px;
}

/* burger-navmenu */

header .burger-navmenu h2 {
	display: none;
}

header .navmenu-container .contacts {
	display: none;
}

.burger-navmenu .burger-toggle {
	display: none;
}

/* HERO-SECTION */
.hero-section {
	display: flex;
	flex-direction: column;
	gap: 30px;
	background-image: url(/images/background/hero-section.png);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.hero-section h1 {
	padding-top: 288px;
	font-weight: 700;
	line-height: 1;
}

.hero-section p {
	padding: 0 0 200px;
	font-size: 1.8572rem;
	font-weight: 400;
	line-height: 1.2;
	color: #BEC0C2;
	max-width: 579px;
}

.app-download {
	display: none;
}

/* MAIN */ 
main {
	background-color: #F3F3F3;
}

/* SOLUTIONS */

.solutions {
	gap: 56px;
}

.solutions h2 {
	padding-top: 80px;
	color: #000000;
	font-size: 4rem;
	font-weight: 700;
}

.solutions-flex {
	display: flex;
	gap: 64px;
}

.solutions-flex h3 {
	color: #000000;
	font-size: 3rem;
	line-height: 1;
}

.solutions-flex p {
	padding-top: 32px;
	font-size: 1.4rem;
	line-height: 1.2;
	color: #373737;
}

.solutions-flex h4 {
	font-size: 2.2rem;
	color: #000000;
	padding-top: 48px;
}

.solutions-flex ul {
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding-top: 32px;
	font-size: 1.4rem;
	line-height: 1.2;
	color: #373737;
	list-style-type: disc;
	list-style-position: inside;
	padding-left: 0;
}

.solutions-flex ul li {
	list-style-type: disc;
	padding-left: 0;
	margin-left: 20px;
}

.solutions-flex ul li::marker {
	color: #FF2504;
}

/* SERVICES */
.services {
	padding-top: 48px;
}

.services h2 {
	font-size: 2.2rem;
	color: #000000;
}

.services div {
	display: flex;
	align-items: center;
	column-gap: 32px;
	row-gap: 56px;
	flex-wrap: wrap;
}

.services figure {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 22%;
}

.services figure img {
	width: 48px;
	height: 48px;
}

.services figcaption {
	font-size: 1.45rem;
	color: #373737;
}

/* FOOTER */

footer {
	background-color: #F3F3F3;
}

.footer-main {
	padding: 0 126px;
}

footer h2 {
	font-size: 2.2rem;
	color: #000000;
	padding-top: 80px;
}

footer .footer-content {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 134px;
}

footer .footer-content address {
	display: flex;
	flex-direction: column;
	gap: 25px;
	padding-top: 56px;
	padding-bottom: 80px;
	font-size: 1.3rem;
}
	
footer .footer-content address span:not(:last-child) {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #111111;
	font-style: normal;
}

footer .footer-content address span:last-child {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	color: #111111;
	font-style: normal;
}

footer .footer-content address span:last-child a,
footer .footer-content address span:last-child span {
	flex: 1;
	text-indent: 0;
}

footer .footer-content address span a {
	color: #111111;
}

footer .footer-content address span:first-child a {
	color: #FF2504;
	text-decoration: underline;
	transition: color 0.3s ease;
}

footer .footer-content address span:first-child a:hover {
	color: #9E0E12;
}

footer .footer-app {
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: flex-end;
	min-width: 225px;
}

footer .footer-app p {
	color: #111111;
	font-size: 1.45rem;
	font-weight: 700;
	line-height: 1.2;
}

footer .footer-app div {
	display: flex;
	gap: 24px;
	width: 100%;
}

footer .footer-app img {
	height: 40px;
	width: auto;
}

.footer-bottom {
	background-color: #000000;
}

.footer-bottom-content {
	padding: 32px 126px;
}

.footer-bottom-content p {
	color: #FFFFFF;
	font-size: 1rem;
	margin: 0;
}

/* FOOTER MEDIA QUERIES */

@media (max-width: 975px) {
	.footer-main {
		padding: 0 24px;
	}
	
	.footer-bottom-content {
		padding: 32px 24px;
	}
}

/* MEDIA QUERIES */

@media (max-width: 1275px) {
	.solutions-flex {
		flex-direction: column-reverse;
	}

	.solutions-flex img {
		width: 100%;
	}
}

@media (max-width: 1052px) {
	.services div {
		justify-content: space-between;
	}
}

@media (max-width: 975px) {

	body > header {
		padding: 14px 24px;
	}

	header .burger-navmenu .navmenu-container {
		display: flex;
		flex-direction: column;
		justify-content: space-between;

		position: fixed;
		top: 0;
		right: -100vw;
		
		width: 100vw;
		height: 100vh;
		
		background-color: #010101;
		z-index: 98;
		
		transition: all 0.3s;
	}

	header .burger-navmenu menu {
		flex-grow: 1;
		margin-top: 100px;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 24px;
	}

	header li:has(a:not(.logo-link)) {
		width: auto;
	}

	header li:last-child {
		border: 1px solid #707070;
		border-radius: 14px;
		position: relative;
		overflow: hidden;
	}

	header li:last-child::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: linear-gradient(111.2deg, #FC9E6D 1.59%, #E52727 117.63%, #540200 198.71%),
			linear-gradient(101.71deg, #FC9E6D -34.31%, #FF6D4E 34.68%, #E52727 126.42%, #540200 212.24%),
			linear-gradient(125.21deg, #FC9E6D -96.96%, #FF6D4E -8.22%, #E52727 109.78%, #540200 220.17%);
		opacity: 0;
		transition: opacity 0.3s ease;
		z-index: -1;
	}

	header li:last-child:hover::before {
		opacity: 1;
	}

	header li:last-child:hover {
		border: 1px solid transparent;
	}

	header menu a:not(.logo-link) {
		display: block;

		padding: 9px 20px;

		color: #BEC0C2;
		line-height: 19.04px;

		cursor: pointer;

		transition: all 0.4s ease-in-out;
	}
	
	header menu a:not(.logo-link):hover {
		color: #707070;
	}

header .navmenu-container .app-download {
	display: block;
	margin: 40px 24px;
}

header .navmenu-container .app-download p {
	color: #BEC0C2;
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 16px;
	text-align: center;
}

header .navmenu-container .app-links {
	display: flex;
	justify-content: center;
	gap: 16px;
}

header .navmenu-container .app-link {
	display: block;
	text-decoration: none;
	transition: transform 0.2s ease;
}

header .navmenu-container .app-link:hover {
	transform: translateY(-2px);
}

header .navmenu-container .app-link img {
	height: 40px;
	width: auto;
}

	.burger-navmenu .burger-toggle {
		position: relative;
		z-index: 101;

		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-end;
		gap: 6px;

		padding: 12px;
		
		cursor: pointer;
	}

	.burger-toggle input {
		display: none;
	}

	.burger-toggle .first-tick,
	.burger-toggle .third-tick {
		width: 26px;
		height: 3px;
		background-color: #FFFFFF;
		transition: all 0.3s ease;
	}

	.burger-toggle .short-tick {
		width: 19px;
		height: 3px;
		background-color: #FFFFFF;
		transition: all 0.3s ease;
	}

	header .burger-navmenu li {
		margin-left: 0px;
	}

	header .burger-navmenu li:last-child {
		margin-left: 0px;
	}

	header:has(.burger-navmenu input:checked) {
		background: none;
		min-height: 100vh;
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
	}

	body:has(.burger-navmenu input:checked) {
		overflow: hidden;
	}

	header._hidden:has(.burger-navmenu input:checked) {
		top: 0px;
	}

	.burger-navmenu:has(input:checked) .navmenu-container {
		right: 0;
	}

	.burger-navmenu:has(input:checked) .burger-toggle .first-tick {
		transform: rotate(45deg) translate(6px, 6px);
	}

	.burger-navmenu:has(input:checked) .burger-toggle .short-tick {
		opacity: 0;
	}

	.burger-navmenu:has(input:checked) .burger-toggle .third-tick {
		transform: rotate(-45deg) translate(6px, -6px);
	}

	/* MAIN */

	section {
		padding: 0 24px;
	}

	.hero-section {
		gap: 30px;
	}

	.hero-section h1 {
		font-size: 3.91rem;
		padding-top: 274px;
	}

	.hero-section p {
		font-size: 1.71rem;
		max-width: 100%;
		text-wrap: wrap;
		padding: 0 0 184px;
	}

	.solutions h2 {
		font-size: 3rem;
	}

	.solutions h3 {
		font-size: 2.5rem;
	}

	.solutions-flex p, .solutions-flex ul {
		font-size: 1.45rem;
	}

	.services div {
		justify-content: unset;
	}

	footer .footer-content {
		gap: 84px;
	}

	footer .footer-app {
		flex-direction: column;
		gap: 32px;
	}

	footer .footer-app div {
		flex-direction: column;
		gap: 32px;
	}
}

@media (max-width: 848px) {
	.services div {
		justify-content: space-between;
	}
}

@media (max-width: 678px) {
	.solutions {
		gap: 32px;
	}

	.solutions h2 {
		padding-top: 56px;
	}

	.solutions-flex {
		gap: 24px;
	}

	.services {
		padding-top: 24px;
		gap: 24px;
	}
	.services div {
		column-gap: 0;
		justify-content: space-between;
	}
	.services figure {
		width: 45%;
	}

	.services figcaption {
		font-size: 1.2rem;
	}

	footer .footer-content {
		flex-direction: column;
		gap: 40px;
	}

	footer .footer-content address {
		padding-bottom: 40px;
	}

	footer .footer-app {
		padding-bottom: 56px;
	}

	footer .footer-app div {
		flex-direction: row;
		gap: 24px;
	}

	footer .footer-content address span:last-child {
		display: inline;
	}
}

@media (max-width: 376px) {
	body > header {
		padding: 8px 24px;
	}

	.hero-section h1 {
		padding-top: 160px;
		font-size: 3.5rem;
	}

	.hero-section p {
		font-size: 1.43rem;
		padding: 0 0 80px;
	}

	.footer-main {
		padding: 0 16px;
	}
	
	.footer-bottom-content {
		padding: 24px 16px;
	}
	
	footer h2 {
		font-size: 1.8rem;
		padding-top: 40px;
	}
	
	footer .footer-content {
		flex-direction: column;
		align-items: flex-start;
		gap: 32px;
	}

	footer .footer-content address {
		font-size: 1.2rem;
		padding-bottom: 0;
	}
	
	footer .footer-app {
		align-items: flex-start;
		gap: 16px;
	}

	footer .footer-app p {
		font-size: 1.3rem;
	}
}