/* CSS Hero Slider 1.0.6 — image à droite, texte à gauche, jamais l'un sur l'autre. */
.chs{
	--chs-line:color-mix(in srgb,var(--chs-text) 16%,transparent);
	--chs-muted:color-mix(in srgb,var(--chs-text) 74%,transparent);
	--chs-faint:color-mix(in srgb,var(--chs-text) 52%,transparent);
	position:relative;overflow:hidden;isolation:isolate;
	background:var(--chs-bg);color:var(--chs-text);
	font-family:var(--chs-body);font-size:16px;line-height:1.55;
	-webkit-font-smoothing:antialiased;
}
@supports not (color:color-mix(in srgb,red 50%,blue)){
	.chs{--chs-line:rgba(255,255,255,.16);--chs-muted:rgba(255,255,255,.74);--chs-faint:rgba(255,255,255,.52)}
}
.chs *,.chs *::before,.chs *::after{box-sizing:border-box}
.chs-wrap{width:100%;max-width:1240px;margin:0 auto;padding-inline:clamp(16px,4vw,48px)}

/* Diapos empilées : la hauteur suit la plus longue, rien ne déborde. */
.chs-track{display:grid}
.chs-slide{
	grid-area:1/1;position:relative;display:flex;align-items:center;min-height:var(--chs-minh);
	opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s linear .9s;
}
.chs-slide.is-on{opacity:1;visibility:visible;transition:opacity .9s ease}

/* Image confinée à droite, fondu vers le texte. */
.chs-media{
	position:absolute;top:0;bottom:0;right:0;left:var(--chs-imgstart);overflow:hidden;
	-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24%);
	mask-image:linear-gradient(90deg,transparent 0,#000 24%);
}
.chs-media img{
	display:block;width:100%;height:100%;max-width:none;object-fit:cover;
	object-position:var(--fx,80%) var(--fy,50%);
	transform:scale(1.05);transform-origin:var(--fx,80%) var(--fy,50%);transition:transform 8s ease-out;
}
.chs-slide.is-on .chs-media img{transform:scale(1)}
.chs-media::before{content:"";position:absolute;inset:0;z-index:1;background:var(--chs-tintc,var(--chs-bg));opacity:var(--chs-tint,.45);pointer-events:none}
.chs-media::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(0deg,var(--chs-bg) 0%,transparent 22%);opacity:.75;pointer-events:none}

.chs-in{position:relative;z-index:2;padding-block:72px 128px}
.chs-in > *{max-width:min(var(--chs-textw),calc(var(--chs-imgstart) + 4%))}

.chs-eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 22px;font-family:var(--chs-display);font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--chs-italic)}
.chs-eyebrow::before{content:"";flex:none;width:40px;height:1px;background:var(--chs-accent)}
.chs .chs-title{font-family:var(--chs-display);font-weight:var(--chs-weight);font-size:clamp(48px,5.85vw,84px);line-height:1.02;letter-spacing:-.02em;margin:0 0 24px;color:var(--chs-text);text-wrap:balance;overflow-wrap:break-word;hyphens:manual}
.chs-in > .chs-title{max-width:min(calc(var(--chs-textw) * 1.3),calc(var(--chs-imgstart) + 16%))}
.chs .chs-title em{font-style:italic;color:var(--chs-italic)}
.chs .chs-title strong{font-weight:inherit;color:var(--chs-accent)}
.chs-lead{margin:0 0 28px;font-size:clamp(16px,1.3vw,18px);color:var(--chs-muted)}
.chs-lead b,.chs-lead strong{color:var(--chs-text);font-weight:600}

.chs-pills{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}
.chs-pills span{font-size:13.5px;padding:8px 14px;border:1px solid var(--chs-line);background:color-mix(in srgb,var(--chs-bg2) 70%,transparent);color:var(--chs-muted);border-radius:var(--chs-radius)}
.chs-pills b{color:var(--chs-italic);font-weight:600}

.chs-figures{display:flex;flex-wrap:wrap;gap:12px 28px;margin:0 0 28px}
.chs-figures strong{display:block;font-family:var(--chs-display);font-weight:400;font-size:30px;line-height:1;color:var(--chs-accent);font-variant-numeric:tabular-nums}
.chs-figures span{font-size:12.5px;color:var(--chs-muted)}

.chs-person{display:flex;align-items:center;gap:14px;margin:0 0 28px;padding:12px 18px 12px 12px;border-left:2px solid var(--chs-accent);background:color-mix(in srgb,var(--chs-bg2) 75%,transparent);width:max-content;max-width:100%}
.chs-person .chs-av{width:46px;height:46px;border-radius:50%;flex:none;object-fit:cover;display:grid;place-items:center;background:var(--chs-bg2);color:var(--chs-italic);font-family:var(--chs-display)}
.chs-person p{margin:0;font-size:14px;line-height:1.4;color:var(--chs-muted)}
.chs-person p b{color:var(--chs-text);font-weight:600}

.chs-ctas{display:flex;flex-wrap:wrap;gap:14px;margin:0}
.chs .chs-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;border-radius:var(--chs-radius);font-family:var(--chs-display);font-weight:600;font-size:15px;line-height:1.2;text-decoration:none;transition:background-color .2s,border-color .2s,filter .2s}
.chs .chs-btn--primary{background:var(--chs-accent);color:#fff;border:1px solid var(--chs-accent)}
.chs .chs-btn--primary:hover{filter:brightness(1.1);color:#fff}
.chs .chs-btn--ghost{background:transparent;color:var(--chs-text);border:1px solid color-mix(in srgb,var(--chs-text) 38%,transparent)}
.chs .chs-btn--ghost:hover{border-color:var(--chs-italic);color:var(--chs-text)}
.chs-src{margin:18px 0 0;font-size:12px;color:var(--chs-faint)}
.chs-src a{color:inherit}

/* Contrôles */
.chs-ctrl{position:absolute;z-index:4;left:0;right:0;bottom:30px}
.chs-ctrl .chs-wrap{display:flex;align-items:center;gap:14px}
.chs-ctrl button{appearance:none;background:transparent;border:1px solid color-mix(in srgb,var(--chs-text) 30%,transparent);color:var(--chs-text);width:40px;height:40px;padding:0;border-radius:50%;cursor:pointer;font-size:18px;line-height:1;display:grid;place-items:center}
.chs-ctrl button:hover{border-color:var(--chs-italic)}
.chs-dots{display:flex;gap:8px}
.chs-ctrl .chs-dots button{width:auto;height:auto;border:0;border-radius:0;padding:12px 0}
.chs-dots i{display:block;width:38px;height:3px;position:relative;overflow:hidden;background:color-mix(in srgb,var(--chs-text) 22%,transparent)}
.chs-dots i::after{content:"";position:absolute;inset:0;background:var(--chs-accent);transform:scaleX(0);transform-origin:left}
.chs-dots button[aria-selected="true"] i::after{animation:chs-fill var(--chs-dur) linear forwards}
.chs.is-paused .chs-dots button[aria-selected="true"] i::after{animation-play-state:paused}
.chs.is-static .chs-dots button[aria-selected="true"] i::after{animation:none;transform:scaleX(1)}
.chs-dots button.is-done i::after{transform:scaleX(1);animation:none;background:color-mix(in srgb,var(--chs-text) 55%,transparent)}
@keyframes chs-fill{to{transform:scaleX(1)}}
.chs-count{margin-left:auto;font-family:var(--chs-display);font-size:13px;letter-spacing:.08em;color:var(--chs-faint);font-variant-numeric:tabular-nums}
.chs-count b{color:var(--chs-text);font-weight:500}
.chs a:focus-visible,.chs button:focus-visible{outline:2px solid var(--chs-italic);outline-offset:3px}

/* ---------- Tablette et mobile : photo en bandeau au-dessus, texte dessous ---------- */
@media (max-width:900px){
	.chs-slide{flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:0}
	.chs-media{
		position:relative;left:auto;right:auto;top:auto;bottom:auto;flex:none;
		width:100%;aspect-ratio:16/10;max-height:440px;
		-webkit-mask-image:none;mask-image:none;
	}
	.chs-media::after{background:linear-gradient(0deg,var(--chs-bg) 0%,transparent 38%);opacity:1}
	.chs-in{padding-block:0 28px;margin-top:-28px}
	.chs-in > *{max-width:640px}
	.chs-in > .chs-title{max-width:760px}
	.chs .chs-title{font-size:clamp(40px,7.5vw,64px)}
	.chs-ctrl{position:relative;bottom:auto;padding-block:0 28px}
}
@media (max-width:600px){
	.chs-media{aspect-ratio:4/3}
	.chs-eyebrow{font-size:11px;letter-spacing:.16em;gap:10px;margin-bottom:14px}
	.chs-eyebrow::before{width:24px}
	.chs .chs-title{font-size:clamp(40px,11.5vw,54px);line-height:1.04;margin-bottom:16px}
	.chs-lead{font-size:16px;margin-bottom:22px}
	.chs-pills,.chs-figures,.chs-person{margin-bottom:22px}
	.chs-pills span{font-size:13px}
	.chs-figures{gap:10px 22px}
	.chs-figures strong{font-size:26px}
	.chs-person{width:auto}
	.chs-ctas{flex-direction:column;gap:10px}
	.chs .chs-btn{width:100%;padding:15px 18px}
	.chs-ctrl .chs-wrap{justify-content:center;gap:10px}
	.chs-dots{gap:6px}
	.chs-dots i{width:26px}
	.chs-count{display:none}
}

@media (prefers-reduced-motion:reduce){
	.chs-slide{transition:none}
	.chs-media img{transform:none;transition:none}
	.chs-dots button[aria-selected="true"] i::after{animation:none;transform:scaleX(1)}
}

/* Bouton fixe, visible sur toutes les diapos */
.chs-ctrl .chs-wrap{flex-wrap:wrap}
.chs .chs-cta-fixed{order:10;margin-left:18px;padding:12px 22px;min-height:46px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.chs-count + .chs-cta-fixed,.chs-cta-fixed{margin-left:18px}
.chs-ctrl .chs-count{order:9}
@media (min-width:901px){.chs-ctrl .chs-wrap .chs-count{margin-left:auto}.chs-ctrl .chs-wrap:not(:has(.chs-count)) .chs-cta-fixed{margin-left:auto}}
@media (max-width:900px){.chs .chs-cta-fixed{order:-1;width:100%;margin:0 0 14px}}

/* Emplacement automatique (remplace le bloc d'accueil existant) */
.chs-placed{width:100%;position:relative}
.chs-kept-kpis{background:var(--marine,#02182B);padding-inline:clamp(16px,4vw,48px)}
.chs-kept-kpis > *{max-width:var(--max-w,1240px);margin-inline:auto}

/* ================= 1.1.0 — options ajoutées (sans effet sur les sliders existants) ================= */
/* Mot d'accent du titre : couleur propre, sinon l'accent (comme en 1.0.6). */
.chs .chs-title strong{color:var(--chs-strong,var(--chs-accent))}
/* Suite du titre en caractères droits plutôt qu'en italique. */
.chs--em-normal .chs-title em{font-style:normal}
/* Taille maximale du titre réglable. */
.chs--tmax .chs-title{font-size:clamp(min(48px,var(--chs-tmax)),5.85vw,var(--chs-tmax))}
@media (max-width:900px){.chs--tmax .chs-title{font-size:clamp(min(36px,var(--chs-tmax)),7.5vw,min(64px,var(--chs-tmax)))}}
@media (max-width:600px){.chs--tmax .chs-title{font-size:clamp(34px,10vw,min(52px,var(--chs-tmax)))}}

/* Disposition « image pleine largeur » : la photo couvre tout le bloc, un voile dégradé protège le texte à gauche. */
.chs--full .chs-media{left:0;-webkit-mask-image:none;mask-image:none}
.chs--full .chs-media::before{
	opacity:1;
	background:linear-gradient(90deg,
		var(--chs-bg) 0%,
		color-mix(in srgb,var(--chs-bg) 86%,transparent) 32%,
		color-mix(in srgb,var(--chs-tintc,var(--chs-bg)) calc(var(--chs-tint,.45) * 100%),transparent) 64%,
		color-mix(in srgb,var(--chs-tintc,var(--chs-bg)) calc(var(--chs-tint,.45) * 40%),transparent) 100%);
}
@supports not (color:color-mix(in srgb,red 50%,blue)){
	.chs--full .chs-media::before{background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.78) 34%,rgba(0,0,0,.3) 64%,rgba(0,0,0,.08) 100%)}
}
.chs--full .chs-in > *,.chs--full .chs-in > .chs-title{max-width:var(--chs-textw)}
.chs--full .chs .chs-title,.chs--full .chs-title{text-transform:none}
@media (max-width:900px){
	.chs--full .chs-media::before{background:var(--chs-tintc,var(--chs-bg));opacity:var(--chs-tint,.45)}
	.chs--full .chs-in > *{max-width:640px}
}

/* ================= 1.2.0 — mise en forme des titres et des textes ================= */
.chs .chs-title b{font-weight:900;-webkit-text-stroke:.022em currentColor}
.chs .chs-eyebrow b{font-weight:700}
.chs .chs-eyebrow .chs-eb{display:inline}
.chs .chs-in i{font-style:italic}
.chs .chs-in .chs-w-light{font-weight:300}
.chs .chs-in .chs-c-accent{color:var(--chs-accent)}
.chs .chs-in .chs-c-1{color:var(--chs-italic)}
.chs .chs-in .chs-c-2{color:var(--chs-strong,var(--chs-accent))}
.chs .chs-in .chs-c-text{color:var(--chs-text)}
.chs .chs-in .chs-c-muted{color:var(--chs-muted)}
/* Retour à la ligne « ordinateur seulement » : un simple espace sur téléphone. */
.chs .chs-brd{display:block;height:0;overflow:hidden}
.chs .chs-blank{display:block;height:.5em}
@media (max-width:900px){.chs .chs-brd{display:inline;height:auto}}
