/* Maison Lune Day Timeline (ml-timeline): Story "Process" (sand). */

/* Section padding 80 / 56 / 32. */
@media (max-width: 767px) {
	.ml-timeline {
		--ml-section-pad: 32px;
	}
}

/* Heading: 12/18 caps eyebrow, 16 gap, title 56/63, 16 gap, text 18/27 muted; 48 above the steps. */
.ml-timeline__heading {
	max-width: 690px;
	margin-bottom: 48px;
}

.ml-timeline__eyebrow {
	color: var(--ml-text);
	font-weight: 400;
}

.ml-timeline__title {
	font-size: 56px;
	line-height: 63px;
}

.ml-timeline__eyebrow + .ml-timeline__title,
.ml-timeline__eyebrow + .ml-timeline__intro,
.ml-timeline__title + .ml-timeline__intro {
	margin-top: 16px;
}

.ml-timeline__intro {
	color: var(--ml-muted);
	font-size: var(--ml-fs-lead);
	line-height: var(--ml-lh-lead);
}

/* Steps: six columns 180 wide, 24 apart, each under a hairline (ink at 30%). */
.ml-timeline__steps {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 32px 24px;
	align-items: start;
}

.ml-timeline__step {
	min-width: 0;
	padding-top: 16px;
	border-top: 1px solid rgba(76, 39, 50, 0.3);
	border-top: 1px solid color-mix(in srgb, var(--ml-line) 40%, transparent);
}

.ml-timeline__time {
	color: var(--ml-heading);
	font-family: var(--ml-serif);
	font-size: 36px;
	line-height: 40px;
	font-weight: 400;
}

.ml-timeline__body {
	margin-top: 8px;
	min-width: 0;
}

.ml-timeline__step-title {
	color: var(--ml-heading);
	font-family: var(--ml-sans);
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
}

.ml-timeline__text {
	margin-top: 8px;
	color: var(--ml-muted);
	font-size: 15px;
	line-height: 22.5px;
}

.ml-timeline__body > :first-child {
	margin-top: 0;
}

/* ---------------------------------------------------------------- */
/* Tablet (834): three columns, rows 32 apart                       */
/* ---------------------------------------------------------------- */

@media (max-width: 1024px) {
	.ml-timeline__heading {
		max-width: none;
	}

	.ml-timeline__title {
		font-size: 48px;
		line-height: 54px;
	}

	.ml-timeline__steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* ---------------------------------------------------------------- */
/* Phone (390): a list, time (72 wide) beside the title and text    */
/* ---------------------------------------------------------------- */

@media (max-width: 767px) {
	.ml-timeline__heading {
		margin-bottom: 32px;
	}

	.ml-timeline__title {
		font-size: 36px;
		line-height: 40px;
	}

	.ml-timeline__eyebrow + .ml-timeline__title,
	.ml-timeline__eyebrow + .ml-timeline__intro,
	.ml-timeline__title + .ml-timeline__intro {
		margin-top: 12px;
	}

	.ml-timeline__intro {
		font-size: 16px;
		line-height: 24px;
	}

	.ml-timeline__steps {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.ml-timeline__step {
		display: grid;
		grid-template-columns: 72px minmax(0, 1fr);
		gap: 16px;
		align-items: start;
		padding-bottom: 20px;
	}

	.ml-timeline__time {
		font-size: 28px;
		line-height: 31px;
	}

	.ml-timeline__body {
		margin-top: 0;
	}

	.ml-timeline__text {
		margin-top: 4px;
	}
}
