/* ==========================================================
   Triaxe — Slider d'accueil (remplace Slider Revolution)
   ========================================================== */

.triaxe-hero {
	--hero-accent: 30, 183, 205;
	position: relative;
	width: 100%;
	height: 100vh;
	height: 100svh;
	min-height: 560px;
	overflow: hidden;
	background: #2b2b2b;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
}

.triaxe-hero__track,
.triaxe-hero__slide {
	position: absolute;
	inset: 0;
}

.triaxe-hero__slide {
	opacity: 0;
	visibility: hidden;
	transition: opacity 1s ease, visibility 0s linear 1s;
}

.triaxe-hero__slide.is-active {
	opacity: 1;
	visibility: visible;
	transition: opacity 1s ease, visibility 0s;
	z-index: 1;
}

.triaxe-hero__bg {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	object-position: center;
	transform: scale(1.06);
	transition: transform 11s ease-out;
}

.triaxe-hero__slide.is-active .triaxe-hero__bg {
	transform: scale(1);
}

.triaxe-hero__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .5);
}

.triaxe-hero__inner {
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	height: 100%;
	max-width: 1170px;
	margin: 0 auto;
	padding: 190px 43px 80px;
	display: flex;
	align-items: center;
}

.triaxe-hero__content {
	max-width: 840px;
}

/* Animation d'entrée des textes */
.triaxe-hero__title,
.triaxe-hero__text,
.triaxe-hero__btn {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity .8s ease, transform .8s ease;
}

.triaxe-hero__slide.is-active .triaxe-hero__title,
.triaxe-hero__slide.is-active .triaxe-hero__text,
.triaxe-hero__slide.is-active .triaxe-hero__btn {
	opacity: 1;
	transform: none;
}

.triaxe-hero__slide.is-active .triaxe-hero__title { transition-delay: .4s; }
.triaxe-hero__slide.is-active .triaxe-hero__text  { transition-delay: .65s; }
.triaxe-hero__slide.is-active .triaxe-hero__btn   { transition-delay: .9s; }

.triaxe-hero .triaxe-hero__title {
	margin: 0 0 50px;
	padding: 0;
	font-family: 'Montserrat', sans-serif;
	font-size: 60px;
	font-weight: 700;
	line-height: 70px;
	letter-spacing: normal;
	text-transform: none;
	color: #fff;
	text-align: left;
}

.triaxe-hero__title span {
	display: inline;
	padding: 0 .12em;
	background: rgba(var(--hero-accent), .5);
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.triaxe-hero__text {
	margin: 0 0 55px;
	font-size: 25px;
	font-weight: 500;
	line-height: 35px;
	letter-spacing: 2px;
	color: #fff;
}

.triaxe-hero__text p {
	margin: 0;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
}

.triaxe-hero .triaxe-hero__btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 12px 35px;
	border-radius: 30px;
	background: rgba(var(--hero-accent), .75);
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 20px;
	letter-spacing: 1px;
	text-transform: uppercase;
	text-decoration: none;
	transition: opacity .8s ease, transform .8s ease, background-color .3s ease;
}

.triaxe-hero .triaxe-hero__btn:hover,
.triaxe-hero .triaxe-hero__btn:focus-visible {
	background: rgb(var(--hero-accent));
	color: #fff;
}

/* Flèches */
.triaxe-hero__arrow {
	position: absolute;
	top: 50%;
	z-index: 3;
	width: 40px;
	height: 40px;
	margin-top: -20px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 0;
	background: rgba(0, 0, 0, .5);
	color: #fff;
	cursor: pointer;
	transition: background-color .3s ease;
}

.triaxe-hero__arrow:hover,
.triaxe-hero__arrow:focus-visible {
	background: rgba(var(--hero-accent), .9);
}

.triaxe-hero__arrow--prev { left: 0; }
.triaxe-hero__arrow--next { right: 0; }

/* Puces */
.triaxe-hero__dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 30px;
	z-index: 3;
	display: flex;
	justify-content: center;
	gap: 10px;
}

.triaxe-hero__dot {
	width: 12px;
	height: 12px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .45);
	cursor: pointer;
	transition: background-color .3s ease, transform .3s ease;
}

.triaxe-hero__dot.is-active {
	background: rgb(var(--hero-accent));
	transform: scale(1.15);
}

.triaxe-hero button:focus-visible,
.triaxe-hero a:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

/* ---------- Responsive ---------- */
@media (max-width: 1199px) {
	.triaxe-hero .triaxe-hero__title { font-size: 48px; line-height: 58px; margin-bottom: 36px; }
	.triaxe-hero__text { font-size: 21px; line-height: 31px; letter-spacing: 1.5px; }
}

@media (max-width: 1023px) {
	.triaxe-hero__inner { padding: 150px 60px 80px; }
	.triaxe-hero .triaxe-hero__title { font-size: 40px; line-height: 50px; margin-bottom: 28px; }
	.triaxe-hero__text { font-size: 18px; line-height: 28px; letter-spacing: 1px; margin-bottom: 30px; }
	.triaxe-hero .triaxe-hero__btn { font-size: 17px; }
}

@media (max-width: 767px) {
	.triaxe-hero { min-height: 600px; }
	.triaxe-hero__inner { padding: 110px 24px 70px; }
	.triaxe-hero .triaxe-hero__title { font-size: 30px; line-height: 40px; margin-bottom: 20px; }
	.triaxe-hero__text { font-size: 15px; line-height: 23px; letter-spacing: .5px; margin-bottom: 24px; }
	.triaxe-hero .triaxe-hero__btn { font-size: 14px; padding: 11px 24px; gap: 8px; }
	.triaxe-hero__arrow { display: none; }
	.triaxe-hero__dots { bottom: 22px; }
}

@media (prefers-reduced-motion: reduce) {
	.triaxe-hero *,
	.triaxe-hero *::before,
	.triaxe-hero *::after {
		transition-duration: .01ms !important;
		transition-delay: 0s !important;
	}
	.triaxe-hero__bg { transform: none !important; }
}
