.home-banner {
	width: 100vw;
	position: relative;
}

.home-banner .home-banner__container {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	min-height: calc(65vh + 140px);
}

.home-banner .left-side {
	padding-bottom: 90px;
}

.home-banner .home-banner__wrapper {
	display: flex;
	overflow: hidden;
	position: relative;
	align-items: start;
	max-width: 525px;
}

.home-banner .home-banner__wrapper h1.home-banner__wrapper-title {
	color: #fff !important;
	font-size: calc(54px + 30 * ((100vw - 320px) / (1920 - 320)));
	line-height: 1em;
	font-weight: 700;
	margin: 0;
}

.home-banner .home-banner__wrapper h1.home-banner__wrapper-title span {
	background-image: linear-gradient(to right, #50f2dd, #549CF9, #A674FF);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	width: fit-content;
}

.home-banner .home-banner__wrapper .sub-title {
	color: #ffffff;
	text-align: left;
	font-weight: 300;
	letter-spacing: 1px;
}

.home-banner__wrapper-link {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 15px;
	margin-top: 50px;
}

.home-banner__wrapper-link .text {
	background-image: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 4%, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 1) 96%, rgba(255, 255, 255, 1) 100%);
	background-position: 230%;
	background-size: 300%;
	background-clip: text;
}

.home-banner__wrapper-link:hover {
	color: transparent;
}

.home-banner__wrapper-link .arrow {
	background-image: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 4%, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 1) 96%, rgba(255, 255, 255, 1) 100%);
	background-position: 230%;
	background-size: 300%;
	width: 30px;
	height: 2px;
	position: relative;
	border-radius: 2px;
	transition: unset;
}

.home-banner__wrapper-link .arrow:before,
.home-banner__wrapper-link .arrow:after {
	content: '';
	position: absolute;
	width: 10px;
	height: 2px;
	background-position: 230%;
	background-size: 300%;
	border-radius: 1px;
}

.home-banner__wrapper-link .arrow:before {
	top: -3px;
	right: -1px;
	rotate: 45deg;
	background-image: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 4%, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 1) 96%, rgba(255, 255, 255, 1) 100%);

}

.home-banner__wrapper-link .arrow:after {
	bottom: -3px;
	right: -1px;
	rotate: -45deg;
	background-image: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 4%, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 1) 96%, rgba(255, 255, 255, 1) 100%);

}

.home-banner__wrapper-link:hover .text,
.home-banner__wrapper-link:hover .arrow,
.home-banner__wrapper-link:hover .arrow:before,
.home-banner__wrapper-link:hover .arrow:after {
	background-position: 75%;
	transition: background-position 1s ease-out;
}

.home-banner__wrapper-link:hover .arrow {
	transition-delay: .3s;
}

.home-banner__wrapper-link:hover .arrow:before,
.home-banner__wrapper-link:hover .arrow:after {
	transition-delay: .2s;
}

.reassurances-container {
	display: flex;
	margin-top: 45px;
}

.reassurances-container .reassurance__item {
	color: #ffffff;
	margin-left: 25px;
	padding-left: 25px;
	position: relative;
	display: flex;
	gap: 15px;
	justify-content: center;
	align-items: center;
}

.reassurances-container .reassurance__item:not(:first-child):before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 1px;
	height: 15px;
	background: #fff;
	opacity: .4;
	transform: translateY(-50%);
}

.reassurances-container .reassurance__item:first-child {
	border-left: none;
	padding-left: 0;
	margin-left: 0;
}

.reassurances-container .reassurance__item img {
	height: 30px;
}

.home-banner .home-banner__video {
	position: relative;
	aspect-ratio: 64 / 70;
	height: 65vh;
	max-height: 700px;
	bottom: -75px;
}

.home-banner .home-banner__video:before {
	content: '';
	position: absolute;
	bottom: -20%;
	left: 2%;
	width: 105%;
	aspect-ratio: 3 / 2;
	background: transparent linear-gradient(80deg, #50F2DD 0%, #549CF9 49%, #A674FF 100%) 0% 0% no-repeat padding-box;
	opacity: 0.3;
	filter: blur(50px);
}

.home-banner__video .home-banner__video-container {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: 25px;
}

.home-banner__video .home-banner__video-container video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	z-index: 1;
	transition: opacity 1s ease-out;
}

.home-banner__video .home-banner__video-container video.hidden {
	opacity: 0;
}

.home-banner__video .home-banner__video-container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	z-index: 0;
}

.home-banner__wrapper {
	gap: 1.5em;
	width: 100%;
	z-index: 10;
	display: flex;
	padding-top: 5em;
	position: relative;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}


.home-banner__wrapper-infos__item span:first-child {
	font-weight: 400;
	font-size: 0.75rem;
	line-height: 1.25rem;
	letter-spacing: 0.0375rem;
	text-transform: uppercase;
	color: var(--e-global-color-ab7a154);
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
}

.home-banner__wrapper-infos__item span:last-child {
	font-weight: 500;
	font-size: 1.125rem;
	line-height: 1.25rem;
	color: var(--e-global-color-ab7a154);
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
}

.gradient-background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100% !important;
	z-index: -1;
	background: #07070a;

}

.home-banner .hero-banner__footer {
	background: #f5f6f7;
	padding: calc(20px + (50 - 20) * ((100vw - 320px) / (1920 - 320)));
}


.home-banner .hero-banner__footer .footer__wrapper {
	max-width: 1400px;
	margin: 0 auto;
	width: 100%;
}

.home-banner .hero-banner__footer .footer__container {
	width: calc(60% - 100px);
	padding: 0 50px;
	left: -50px;
	overflow: hidden;
	position: relative;
}

.home-banner .hero-banner__footer .footer__container:before,
.home-banner .hero-banner__footer .footer__container:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 50px;
	height: 100%;
	background: linear-gradient(90deg, rgba(245, 246, 247, 1) 0%, rgba(245, 246, 247, 0) 100%);
	z-index: 2;
}

.home-banner .hero-banner__footer .footer__container:after {
	left: unset;
	right: 0;
	width: 100px;
	background: linear-gradient(270deg, rgba(245, 246, 247, 1) 0%, rgba(245, 246, 247, 1) 50%, rgba(245, 246, 247, 0) 100%);
}

.home-banner .hero-banner__footer .footer__container img {
	filter: grayscale(1) opacity(0.55);
}

