/* PTE Milestones — sticky horizontal-scroll timeline, matches Astro exactly */

/* ── Achieved wrapper ── */
.pte-achieved-section {
	position: relative;
	padding: 115px 0 46px;
	background: #f3ede0;
}
.pte-achieved-section .bg-band {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: 0;
	pointer-events: none;
}
.pte-achieved-section .bg-band img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
	opacity: 1;
}
.pte-achieved-section .intro { text-align: center; }
.pte-achieved-section .body-copy { width: 1060px; margin: 30px auto 0; }

/* These classes mirror Astro's generic tokens used in the achieved section */
.pte-achieved-section .col {
	position: relative;
	z-index: 2;
	margin-left: 140px;
	width: 1160px;
}
.pte-achieved-section .sec-heading {
	font-size: 64px;
	line-height: 72px;
	font-weight: 700;
	color: #000;
}
.pte-achieved-section .sec-heading.center { text-align: center; }
.pte-achieved-section .body-copy {
	font-size: 32px;
	line-height: 48px;
	font-weight: 300;
	color: #000;
}
.pte-achieved-section .body-copy.center { text-align: center; }
.pte-achieved-section .light { font-weight: 300; }
.pte-achieved-section .bold  { font-weight: 700; }

/* ── Milestones sticky wrapper ── */
.milestones {
	margin-top: 60px;
	position: sticky;
	top: 0;
	z-index: 2;
	background: #f3ede0;
}
.milestones .m-head { margin-left: 140px; }
.m-title { font-size: 56px; font-weight: 500; font-family: var(--pte-font, inherit); }
.m-sub   { font-size: 32px; font-weight: 300; color: #000; margin-top: 27px; font-family: var(--pte-font, inherit); }

/* ── Year pills ── */
.m-years {
	display: flex;
	gap: 10px;
	margin: 19px 0 0 140px;
}
.m-year {
	border: 1.5px solid #000;
	border-radius: 100px;
	height: 43px;
	padding: 0 18px;
	display: flex;
	align-items: center;
	font-size: 16px;
	font-weight: 500;
	background: none;
	cursor: pointer;
	font-family: var(--pte-font, inherit);
	transition: background .15s, color .15s, border-color .15s;
}
.m-year.active {
	background: #204663;
	color: #fff;
	border-color: #204663;
}

/* ── Scroll track ── */
.m-scroll-outer {
	overflow: hidden;
	width: 100%;
	scrollbar-width: none;
	margin-top: 14px;
}
.m-scroll-outer::-webkit-scrollbar { display: none; }
.m-scroll-track {
	position: relative;
	width: 6215px;
	height: 735px;
}
.ms-photo-clip {
	position: absolute;
	overflow: hidden;
	border-radius: 25px;
	z-index: 1;
}
.ms-photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.ms-asset {
	position: absolute;
	z-index: 2;
}
.ms-head {
	position: absolute;
	z-index: 5;
}
.ms-yr {
	font-size: 36px;
	font-weight: 700;
	color: #006db9;
	line-height: 36px;
	font-family: var(--pte-font, inherit);
}
.ms-ttl {
	font-size: 24px;
	font-weight: 400;
	color: #251e20;
	line-height: 30px;
	margin-top: 6px;
	font-family: var(--pte-font, inherit);
}
.ms-body {
	position: absolute;
	font-size: 20px;
	font-weight: 300;
	color: #000;
	line-height: 30px;
	margin: 0;
	z-index: 5;
	font-family: var(--pte-font, inherit);
}

/* ── CTA ── */
.m-cta { margin: 32px 0 0 140px; position: relative; z-index: 2; }
.m-cta .pill {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 46px;
	padding: 0 24px;
	border-radius: 100px;
	font-size: 16px;
	font-weight: 400;
	text-decoration: none;
	transition: background .2s, color .2s;
	font-family: var(--pte-font, inherit);
}
.m-cta .pill.blue { background: #005474; color: #fff; }
.m-cta .pill.blue:hover { background: #4a7a30; }
.m-cta .pill img { width: 18px; height: 18px; filter: brightness(10); }
