.escal-timeline {
	position: relative;
	margin-left: auto;
	margin-right: auto;
	--etl-dot-pos: 50%;
	--etl-card-gap: 0px;
}

.escal-timeline__line {
	position: absolute;
	top: 0;
	bottom: 0;
	left: var(--etl-dot-pos);
	transform: translateX(-50%);
	width: 2px;
}

.escal-timeline__list {
	display: flex;
	flex-direction: column;
}

.escal-timeline__row {
	position: relative;
	display: flex;
	width: 100%;
	box-sizing: border-box;
}

.escal-timeline__dot {
	position: absolute;
	top: 0.5rem;
	left: var(--etl-dot-pos);
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 9999px;
	z-index: 2;
}

.escal-timeline__dot-inner {
	border-radius: 9999px;
}

.escal-timeline__card {
	width: 100%;
	box-sizing: border-box;
}

/* --- Desktop : alternance gauche / droite (le point reste centré sur la ligne pour tous les côtés) --- */
@media (min-width: 768px) {
	.escal-timeline__card {
		width: calc(50% - var(--etl-card-gap, 0px));

	}
	.escal-timeline__row--left .escal-timeline__card {
		margin-right: auto;
		padding-right: 2.5rem;
		text-align: right;
	}
	.escal-timeline__row--right .escal-timeline__card {
		margin-left: auto;
		padding-left: 2.5rem;
		text-align: left;
	}
}

/* --- Mobile : tout le contenu empilé à droite de la ligne --- */
@media (max-width: 767.98px) {
	.escal-timeline__row {
		text-align: left;
	}
}

/* --- Animation au scroll --- */
.escal-timeline__row[data-tl-state="hidden"] {
	opacity: 0;
}
.escal-timeline__row[data-tl-state="visible"] {
	opacity: 1;
	transform: translateX(0) !important;
}