/**
 * La Guelaguetza 2026 — El Reto de las Ocho Regiones.
 * All selectors are scoped to the campaign root to protect the evergreen site.
 */

.oeu-challenge {
	--challenge-indigo: #24104f;
	--challenge-indigo-deep: #16072f;
	--challenge-magenta: #c81e68;
	--challenge-orange: #f47b2a;
	--challenge-gold: #ffc44f;
	--challenge-green: #16875b;
	--challenge-turquoise: #0d8f96;
	--challenge-ink: #241a32;
	--challenge-muted: #61576d;
	--challenge-cream: #fffaf0;
	--challenge-lilac: #f4effb;
	--challenge-line: rgba(36, 16, 79, 0.14);
	--challenge-shadow: 0 22px 52px rgba(36, 16, 79, 0.14);
	background: var(--challenge-cream);
	color: var(--challenge-ink);
	inline-size: 100%;
	overflow: clip;
}

.oeu-challenge__preview-notice {
	display: flex;
	position: relative;
	z-index: 20;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	padding: 0.7rem 1rem;
	border-bottom: 2px solid #5a2b82;
	background: #fff4c7;
	color: #32144f;
	font-size: 0.9rem;
	text-align: center;
}

.oeu-challenge__preview-notice span {
	font-weight: 600;
}

.oeu-challenge *,
.oeu-challenge *::before,
.oeu-challenge *::after {
	box-sizing: border-box;
}

.oeu-challenge [hidden] {
	display: none !important;
}

.oeu-challenge img,
.oeu-challenge iframe {
	display: block;
	max-inline-size: 100%;
}

.oeu-challenge a:focus-visible,
.oeu-challenge button:focus-visible {
	outline: 4px solid var(--challenge-gold);
	outline-offset: 4px;
}

.oeu-challenge__shell {
	inline-size: min(1180px, calc(100% - 40px));
	margin-inline: auto;
}

.oeu-challenge__hero {
	position: relative;
	padding-block: clamp(28px, 5vw, 72px);
	background:
		radial-gradient(circle at 8% 12%, rgba(13, 143, 150, 0.55), transparent 30%),
		radial-gradient(circle at 90% 92%, rgba(200, 30, 104, 0.55), transparent 34%),
		linear-gradient(135deg, var(--challenge-indigo-deep), var(--challenge-indigo) 58%, #42146c);
	color: #fff;
}

.oeu-challenge__hero::before,
.oeu-challenge__hero::after {
	position: absolute;
	content: "";
	pointer-events: none;
}

.oeu-challenge__hero::before {
	inset: 0;
	background-image:
		linear-gradient(45deg, transparent 47%, rgba(255, 255, 255, 0.06) 48%, rgba(255, 255, 255, 0.06) 52%, transparent 53%),
		linear-gradient(-45deg, transparent 47%, rgba(255, 196, 79, 0.06) 48%, rgba(255, 196, 79, 0.06) 52%, transparent 53%);
	background-size: 34px 34px;
	mask-image: linear-gradient(to bottom, #000, transparent 88%);
}

.oeu-challenge__hero::after {
	inset-inline: 0;
	bottom: -1px;
	height: 26px;
	background: linear-gradient(135deg, transparent 12px, var(--challenge-cream) 0) 0 0 / 24px 24px repeat-x;
}

.oeu-challenge__hero .oeu-challenge__shell {
	position: relative;
	z-index: 1;
}

.oeu-challenge__language {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	min-block-size: 44px;
	margin-block-end: 18px;
	font-size: 0.875rem;
	font-weight: 750;
}

.oeu-challenge__language > span {
	color: rgba(255, 255, 255, 0.78);
}

.oeu-challenge__language .language-switcher {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 999px;
	background: rgba(11, 3, 28, 0.36);
}

.oeu-challenge__language .language-switcher a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-block-size: 34px;
	padding-inline: 13px;
	border-radius: 999px;
	color: #fff;
	text-decoration: none;
}

.oeu-challenge__language .language-switcher a[aria-current="page"] {
	background: var(--challenge-gold);
	color: var(--challenge-indigo-deep);
}

.oeu-challenge__language .language-switcher > span {
	display: none;
}

.oeu-challenge__hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(300px, 0.85fr);
	align-items: stretch;
	gap: clamp(24px, 4vw, 54px);
}

.oeu-challenge__banner {
	position: relative;
	display: grid;
	place-items: center;
	min-inline-size: 0;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 24px;
	background: #0f0823;
	box-shadow: 0 28px 70px rgba(8, 2, 21, 0.42);
}

.oeu-challenge__banner > img {
	inline-size: 100%;
	block-size: 100%;
	max-block-size: 650px;
	object-fit: contain;
}

.oeu-challenge__banner--placeholder {
	min-block-size: 470px;
}

.oeu-challenge__brand-panel {
	position: relative;
	display: grid;
	place-content: center;
	gap: 5px;
	inline-size: 100%;
	block-size: 100%;
	min-block-size: 470px;
	padding: 40px;
	overflow: hidden;
	background:
		radial-gradient(circle at 18% 20%, var(--challenge-turquoise) 0 10%, transparent 10.5%),
		radial-gradient(circle at 82% 18%, var(--challenge-orange) 0 12%, transparent 12.5%),
		radial-gradient(circle at 74% 83%, var(--challenge-green) 0 14%, transparent 14.5%),
		linear-gradient(145deg, #35136f, #8f1c72);
	color: #fff;
	text-align: center;
}

.oeu-challenge__brand-panel::before,
.oeu-challenge__brand-panel::after {
	position: absolute;
	content: "";
	inline-size: 220px;
	block-size: 220px;
	border: 26px double rgba(255, 255, 255, 0.13);
	transform: rotate(45deg);
}

.oeu-challenge__brand-panel::before {
	top: -104px;
	left: -104px;
}

.oeu-challenge__brand-panel::after {
	right: -104px;
	bottom: -104px;
}

.oeu-challenge__brand-panel span,
.oeu-challenge__brand-panel small {
	position: relative;
	z-index: 1;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.oeu-challenge__brand-panel strong {
	position: relative;
	z-index: 1;
	font-size: clamp(7rem, 19vw, 13rem);
	line-height: 0.9;
	color: var(--challenge-gold);
	text-shadow: 6px 6px 0 var(--challenge-magenta);
}

.oeu-challenge__hero-copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	min-inline-size: 0;
}

.oeu-challenge__eyebrow {
	margin: 0 0 10px;
	color: var(--challenge-magenta);
	font-size: 0.82rem;
	font-weight: 850;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.oeu-challenge__hero .oeu-challenge__eyebrow,
.oeu-challenge__leaderboard .oeu-challenge__eyebrow,
.oeu-challenge__final .oeu-challenge__eyebrow {
	color: var(--challenge-gold);
}

.oeu-challenge__hero h1 {
	margin: 0;
	color: #fff;
	font-size: clamp(2.2rem, 4.7vw, 4.9rem);
	font-weight: 900;
	letter-spacing: -0.045em;
	line-height: 0.98;
}

.oeu-challenge__hero h1 span,
.oeu-challenge__hero h1 strong {
	display: block;
}

.oeu-challenge__hero h1 strong {
	margin-block-start: 10px;
	color: var(--challenge-gold);
	font-size: 0.52em;
	font-weight: 850;
	letter-spacing: -0.02em;
	line-height: 1.08;
}

.oeu-challenge__motto {
	margin: 26px 0 10px;
	color: #fff;
	font-size: clamp(1.08rem, 2vw, 1.35rem);
	font-weight: 850;
}

.oeu-challenge__hero h2 {
	margin: 0 0 12px;
	color: #fff;
	font-size: clamp(1.55rem, 2.8vw, 2.35rem);
	line-height: 1.06;
}

.oeu-challenge__hero-copy > p:not(.oeu-challenge__eyebrow, .oeu-challenge__motto, .oeu-challenge__admin-note) {
	margin: 0 0 24px;
	color: rgba(255, 255, 255, 0.88);
	font-size: 1.04rem;
	line-height: 1.68;
}

.oeu-challenge__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-block-size: 48px;
	padding: 12px 20px;
	border: 2px solid transparent;
	border-radius: 999px;
	font-size: 0.92rem;
	font-weight: 850;
	letter-spacing: 0.015em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.oeu-challenge__button:hover {
	transform: translateY(-2px);
	text-decoration: none;
}

.oeu-challenge__button.is-disabled,
.oeu-challenge__button[aria-disabled="true"] {
	cursor: not-allowed;
	filter: grayscale(0.35);
	opacity: 0.72;
	transform: none;
}

.oeu-challenge__button--hero,
.oeu-challenge__button--final,
.oeu-challenge__button--sticky {
	background: var(--challenge-gold);
	box-shadow: 0 12px 28px rgba(255, 196, 79, 0.25);
	color: var(--challenge-indigo-deep);
}

.oeu-challenge__button--hero:hover,
.oeu-challenge__button--final:hover,
.oeu-challenge__button--sticky:hover {
	background: #ffd77d;
	color: var(--challenge-indigo-deep);
}

.oeu-challenge__button--secondary,
.oeu-challenge__button--region {
	background: var(--challenge-indigo);
	color: #fff;
}

.oeu-challenge__button--secondary:hover,
.oeu-challenge__button--region:hover {
	background: #3a1877;
	color: #fff;
}

.oeu-challenge__button--light {
	background: #fff;
	color: var(--challenge-indigo);
}

.oeu-challenge__button--light:hover {
	background: var(--challenge-gold);
	color: var(--challenge-indigo-deep);
}

.oeu-challenge__privacy-link {
	display: inline-flex;
	align-items: center;
	min-block-size: 44px;
	margin-block-start: 8px;
	color: rgba(255, 255, 255, 0.88);
	font-size: 0.9rem;
	font-weight: 700;
	text-underline-offset: 4px;
}

.oeu-challenge__button--hero-secondary {
	background: transparent;
	border: 2px solid rgba(255, 255, 255, 0.78);
	color: #fff;
}

.oeu-challenge__hero-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 14px;
	margin-block: 4px 2px;
}

.oeu-challenge__hero-actions .oeu-challenge__button {
	flex: 1 1 220px;
	min-inline-size: 0;
	padding-inline: 24px;
}

.oeu-challenge__fundraise {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 12% 12%, rgba(255, 196, 79, 0.26), transparent 30rem),
		linear-gradient(135deg, #fffaf0 0%, #f4effb 48%, #fff4e6 100%);
}

.oeu-challenge__fundraise-photo-strip {
	position: absolute;
	inset: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	opacity: 0.18;
	filter: saturate(1.08);
	pointer-events: none;
}

.oeu-challenge__fundraise-photo-strip::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(255,250,240,.9), rgba(244,239,251,.72) 48%, rgba(255,244,230,.88));
}

.oeu-challenge__fundraise-photo-strip img {
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: cover;
}

.oeu-challenge__fundraise > .oeu-challenge__shell {
	position: relative;
	z-index: 1;
}

.oeu-challenge__fundraise-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

.oeu-challenge__fundraise-grid article {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(1.3rem, 3vw, 2rem);
	border: 1px solid var(--challenge-line);
	border-radius: 1.4rem;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: var(--challenge-shadow);
}

.oeu-challenge__fundraise-grid article > span {
	display: grid;
	width: 2.6rem;
	height: 2.6rem;
	margin-bottom: 1rem;
	place-items: center;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--challenge-magenta), var(--challenge-orange));
	color: #fff;
	font-weight: 900;
}

.oeu-challenge__fundraise-grid h3 {
	margin: 0 0 0.55rem;
	font-size: clamp(1.2rem, 2.5vw, 1.55rem);
}

.oeu-challenge__fundraise-grid p {
	flex: 1;
}

.oeu-challenge__fundraise-note {
	margin: 1.25rem 0 0;
	font-size: 0.9rem;
	color: var(--challenge-muted);
}

@media (max-width: 800px) {
	.oeu-challenge__button--hero-secondary {
		margin: 0;
	}

	.oeu-challenge__fundraise-grid {
		grid-template-columns: 1fr;
	}

	.oeu-challenge__fundraise-photo-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

.oeu-challenge__video {
	padding-block: clamp(56px, 8vw, 96px);
	background:
		radial-gradient(circle at 12% 15%, rgba(200, 30, 104, 0.26), transparent 34%),
		linear-gradient(135deg, var(--challenge-indigo-deep), var(--challenge-indigo) 58%, #42146c);
	color: #fff;
}

.oeu-challenge__video-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
	align-items: center;
	gap: clamp(34px, 6vw, 78px);
}

.oeu-challenge__video-copy h2 {
	margin: 12px 0 20px;
	color: #fff;
	font-size: clamp(2.5rem, 5vw, 4.8rem);
	letter-spacing: -0.035em;
	line-height: 0.96;
}

.oeu-challenge__video-copy > p:not(.oeu-challenge__eyebrow) {
	margin: 0 0 28px;
	color: rgba(255, 255, 255, 0.84);
	line-height: 1.72;
}

.oeu-challenge__video-player {
	position: relative;
	min-inline-size: 0;
	padding-block-start: calc(56.25% + 43px);
	overflow: hidden;
	border-radius: 18px;
	background: #050509;
	box-shadow: 0 28px 70px rgba(0, 0, 0, 0.36);
}

.oeu-challenge__video-player iframe {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	border: 0;
}

.oeu-challenge .event-countdown {
	display: grid;
	position: relative;
	isolation: isolate;
	align-items: center;
	min-block-size: 600px;
	overflow: hidden;
	background:
		radial-gradient(circle at 15% 30%, rgba(13, 143, 150, 0.5), transparent 32%),
		radial-gradient(circle at 82% 72%, rgba(200, 30, 104, 0.48), transparent 34%),
		var(--challenge-indigo-deep);
	color: #fff;
}

.oeu-challenge .event-countdown-media,
.oeu-challenge .event-countdown-shade {
	position: absolute;
	inset: 0;
}

.oeu-challenge .event-countdown-media {
	z-index: 0;
	background: transparent;
}

.oeu-challenge .event-countdown-media img {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	object-position: center;
	opacity: 0;
	transition: opacity 900ms ease;
}

.oeu-challenge .event-countdown-media img.is-active {
	opacity: 1;
}

.oeu-challenge .event-countdown-shade {
	z-index: 1;
	background:
		linear-gradient(90deg, rgba(22, 7, 47, 0.9), rgba(74, 11, 77, 0.68), rgba(22, 7, 47, 0.9)),
		linear-gradient(0deg, rgba(22, 7, 47, 0.86), rgba(22, 7, 47, 0.32) 55%, rgba(22, 7, 47, 0.76));
}

.oeu-challenge .event-countdown-inner {
	position: relative;
	z-index: 2;
	inline-size: min(1180px, calc(100% - 40px));
	padding-block: clamp(76px, 10vw, 120px);
	text-align: center;
}

.oeu-challenge .event-countdown-inner .oeu-challenge__eyebrow {
	margin-block-end: 12px;
	color: var(--challenge-gold);
}

.oeu-challenge .event-countdown-inner h2 {
	max-inline-size: 980px;
	margin: 0 auto 16px;
	color: #fff;
	font-size: clamp(3rem, 7vw, 6.4rem);
	font-weight: 900;
	letter-spacing: -0.045em;
	line-height: 0.94;
}

.oeu-challenge .event-countdown-inner > time {
	display: block;
	margin-block-end: 38px;
	color: rgba(255, 255, 255, 0.86);
	font-size: clamp(0.88rem, 1.7vw, 1.05rem);
	font-weight: 750;
}

.oeu-challenge .event-countdown-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	inline-size: min(920px, 100%);
	margin-inline: auto;
	border: 1px solid rgba(255, 255, 255, 0.3);
	background: rgba(255, 255, 255, 0.3);
	box-shadow: 0 28px 80px rgba(0, 0, 0, 0.3);
}

.oeu-challenge .event-countdown-grid > div {
	min-inline-size: 0;
	padding: clamp(20px, 4vw, 36px) 12px;
	background: rgba(22, 7, 47, 0.75);
	backdrop-filter: blur(8px);
}

.oeu-challenge .event-countdown-grid strong,
.oeu-challenge .event-countdown-grid span {
	display: block;
}

.oeu-challenge .event-countdown-grid strong {
	font-size: clamp(3.3rem, 7vw, 6.3rem);
	font-variant-numeric: tabular-nums;
	font-weight: 900;
	letter-spacing: -0.045em;
	line-height: 0.82;
}

.oeu-challenge .event-countdown-grid span {
	margin-block-start: 17px;
	color: var(--challenge-gold);
	font-size: 0.7rem;
	font-weight: 900;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.oeu-challenge .event-countdown-state {
	max-inline-size: 680px;
	margin-inline: auto;
}

.oeu-challenge .event-countdown-state p {
	margin: 0 0 28px;
	color: rgba(255, 255, 255, 0.9);
	font-size: clamp(1.05rem, 2vw, 1.28rem);
}

.oeu-challenge .event-countdown-motion {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-block-size: 44px;
	margin-block-start: 24px;
	padding: 8px 14px;
	border: 1px solid rgba(255, 255, 255, 0.58);
	border-radius: 999px;
	background: rgba(22, 7, 47, 0.72);
	color: #fff;
	cursor: pointer;
	font-size: 0.76rem;
	font-weight: 850;
}

.oeu-challenge .event-countdown-motion:hover {
	background: rgba(22, 7, 47, 0.94);
}

.oeu-challenge .event-countdown-motion span {
	inline-size: 1em;
	line-height: 1;
}

.oeu-challenge__section {
	padding-block: clamp(66px, 8vw, 112px);
}

.oeu-challenge__section-heading {
	max-inline-size: 760px;
	margin-block-end: clamp(28px, 4vw, 48px);
}

.oeu-challenge__section-heading h2,
.oeu-challenge__notice-card h2,
.oeu-challenge__event h2,
.oeu-challenge__final h2 {
	margin: 0;
	color: var(--challenge-indigo);
	font-size: clamp(2rem, 4.4vw, 3.75rem);
	font-weight: 900;
	letter-spacing: -0.035em;
	line-height: 1.02;
}

.oeu-challenge__section-heading > p:last-child {
	margin: 18px 0 0;
	color: var(--challenge-muted);
	font-size: 1.05rem;
	line-height: 1.7;
}

.oeu-challenge__summary {
	background: var(--challenge-cream);
}

.oeu-challenge__metrics {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 0 0 34px;
}

.oeu-challenge__metric {
	min-inline-size: 0;
	padding: 20px;
	border: 1px solid var(--challenge-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 22px rgba(36, 16, 79, 0.06);
}

.oeu-challenge__metric dt {
	margin-block-end: 10px;
	color: var(--challenge-muted);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.055em;
	text-transform: uppercase;
}

.oeu-challenge__metric dd {
	margin: 0;
	color: var(--challenge-indigo);
	font-weight: 850;
}

.oeu-challenge__updating {
	display: inline-block;
	position: relative;
	padding-inline-start: 17px;
	color: var(--challenge-muted);
	font-size: 0.88rem;
	font-weight: 700;
}

.oeu-challenge__updating::before {
	position: absolute;
	top: 50%;
	left: 0;
	inline-size: 9px;
	block-size: 9px;
	border-radius: 50%;
	background: var(--challenge-turquoise);
	content: "";
	transform: translateY(-50%);
	animation: oeu-challenge-pulse 1.5s ease-in-out infinite;
}

@keyframes oeu-challenge-pulse {
	0%, 100% { opacity: 0.35; transform: translateY(-50%) scale(0.8); }
	50% { opacity: 1; transform: translateY(-50%) scale(1.1); }
}

.oeu-challenge__embed {
	position: relative;
	inline-size: 100%;
	min-inline-size: 0;
	overflow: hidden;
	border: 1px solid var(--challenge-line);
	border-radius: 22px;
	background: #fff;
	box-shadow: var(--challenge-shadow);
}

.oeu-challenge__embed > div:not(.oeu-challenge__embed-fallback),
.oeu-challenge__embed iframe {
	inline-size: 100% !important;
	max-inline-size: 100% !important;
}

.oeu-challenge__embed iframe {
	min-block-size: 360px;
	border: 0;
}

.oeu-challenge__embed--campaign iframe {
	min-block-size: 500px;
}

.oeu-challenge__embed--leaderboard iframe {
	min-block-size: 620px;
}

.oeu-challenge__embed--thermometer iframe {
	min-block-size: 330px;
}

.oeu-challenge__embed.has-error iframe {
	position: absolute;
	inline-size: 1px !important;
	block-size: 1px;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	white-space: nowrap;
}

.oeu-challenge__embed-fallback,
.oeu-challenge__fallback {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	min-block-size: 150px;
	padding: clamp(22px, 4vw, 38px);
	border: 1px solid var(--challenge-line);
	border-radius: 20px;
	background: #fff;
}

.oeu-challenge__embed-fallback p,
.oeu-challenge__fallback p {
	flex: 1 1 340px;
	margin: 0;
	line-height: 1.65;
}

.oeu-challenge__regions {
	background: var(--challenge-lilac);
}

.oeu-challenge__region-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	gap: 20px;
}

.oeu-challenge__region-card {
	display: flex;
	flex-direction: column;
	min-inline-size: 0;
	overflow: hidden;
	border: 1px solid rgba(36, 16, 79, 0.12);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 14px 32px rgba(36, 16, 79, 0.09);
}

.oeu-challenge__region-card.is-leader {
	border: 3px solid var(--challenge-gold);
}

.oeu-challenge__region-media {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--challenge-indigo);
}

.oeu-challenge__region-media img {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

.oeu-challenge__region-symbol {
	position: relative;
	display: grid;
	place-content: center;
	gap: 8px;
	inline-size: 100%;
	block-size: 100%;
	overflow: hidden;
	background:
		radial-gradient(circle at 18% 20%, rgba(255, 196, 79, 0.8) 0 12%, transparent 12.5%),
		radial-gradient(circle at 83% 80%, rgba(13, 143, 150, 0.7) 0 18%, transparent 18.5%),
		linear-gradient(145deg, var(--challenge-indigo), #71105b);
	color: #fff;
	text-align: center;
}

.oeu-challenge__region-symbol::after {
	position: absolute;
	inset: 12px;
	border: 2px solid rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	content: "";
}

.oeu-challenge__region-symbol span {
	position: relative;
	z-index: 1;
	color: var(--challenge-gold);
	font-size: clamp(4rem, 8vw, 6.5rem);
	font-weight: 900;
	line-height: 0.85;
}

.oeu-challenge__region-symbol small {
	position: relative;
	z-index: 1;
	padding-inline: 20px;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.oeu-challenge__leader-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 7px 10px;
	border-radius: 999px;
	background: var(--challenge-gold);
	color: var(--challenge-indigo-deep);
	font-size: 0.7rem;
	font-weight: 900;
	letter-spacing: 0.055em;
}

.oeu-challenge__region-content {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: stretch;
	padding: 20px;
}

.oeu-challenge__region-content h3 {
	min-block-size: 2.5em;
	margin: 0 0 18px;
	color: var(--challenge-indigo);
	font-size: 1.23rem;
	line-height: 1.16;
}

.oeu-challenge__region-stats {
	display: grid;
	gap: 10px;
	margin: 0 0 18px;
}

.oeu-challenge__region-stats > div {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding-block-end: 8px;
	border-bottom: 1px solid rgba(36, 16, 79, 0.08);
}

.oeu-challenge__region-stats dt {
	color: var(--challenge-muted);
	font-size: 0.75rem;
	font-weight: 750;
}

.oeu-challenge__region-stats dd {
	max-inline-size: 54%;
	margin: 0;
	color: var(--challenge-indigo);
	font-size: 0.74rem;
	font-weight: 800;
	text-align: end;
}

.oeu-challenge__progress-pending {
	margin-block: auto 18px;
}

.oeu-challenge__progress-pending > span {
	display: block;
	position: relative;
	block-size: 10px;
	overflow: hidden;
	border-radius: 999px;
	background: #e9e2f2;
}

.oeu-challenge__progress-pending > span::after {
	position: absolute;
	inset-block: 0;
	left: -40%;
	inline-size: 35%;
	border-radius: inherit;
	background: linear-gradient(90deg, transparent, rgba(13, 143, 150, 0.65), transparent);
	content: "";
	animation: oeu-challenge-progress 1.8s ease-in-out infinite;
}

@keyframes oeu-challenge-progress {
	to { left: 110%; }
}

.oeu-challenge__progress-pending small {
	display: block;
	margin-block-start: 8px;
	color: var(--challenge-muted);
	font-size: 0.72rem;
	line-height: 1.35;
}

.oeu-challenge__button--region {
	inline-size: 100%;
}

.oeu-challenge__leaderboard {
	background:
		radial-gradient(circle at 95% 12%, rgba(200, 30, 104, 0.5), transparent 30%),
		linear-gradient(145deg, var(--challenge-indigo-deep), var(--challenge-indigo));
	color: #fff;
}

.oeu-challenge__brand-panel {
	background:
		radial-gradient(circle at 88% 8%, rgb(255 197 61 / 35%), transparent 28%),
		linear-gradient(145deg, #46105f 0%, #8b174f 48%, #da4b22 100%);
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: 1.15rem;
	justify-content: center;
	min-height: 31rem;
	padding: clamp(1.5rem, 4vw, 3.5rem);
}

.oeu-challenge__brand-panel > strong {
	font-size: clamp(2.55rem, 6vw, 5.75rem);
	letter-spacing: -.055em;
	line-height: .92;
	max-width: 9ch;
	text-wrap: balance;
}

.oeu-challenge__race-kicker,
.oeu-challenge__brand-panel > b {
	font-size: .86rem;
	font-weight: 800;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.oeu-challenge__race-track {
	display: grid;
	gap: .45rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.oeu-challenge__race-track small {
	background: rgb(255 255 255 / 13%);
	border: 1px solid rgb(255 255 255 / 35%);
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 750;
	padding: .55rem .75rem;
}

.oeu-challenge__comparison {
	background: #fff;
	border-radius: 1.25rem;
	box-shadow: 0 1.2rem 3rem rgb(23 4 38 / 24%);
	color: #24102d;
	margin: 2rem 0;
	padding: clamp(1rem, 3vw, 2rem);
}

.oeu-challenge__comparison-controls {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem;
	margin-bottom: 1.5rem;
}

.oeu-challenge__comparison-controls button {
	background: #f0e9f2;
	border: 0;
	border-radius: 999px;
	color: #46105f;
	cursor: pointer;
	font: inherit;
	font-weight: 800;
	padding: .7rem 1.05rem;
}

.oeu-challenge__comparison-controls button.is-active {
	background: #61106f;
	color: #fff;
}

.oeu-challenge__comparison-controls button:focus-visible {
	outline: 3px solid #f5ad18;
	outline-offset: 3px;
}

.oeu-challenge__race-bars {
	display: grid;
	gap: .8rem;
	margin: 1.25rem 0;
}

.oeu-challenge__race-bars > div {
	align-items: center;
	display: grid;
	gap: .65rem;
	grid-template-columns: minmax(8rem, 1.2fr) minmax(7rem, 3fr) minmax(7.5rem, auto);
}

.oeu-challenge__race-bars span,
.oeu-challenge__race-bars strong {
	font-size: .88rem;
}

.oeu-challenge__race-bars i {
	background: #ede8ef;
	border-radius: 999px;
	height: .9rem;
	overflow: hidden;
}

.oeu-challenge__race-bars i b {
	background: linear-gradient(90deg, #ee7425, #ca205b, #641074);
	display: block;
	height: 100%;
	width: 4%;
}

.oeu-challenge__goal-rule {
	background: #fff5db;
	border-left: .3rem solid #e99b08;
	border-radius: .4rem;
	color: #3c2734;
	padding: 1rem;
}

.oeu-challenge__table-scroll {
	overflow-x: auto;
}

.oeu-challenge__table-scroll table {
	border-collapse: collapse;
	min-width: 42rem;
	width: 100%;
}

.oeu-challenge__table-scroll th,
.oeu-challenge__table-scroll td {
	border-bottom: 1px solid #ded3e1;
	padding: .85rem;
	text-align: left;
}

@media (max-width: 640px) {
	.oeu-challenge__brand-panel {
		min-height: 27rem;
	}

	.oeu-challenge__race-bars > div {
		grid-template-columns: 1fr auto;
	}

	.oeu-challenge__race-bars i {
		grid-column: 1 / -1;
		grid-row: 2;
	}
}

.oeu-challenge__section-heading--light h2,
.oeu-challenge__section-heading--light > p:last-child {
	color: #fff;
}

.oeu-challenge__fallback--dark {
	border-color: rgba(255, 255, 255, 0.24);
	background: rgba(255, 255, 255, 0.09);
	color: #fff;
}

.oeu-challenge__closed-results {
	margin-block-start: 22px;
	padding: clamp(22px, 4vw, 36px);
	border: 2px solid var(--challenge-gold);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
}

.oeu-challenge__closed-results strong {
	display: inline-block;
	margin-block-end: 8px;
	color: var(--challenge-gold);
	font-size: 1.15rem;
	letter-spacing: 0.05em;
}

.oeu-challenge__closed-results p {
	margin: 7px 0 0;
}

.oeu-challenge__split {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	align-items: center;
	gap: clamp(30px, 6vw, 72px);
}

.oeu-challenge__split .oeu-challenge__section-heading {
	margin: 0;
}

.oeu-challenge__impact {
	background: #fff;
}

.oeu-challenge__impact-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.oeu-challenge__impact-grid li {
	padding: clamp(22px, 3vw, 30px);
	border: 1px solid var(--challenge-line);
	border-radius: 18px;
	background: var(--challenge-cream);
}

.oeu-challenge__impact-grid li > span {
	display: grid;
	place-items: center;
	inline-size: 54px;
	block-size: 54px;
	margin-block-end: 18px;
	border-radius: 16px;
	background: var(--challenge-indigo);
	font-size: 1.65rem;
}

.oeu-challenge__impact-grid li:nth-child(2) > span { background: var(--challenge-magenta); }
.oeu-challenge__impact-grid li:nth-child(3) > span { background: var(--challenge-green); }
.oeu-challenge__impact-grid li:nth-child(4) > span { background: var(--challenge-turquoise); }

.oeu-challenge__impact-grid p {
	margin: 0;
	font-weight: 700;
	line-height: 1.55;
}

.oeu-challenge__inspiration {
	background: linear-gradient(160deg, #fff4dc, #fffaf0 45%, #eaf7f4);
}

.oeu-challenge__traditions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 32px;
	margin: 0;
	padding-inline-start: 1.35rem;
	list-style: disc;
}

.oeu-challenge__traditions li {
	padding: 3px 0;
	color: var(--challenge-indigo);
	font-size: 1rem;
	font-weight: 750;
	line-height: 1.45;
}

.oeu-challenge__donor-notice {
	padding-block: clamp(40px, 6vw, 72px);
	background: var(--challenge-indigo);
}

.oeu-challenge__notice-card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 24px;
	padding: clamp(24px, 4vw, 44px);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
}

.oeu-challenge__notice-icon {
	display: grid;
	place-items: center;
	inline-size: 68px;
	block-size: 68px;
	border-radius: 50%;
	background: var(--challenge-gold);
	color: var(--challenge-magenta);
	font-size: 2rem;
}

.oeu-challenge__notice-card h2 {
	color: #fff;
	font-size: clamp(1.6rem, 3vw, 2.5rem);
}

.oeu-challenge__notice-card p {
	margin: 10px 0 0;
	color: rgba(255, 255, 255, 0.88);
	line-height: 1.65;
}

.oeu-challenge__event {
	background: #fff;
}

.oeu-challenge__event-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: clamp(30px, 7vw, 90px);
}

.oeu-challenge__event-date {
	margin: 18px 0 0;
	color: var(--challenge-magenta);
	font-size: 1.2rem;
	font-weight: 850;
}

.oeu-challenge__event-details {
	display: grid;
	gap: 14px;
}

.oeu-challenge__event-details > div {
	display: grid;
	gap: 5px;
	padding: 20px;
	border-left: 5px solid var(--challenge-turquoise);
	border-radius: 0 14px 14px 0;
	background: var(--challenge-lilac);
}

.oeu-challenge__event-details > div:nth-child(2) { border-left-color: var(--challenge-orange); }
.oeu-challenge__event-details > div:nth-child(3) { border-left-color: var(--challenge-green); }

.oeu-challenge__event-details span {
	color: var(--challenge-muted);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.oeu-challenge__event-details strong,
.oeu-challenge__event-details address {
	color: var(--challenge-indigo);
	font-style: normal;
	line-height: 1.45;
}

.oeu-challenge__final {
	padding-block: clamp(72px, 10vw, 130px);
	background:
		radial-gradient(circle at 10% 50%, rgba(13, 143, 150, 0.5), transparent 30%),
		radial-gradient(circle at 90% 50%, rgba(200, 30, 104, 0.5), transparent 30%),
		var(--challenge-indigo-deep);
	color: #fff;
	text-align: center;
}

.oeu-challenge__final h2 {
	max-inline-size: 780px;
	margin-inline: auto;
	color: #fff;
}

.oeu-challenge__final > .oeu-challenge__shell > p:not(.oeu-challenge__eyebrow) {
	max-inline-size: 600px;
	margin: 18px auto 28px;
	color: rgba(255, 255, 255, 0.86);
	font-size: 1.14rem;
	line-height: 1.6;
}

.oeu-challenge__admin-note {
	inline-size: 100%;
	margin: 14px 0 0;
	padding: 10px 12px;
	border: 1px dashed var(--challenge-orange);
	border-radius: 9px;
	background: #fff3df;
	color: #60380b !important;
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1.45;
}

.oeu-challenge__banner > .oeu-challenge__admin-note {
	position: absolute;
	right: 14px;
	bottom: 14px;
	left: 14px;
	inline-size: auto;
}

.oeu-challenge__sticky {
	display: none;
}

.oeu-challenge.is-voting-closed .oeu-challenge__privacy-link {
	display: none;
}

@media (max-width: 1080px) {
	.oeu-challenge__hero-grid {
		grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.9fr);
	}

	.oeu-challenge__region-grid,
	.oeu-challenge__impact-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 820px) {
	.oeu-challenge__shell {
		inline-size: min(100% - 30px, 680px);
	}

	.oeu-challenge__hero-grid,
	.oeu-challenge__video-grid,
	.oeu-challenge__split,
	.oeu-challenge__event-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.oeu-challenge__hero-copy {
		order: -1;
	}

	.oeu-challenge__banner--placeholder,
	.oeu-challenge__brand-panel {
		min-block-size: 360px;
	}

	.oeu-challenge__metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.oeu-challenge__split .oeu-challenge__section-heading {
		margin-block-end: 10px;
	}
}

@media (max-width: 600px) {
	.oeu-challenge {
		padding-block-end: 86px;
	}

	.oeu-challenge__preview-notice {
		align-items: stretch;
		flex-direction: column;
		gap: 0.15rem;
	}

	.oeu-challenge__shell {
		inline-size: calc(100% - 24px);
	}

	.oeu-challenge__hero {
		padding-block: 20px 54px;
	}

	.oeu-challenge__language {
		align-items: flex-end;
		justify-content: space-between;
		gap: 8px;
	}

	.oeu-challenge__language > span {
		max-inline-size: 105px;
	}

	.oeu-challenge__language .language-switcher {
		gap: 3px;
	}

	.oeu-challenge__language .language-switcher a {
		min-block-size: 36px;
		padding-inline: 10px;
	}

	.oeu-challenge__hero-grid {
		gap: 28px;
	}

	.oeu-challenge__hero h1 {
		font-size: clamp(2.25rem, 12vw, 3.5rem);
	}

	.oeu-challenge__hero h1 strong {
		font-size: 0.5em;
	}

	.oeu-challenge__button--hero {
		inline-size: 100%;
	}

	.oeu-challenge__banner,
	.oeu-challenge__banner--placeholder,
	.oeu-challenge__brand-panel {
		min-block-size: 260px;
		border-radius: 16px;
	}

	.oeu-challenge .event-countdown {
		min-block-size: 650px;
	}

	.oeu-challenge .event-countdown-inner {
		inline-size: calc(100% - 24px);
		padding-block: 66px;
	}

	.oeu-challenge .event-countdown-inner h2 {
		font-size: clamp(2.7rem, 13vw, 4.4rem);
	}

	.oeu-challenge .event-countdown-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.oeu-challenge .event-countdown-grid strong {
		font-size: clamp(3.4rem, 18vw, 5.5rem);
	}

	.oeu-challenge__section {
		padding-block: 58px;
	}

	.oeu-challenge__metrics,
	.oeu-challenge__region-grid,
	.oeu-challenge__impact-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.oeu-challenge__traditions {
		grid-template-columns: minmax(0, 1fr);
		gap: 5px;
	}

	.oeu-challenge__metric {
		padding: 16px;
	}

	.oeu-challenge__embed {
		border-radius: 14px;
	}

	.oeu-challenge__embed iframe,
	.oeu-challenge__embed--campaign iframe,
	.oeu-challenge__embed--leaderboard iframe,
	.oeu-challenge__embed--thermometer iframe {
		min-block-size: 520px;
	}

	.oeu-challenge__region-content h3 {
		min-block-size: auto;
	}

	.oeu-challenge__notice-card {
		grid-template-columns: minmax(0, 1fr);
	}

	.oeu-challenge__notice-icon {
		inline-size: 56px;
		block-size: 56px;
	}

	.oeu-challenge__sticky {
		display: block;
		position: fixed;
		z-index: 999;
		right: 0;
		bottom: 0;
		left: 0;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
		border-top: 1px solid rgba(255, 255, 255, 0.18);
		background: rgba(22, 7, 47, 0.94);
		box-shadow: 0 -8px 24px rgba(11, 3, 28, 0.24);
		backdrop-filter: blur(12px);
	}

	.oeu-challenge__button--sticky {
		inline-size: 100%;
		min-block-size: 52px;
	}
}

@media (max-width: 370px) {
	.oeu-challenge__language {
		align-items: stretch;
		flex-direction: column;
	}

	.oeu-challenge__language > span {
		max-inline-size: none;
	}

	.oeu-challenge__language .language-switcher {
		align-self: flex-start;
	}

	.oeu-challenge__region-content {
		padding: 17px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.oeu-challenge *,
	.oeu-challenge *::before,
	.oeu-challenge *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}

	.oeu-challenge__updating::before {
		opacity: 1;
	}

	.oeu-challenge__progress-pending > span::after {
		left: 32%;
	}
}

@media print {
	.oeu-challenge__sticky,
	.oeu-challenge__language {
		display: none !important;
	}

	.oeu-challenge {
		background: #fff;
		color: #000;
	}

	.oeu-challenge__section,
	.oeu-challenge__hero,
	.oeu-challenge__final {
		break-inside: avoid;
		background: #fff;
		color: #000;
	}
}
