:root{
	--sit-boxed: 1320px;
	--sit-pad: 20px;
	--sit-leftcol: 660px;
}

.page_banner,
.banner_title{
	color: var(--sit-blanc);
	font-weight: 600;
}

.page_banner{
	position: relative;
	z-index: 2;
	padding: 0;
	background-size: cover;
	background-position: 80% center;
	background-repeat: no-repeat;
}



.page_banner{ overflow:hidden; }

.page_banner__video{
	position:absolute;
	inset:0;
	z-index:-1;
	pointer-events:none;
}

.page_banner__video video{
	width:100%;
	height:100%;
	object-fit:cover;
}

/* YouTube : cover (iframe n’a pas object-fit) */
.page_banner__youtube .sit-banner-yt{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:100vw;
	height:56.25vw;
	min-width:177.78vh;
	min-height:100vh;
}


.page_banner::before{
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	z-index:0;
	pointer-events:none;
	--gutter: max(0px, calc((100% - var(--sit-boxed)) / 2));
	width: calc(var(--gutter) + var(--sit-leftcol));
	background: #062042DB;
}

.page_banner > .ct-section-inner-wrap{
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: var(--sit-boxed);
	margin-inline: auto;
	display: flex !important;
	flex-direction: row !important;
	justify-content: flex-start !important;
	align-items: center !important;
	padding-top:    clamp(56px, 7vw, 100px) !important;
	padding-bottom: clamp(120px, 18vw, 300px) !important;
	padding-left:   clamp(16px, 3vw, var(--sit-pad)) !important;
	padding-right:  clamp(16px, 3vw, var(--sit-pad)) !important;
	min-height: 70vh;
	text-align: left !important;
}

.banner_title_container{
	display: flex;
	flex-direction: column;
	gap: 50px;
	width: calc(var(--sit-leftcol) - (var(--sit-pad) * 2)) !important;
	max-width: calc(var(--sit-leftcol) - (var(--sit-pad) * 2)) !important;
	background: transparent !important;
	text-align: left !important;
	margin: 0 !important;
}

.banner_title.big_title{
	font-size: clamp(32px, 7.5vw, 64px) !important;
	line-height: 1;
	margin: 0;
}

.banner_description{
	max-width: 520px;
}

.banner_subtitle{
	margin: 0;
	font-size: clamp(20px, 2.1vw, 24px);
	line-height: 1.45;
	color: var(--sit-blanc);
	font-weight: 700;
}

.banner_subtitle + .banner_subtitle{
	margin-top: 25px;
}

.banner_cta a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: var(--sit-vert);
	color: var(--sit-blanc);
	border: 1px solid var(--sit-vert);
	border-top-left-radius: 0px;
	border-bottom-right-radius: 0px;
	border-top-right-radius: 28.57px;
	border-bottom-left-radius: 28.57px;
	padding-top: 17px;
	padding-bottom: 17px;
	padding-right: 35px;
	padding-left: 35px;
	font-weight: 700;
	line-height: 1.2;
}

.banner_cta a:hover{
	color: var(--sit-bleu-dark);
}

@media (max-width: 991px){
	.page_banner > .ct-section-inner-wrap{
		padding: 80px var(--sit-pad) !important;
		min-height: 420px;
	}

	.page_banner::before{
		width: 100%;
	}

	.banner_title_container{
		width: 100% !important;
		max-width: 100% !important;
	}

	.banner_description{
		max-width: 100%;
	}
}

@media (max-width: 479px){
	.page_banner > .ct-section-inner-wrap{
		padding: 50px var(--sit-pad) !important;
		min-height: unset;
	}
	.banner_title_container {
		gap: 30px;
	}
	.banner_cta a{
		padding-top: 15px;
		padding-bottom: 15px;
		padding-right: 25px;
		padding-left: 25px;
	}
}
