/* ==========================================================================
   Accueil — XD « Formation SIG - Accueil white » (1920 x 5307)
   ========================================================================== */

/* Le hero passe sous le header translucide */
.home .site-main { padding-top: 0; }

/* ---------- Hero : vidéo de fond, titre Bold 78px/107px, recherche à droite ---------- */
.hero {
	--hero-pad: clamp(32px, 7.7vw, 148px); /* titre à y=300 sous un header de 152px */
	position: relative;
	min-height: clamp(560px, 55.6vw, 1067px);
	padding-top: var(--header-h);
	overflow: hidden;
	isolation: isolate;
	background: var(--c-bg-alt);
}
/* Le panneau de recherche peut dépasser du hero */
.hero:has(.is-open) { overflow: visible; z-index: 20; }

.hero__bg { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.hero__bg img,
.hero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.hero__video { opacity: 0; transition: opacity .8s ease-out; }
.hero__video.is-ready { opacity: 1; }
/* Voile blanc à gauche (« Accueil white ») pour la lisibilité du titre */
.hero__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgb(255 255 255 / .9) 0%, rgb(255 255 255 / .75) 38%, rgb(255 255 255 / .2) 70%, rgb(255 255 255 / 0) 100%);
}
[data-theme="dark"] .hero__bg::after {
	background: linear-gradient(90deg, rgb(21 23 20 / .92) 0%, rgb(21 23 20 / .75) 38%, rgb(21 23 20 / .25) 70%, rgb(21 23 20 / 0) 100%);
}

.hero__inner {
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 40px;
	padding-block: var(--hero-pad) clamp(56px, 8vw, 150px);
}
.hero__title {
	max-width: 945px;
	font-size: var(--fs-h1);
	font-weight: 700;
	line-height: 1.372;
	color: var(--c-text);
}
.hero__search { position: relative; z-index: 3; flex: 0 1 575px; }

/* Panneau : sous la pilule, sur toute la largeur du conteneur (XD : x=104, 1748px) */
.hero .search-panel {
	position: absolute;
	z-index: 2;
	top: calc(var(--hero-pad) + clamp(60px, 5.83vw, 112px));
	left: calc(var(--gutter) - 7px);
	right: calc(var(--gutter) - 7px);
}

/* ---------- Pourquoi nous faire confiance : texte des blocs justifié (retour client du 10/11/2026) ---------- */
.expertise .card__text { text-align: justify; }

/* ---------- Actualités : fond #F4F4F4, cartes à bloc texte blanc ---------- */
.actualites { --c-card: var(--c-bg); }

/* ---------- Tablette ---------- */
@media (max-width: 1140px) {
	.hero__inner { flex-direction: column; justify-content: center; gap: 32px; }
	.hero__search { flex: none; width: 100%; max-width: 575px; }
	.hero .search-panel { position: relative; top: auto; left: auto; right: auto; width: 100%; margin-top: -16px; }
}

/* ---------- Mobile ---------- */
@media (max-width: 768px) {
	.hero { min-height: 0; }
	.hero__title { line-height: 1.2; }
	.hero__bg::after { background: rgb(255 255 255 / .8); }
	[data-theme="dark"] .hero__bg::after { background: rgb(21 23 20 / .82); }
}
