/* About Summary timeline — Bricks content remains editable in the builder. */
.home-about-timeline {
	position: relative;
	overflow: hidden;
	padding: clamp(76px, 9vw, 136px) 0;
	background-color: #242a2f;
	background-image: radial-gradient(rgba(255, 255, 255, .16) 1px, transparent 1.3px);
	background-size: 20px 20px;
}

.home-about-timeline-inner {
	width: min(calc(100% - 56px), 1200px);
	margin: 0 auto;
}

.home-about-timeline-title {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 clamp(52px, 7vw, 88px);
	color: #fff;
	font-size: clamp(32px, 3.1vw, 44px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.03em;
}

.home-about-timeline-title::after {
	width: 52px;
	height: 14px;
	content: '';
	background:
		linear-gradient(#ffc400, #ffc400) left top 2px / 100% 2px no-repeat,
		linear-gradient(#ffc400, #ffc400) right bottom 2px / calc(100% - 18px) 2px no-repeat;
}

.home-about-timeline-title span {
	color: #ffc400;
	font-weight: 300;
}

/*
 * Current Bricks structure: every outer Block contains one image Block and
 * one content Block. The alternative selector keeps the same CSS usable if
 * the image/content pair is later wrapped in .home-about-timeline-item.
 */
.home-about-timeline-list {
	display: flex;
	flex-direction: column;
	gap: clamp(54px, 6vw, 88px);
}

.home-about-timeline-item,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap) {
	--timeline-image-width: min(320px, 26.67vw);
	--timeline-track: clamp(86px, 9vw, 124px);
	--timeline-track-half: clamp(43px, 4.5vw, 62px);
	position: relative;
	display: grid;
	grid-template-columns: var(--timeline-image-width) minmax(0, 1fr);
	column-gap: var(--timeline-track);
	align-items: start;
	min-height: 394px;
	overflow: visible;
}

.home-about-timeline-item > .home-about-timeline-image-wrap,
.home-about-timeline-item > .home-about-timeline-image,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap) > .home-about-timeline-image-wrap,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap) > .home-about-timeline-image {
	grid-column: 1;
	display: block;
	height: 394px;
	overflow: hidden;
}

.home-about-timeline-image,
.home-about-timeline-image picture,
.home-about-timeline-image img,
.home-about-timeline-image-wrap picture,
.home-about-timeline-image-wrap img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-about-timeline-item > .home-about-timeline-content,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap) > .home-about-timeline-content {
	grid-column: 2;
	box-sizing: border-box;
	min-height: 274px;
	padding: clamp(32px, 4.3vw, 58px);
	background-color: rgba(20, 21, 22, .82);
	background-image: linear-gradient(135deg, rgba(255, 255, 255, .018) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .018) 50%, rgba(255, 255, 255, .018) 75%, transparent 75%);
	background-size: 26px 26px;
	color: #fff;
}

/* The marker belongs to the row, not to an image or card. */
.home-about-timeline-item::before,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap)::before {
	position: absolute;
	z-index: 2;
	top: 40px;
	left: calc(var(--timeline-image-width) + var(--timeline-track-half) - 13px);
	width: 25px;
	height: 25px;
	border: 2px solid #151a1e;
	border-radius: 50%;
	content: '';
	background: #ffc400;
	box-shadow: 0 0 0 2px #ffc400;
}

.home-about-timeline-item::after,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap)::after {
	position: absolute;
	top: 53px;
	left: var(--timeline-image-width);
	width: var(--timeline-track-half);
	height: 1px;
	content: '';
	background: rgba(255, 255, 255, .8);
}

.home-about-timeline-item.is-image-right,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(even) {
	grid-template-columns: minmax(0, 1fr) var(--timeline-image-width);
}

.home-about-timeline-item.is-image-right > .home-about-timeline-image-wrap,
.home-about-timeline-item.is-image-right > .home-about-timeline-image,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(even) > .home-about-timeline-image-wrap,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(even) > .home-about-timeline-image {
	grid-column: 2;
}

.home-about-timeline-item.is-image-right > .home-about-timeline-content,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(even) > .home-about-timeline-content {
	grid-column: 1;
	text-align: right;
	background-color: rgba(255, 255, 255, .98);
	background-image: radial-gradient(ellipse at 50% 0, transparent 0 54%, rgba(224, 228, 230, .5) 55% 58%, transparent 59%);
	background-size: 34px 22px;
	color: #15181a;
}

.home-about-timeline-item.is-image-right::before,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(even)::before {
	right: calc(var(--timeline-image-width) + var(--timeline-track-half) - 13px);
	left: auto;
}

.home-about-timeline-item.is-image-right::after,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(even)::after {
	right: var(--timeline-image-width);
	left: auto;
}

.home-about-timeline-year {
	margin: 0 0 23px;
	font-size: clamp(17px, 1.55vw, 21px);
	font-weight: 800;
	line-height: 1;
}

.home-about-timeline-item-title {
	margin: 0 0 23px;
	font-size: clamp(21px, 2vw, 27px);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -.02em;
}

.home-about-timeline-description {
	max-width: 64ch;
	margin: 0;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.6;
}

.home-about-timeline-item.is-image-right .home-about-timeline-description,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(even) .home-about-timeline-description {
	margin-left: auto;
}

/* 479–991px: preserve the compact, horizontal timeline. */
@media (min-width: 479px) and (max-width: 991px) {
	.home-about-timeline {
		padding: 76px 0;
		background-size: 15px 15px;
	}

	.home-about-timeline-inner {
		width: min(calc(100% - 56px), 920px);
	}

	.home-about-timeline-list {
		gap: 52px;
	}

	.home-about-timeline-item,
	.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap) {
		--timeline-image-width: clamp(148px, 31vw, 306px);
		--timeline-track: clamp(60px, 7.5vw, 76px);
		--timeline-track-half: clamp(30px, 3.75vw, 38px);
		min-height: 210px;
	}

	.home-about-timeline-item > .home-about-timeline-image-wrap,
	.home-about-timeline-item > .home-about-timeline-image,
	.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap) > .home-about-timeline-image-wrap,
	.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap) > .home-about-timeline-image {
		height: 210px;
	}

	.home-about-timeline-item > .home-about-timeline-content,
	.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap) > .home-about-timeline-content {
		min-height: 210px;
		padding: 28px 36px;
	}

	.home-about-timeline-item::before,
	.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap)::before {
		top: 34px;
	}

	.home-about-timeline-item::after,
	.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap)::after {
		top: 47px;
	}

	.home-about-timeline-year,
	.home-about-timeline-item-title {
		margin-bottom: 16px;
	}

	.home-about-timeline-description {
		font-size: 14px;
		line-height: 1.5;
	}
}

/* 478px and below: a single-column timeline with a dedicated left marker track. */
@media (max-width: 478px) {
	.home-about-timeline {
		padding: 64px 0;
		background-size: 15px 15px;
	}

	.home-about-timeline-inner {
		width: min(calc(100% - 36px), 560px);
	}

	.home-about-timeline-title {
		gap: 10px;
		margin-bottom: 44px;
		font-size: 30px;
	}

	.home-about-timeline-title::after {
		width: 40px;
	}

	.home-about-timeline-list {
		gap: 42px;
		width: calc(100% - 46px);
		margin-left: 46px;
	}

	.home-about-timeline-item,
	.home-about-timeline-item.is-image-right,
	.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap),
	.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(even) {
		display: flex;
		flex-direction: column;
		min-height: 0;
		gap: 0;
		overflow: visible;
	}

	.home-about-timeline-item > .home-about-timeline-image-wrap,
	.home-about-timeline-item > .home-about-timeline-image,
	.home-about-timeline-item.is-image-right > .home-about-timeline-image-wrap,
	.home-about-timeline-item.is-image-right > .home-about-timeline-image,
	.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap) > .home-about-timeline-image-wrap,
	.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap) > .home-about-timeline-image {
		order: 0;
		width: 100%;
		height: auto;
		aspect-ratio: 1 / 1.18;
	}

	.home-about-timeline-item > .home-about-timeline-content,
	.home-about-timeline-item.is-image-right > .home-about-timeline-content,
	.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap) > .home-about-timeline-content,
	.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(even) > .home-about-timeline-content {
		order: 1;
		width: 100%;
		min-height: 0;
		padding: 32px 30px;
		text-align: left;
	}

	.home-about-timeline-item::before,
	.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap)::before,
	.home-about-timeline-item.is-image-right::before,
	.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(even)::before {
		top: 34px;
		right: auto;
		left: -46px;
		width: 25px;
		height: 25px;
		border-width: 2px;
		box-shadow: 0 0 0 2px #ffc400;
	}

	.home-about-timeline-item::after,
	.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap)::after,
	.home-about-timeline-item.is-image-right::after,
	.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(even)::after {
		top: 47px;
		right: auto;
		left: -33px;
		width: 33px;
	}

	.home-about-timeline-description,
	.home-about-timeline-item.is-image-right .home-about-timeline-description,
	.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(even) .home-about-timeline-description {
		margin-left: 0;
	}
}

/* Keep the text direction tied to the card colour, including Bricks child elements. */
.home-about-timeline-item:not(.is-image-right) > .home-about-timeline-content,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(odd) > .home-about-timeline-content,
.home-about-timeline-item:not(.is-image-right) > .home-about-timeline-content *,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(odd) > .home-about-timeline-content * {
	text-align: left !important;
}

.home-about-timeline-item.is-image-right > .home-about-timeline-content,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(even) > .home-about-timeline-content,
.home-about-timeline-item.is-image-right > .home-about-timeline-content *,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(even) > .home-about-timeline-content * {
	text-align: right !important;
}

.home-about-timeline-item:not(.is-image-right) .home-about-timeline-description,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(odd) .home-about-timeline-description {
	margin-right: auto;
	margin-left: 0;
}

.home-about-timeline-item.is-image-right .home-about-timeline-description,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(even) .home-about-timeline-description {
	margin-right: 0;
	margin-left: auto;
}

/* Bricks text elements are independent Blocks: align the blocks as well as their text. */
.home-about-timeline-item:not(.is-image-right) > .home-about-timeline-content,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(odd) > .home-about-timeline-content {
	display: flex !important;
	flex-direction: column;
	align-items: flex-start !important;
}

.home-about-timeline-item:not(.is-image-right) > .home-about-timeline-content > * ,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(odd) > .home-about-timeline-content > * {
	align-self: flex-start !important;
}

.home-about-timeline-item.is-image-right > .home-about-timeline-content,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(even) > .home-about-timeline-content {
	display: flex !important;
	flex-direction: column;
	align-items: flex-end !important;
}

.home-about-timeline-item.is-image-right > .home-about-timeline-content > *,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(even) > .home-about-timeline-content > * {
	align-self: flex-end !important;
	text-align: right !important;
}

.home-about-timeline-item.is-image-right .home-about-timeline-description,
.home-about-timeline-list:not(:has(> .home-about-timeline-item)) > :has(> .home-about-timeline-image, > .home-about-timeline-image-wrap):nth-child(even) .home-about-timeline-description {
	align-self: stretch !important;
	width: 100%;
}
