/* ACTS Past Edition — Discover Other Editions */
.cew-oec{
	--cew-oec-per-view:4;
	width:100%;
	margin:0;
	padding:0 0 32px;
	background:#fff;
	color:#111;
	font-family:"PP Neue Montreal",Arial,sans-serif;
	overflow:hidden;
}
.cew-oec *{box-sizing:border-box}

.cew-oec-header{
	text-align:center;
	padding:58px 20px 42px;
}
.cew-oec-header-inner{
	max-width:650px;
	margin:0 auto;
}
.cew-oec-eyebrow{
	margin-bottom:10px;
	color:#6b6b6b;
	font-size:12px;
	line-height:1.2;
	text-transform:uppercase;
}
.cew-oec-heading{
	margin:0;
	color:#102039;
	font-size:38px;
	line-height:1.05;
	font-weight:500;
	letter-spacing:-.035em;
}
.cew-oec-description{
	margin:18px auto 0;
	color:#555;
	font-size:15px;
	line-height:1.42;
}

.cew-oec-viewport{
	width:100%;
	overflow-x:auto;
	overflow-y:hidden;
	scroll-snap-type:x mandatory;
	scrollbar-width:none;
	-webkit-overflow-scrolling:touch;
}
.cew-oec-viewport::-webkit-scrollbar{display:none}

.cew-oec-track{
	--cew-oec-timeline-inset:0px;
	display:flex;
	width:max-content;
	min-width:100%;
	align-items:stretch;
	position:relative;
}
.cew-oec-card{
	--cew-oec-line:#a8a8a8;
	--cew-oec-line-width:3px;
	--cew-oec-diamond:#381a92;
	--cew-oec-diamond-size:10px;

	position:relative;
	flex:0 0 calc(100vw / var(--cew-oec-per-view));
	width:calc(100vw / var(--cew-oec-per-view));
	min-height:365px;
	background:#fff;
	border-right:1px solid #dfdfdf;
	border-bottom:1px solid #dfdfdf;
	scroll-snap-align:start;
	transition:background .22s ease,color .22s ease;
}
.cew-oec-card:first-child{
	border-left:1px solid #dfdfdf;
}

/* Continuous top timeline. Each card owns its segment. */
.cew-oec-card::before{
	content:"";
	position:absolute;
	z-index:2;
	left:var(--cew-oec-timeline-inset);
	right:0;
	top:24px;
	height:var(--cew-oec-line-width);
	background:var(--cew-oec-line);
	transform:translateY(-50%);
}
.cew-oec-card::after{
	content:"";
	position:absolute;
	z-index:4;
	left:var(--cew-oec-timeline-inset);
	top:24px;
	width:var(--cew-oec-diamond-size);
	height:var(--cew-oec-diamond-size);
	background:var(--cew-oec-diamond);
	transform:translate(-50%,-50%) rotate(45deg);
}

/* Add one final marker at the very end of the last card. */
.cew-oec-card:last-child .cew-oec-card-inner::before{
	content:"";
	position:absolute;
	z-index:4;
	right:0;
	top:24px;
	width:var(--cew-oec-diamond-size);
	height:var(--cew-oec-diamond-size);
	background:var(--cew-oec-diamond);
	transform:translate(50%,-50%) rotate(45deg);
}

.cew-oec-card-inner{
	position:relative;
	min-height:inherit;
	height:100%;
	padding:46px 24px 24px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
}
.cew-oec-card-top,
.cew-oec-card-bottom{
	position:relative;
	z-index:5;
}
.cew-oec-year{
	color:#555;
	font-size:18px;
	line-height:1.2;
}
.cew-oec-title{
	margin:10px 0 0;
	color:#111;
	font-size:28px;
	line-height:1.08;
	font-weight:500;
	letter-spacing:-.03em;
}
.cew-oec-card-description{
	margin-top:72px;
	color:#6a6a6a;
	font-size:15px;
	line-height:1.45;
}
.cew-oec-link{
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin-top:18px;
	color:#111;
	text-decoration:none!important;
	font-size:14px;
	line-height:1.2;
}
.cew-oec-link-arrow{
	font-size:17px;
	line-height:1;
	transition:transform .2s ease;
}
.cew-oec-link:hover .cew-oec-link-arrow{
	transform:translateX(4px);
}

/* Highlighted card */
.cew-oec-card.is-active{
	background:#13052f;
	--cew-oec-diamond:#d212dc;
}
.cew-oec-card.is-active .cew-oec-year,
.cew-oec-card.is-active .cew-oec-title,
.cew-oec-card.is-active .cew-oec-link{
	color:#fff;
}
.cew-oec-card.is-active .cew-oec-card-description{
	color:#f0edf5;
}

/* arrows bottom-right */
.cew-oec-controls{
	display:flex;
	justify-content:flex-end;
	align-items:center;
	gap:8px;
	margin-top:20px;
	padding:0 24px;
}
.cew-oec-arrow{
	width:42px;
	height:42px;
	padding:0;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border:1px solid #bfbfbf;
	border-radius:0;
	background:#fff;
	color:#111;
	cursor:pointer;
	transition:background .2s ease,color .2s ease,border-color .2s ease,opacity .2s ease;
}
.cew-oec-arrow:hover{
	background:#13052f;
	color:#fff;
}
.cew-oec-arrow:disabled{
	opacity:.35;
	cursor:default;
}
.cew-oec-arrow i{font-size:16px}
.cew-oec-arrow svg{width:16px;height:16px;fill:currentColor}

.cew-oec-empty{
	margin:0 24px;
	padding:18px;
	border:1px dashed #ccc;
	background:#fafafa;
	color:#666;
	font-size:13px;
}

/*
 * Because Elementor widgets may sit inside boxed containers, JS also writes
 * --cew-oec-card-width in pixels from the live viewport. That value takes
 * priority when available and keeps the diamonds exactly on the card joins.
 */
.cew-oec.has-measured-width .cew-oec-card{
	flex-basis:var(--cew-oec-card-width);
	width:var(--cew-oec-card-width);
}

@media(max-width:1024px){
	.cew-oec{--cew-oec-per-view:2}
	.cew-oec-header{padding:48px 20px 36px}
	.cew-oec-heading{font-size:34px}
	.cew-oec-card{min-height:350px}
	.cew-oec-title{font-size:25px}
	.cew-oec-card-description{margin-top:54px}
}

@media(max-width:767px){
	.cew-oec{
		--cew-oec-per-view:1;
		padding-bottom:24px;
	}
	.cew-oec-header{
		padding:38px 18px 30px;
		text-align:left;
	}
	.cew-oec-header-inner{
		max-width:none;
	}
	.cew-oec-heading{
		font-size:31px;
	}
	.cew-oec-description{
		font-size:14px;
		margin-top:14px;
	}
	.cew-oec-card{
		min-height:390px;
	}
	.cew-oec-card-inner{
		padding:46px 22px 24px;
	}
	.cew-oec-title{
		font-size:27px;
	}
	.cew-oec-card-description{
		margin-top:46px;
		font-size:14px;
	}
	.cew-oec-controls{
		padding:0 18px;
	}
}


/* v3.80 — clickable active-card state */
.cew-oec-card{
	cursor:pointer;
	outline:none;
}
.cew-oec-card:focus-visible{
	outline:2px solid var(--cew-oec-diamond);
	outline-offset:-2px;
}
.cew-oec-card .cew-oec-link{
	cursor:pointer;
}


/* v3.81 — Learn More is always visible at the bottom of every card */
.cew-oec-card-bottom{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
}
.cew-oec-link{
	flex:0 0 auto;
	white-space:nowrap;
}
.cew-oec-link-static{
	pointer-events:none;
}
