/**
 * AIContestList — "How AIContestList works": About, Editorial Policy, Privacy, Terms,
 * Copyright (documents) and Submit / Report / Contact (forms). Tokens only.
 *
 * One idea carries the set: eight numbered chapters in the homepage's chapter voice —
 * outlined serif numerals, a sans headline turning into a serif-italic accent, the Iris
 * hairline. Editorial Light for reading (design-system §95); the set itself closes on the
 * dark surface that leads into the footer.
 *
 * Mobile first. Breakpoints: 768 (tablet) · 1024 (two columns) · 1280 (sticky index rail).
 */

/* ===============================================================
   CHAPTER HEADER
=============================================================== */
.acl .acl-sh {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(12px, 2vw, 24px) 0 clamp(36px, 6vw, 88px);
	background: var(--bg-page);
}

/* Editorial column lines — the directory hero's grid, felt more than seen */
.acl .acl-sh::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -2;
	background-image: linear-gradient(to right, var(--overlay-ink-03) 1px, transparent 1px);
	background-size: calc(100% / 6) 100%;
	-webkit-mask-image: linear-gradient(to bottom, #000 0%, transparent 92%);
	mask-image: linear-gradient(to bottom, #000 0%, transparent 92%);
}

/* The Iris horizon under the header */
.acl .acl-sh::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, var(--border-default) 12%, var(--border-default) 88%, transparent 100%);
}

.acl .acl-sh__stage {
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
}

.acl .acl-sh__glow {
	position: absolute;
	top: -48%;
	right: -14%;
	width: min(980px, 110vw);
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, var(--iris-12) 0%, rgba(88, 199, 255, .06) 38%, rgba(255, 121, 198, .03) 54%, transparent 68%);
}

/* The chapter numeral: outlined Instrument Serif, cropped by the header's edge. */
.acl .acl-sh__numeral {
	position: absolute;
	right: max(var(--space-4), calc(var(--gutter) * .5));
	bottom: -.18em;
	font-size: clamp(11rem, 34vw, 30rem);
	font-style: italic;
	line-height: .8;
	letter-spacing: -.04em;
	color: transparent;
	-webkit-text-stroke: 1px var(--iris-24);
	white-space: nowrap;
	user-select: none;
}

.acl .acl-sh__inner { position: relative; }

/* Site-page titles are short: keep "Home › Page" on one line on phones too. */
.acl .acl-sh .acl-breadcrumb__item--current { flex-basis: auto; }
.acl .acl-sh .acl-breadcrumb__item--current::before { display: block; }

.acl .acl-sh__grid {
	display: grid;
	gap: clamp(28px, 4vw, 56px);
	margin-top: clamp(20px, 4vw, 56px);
}

.acl .acl-sh__eyebrow {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-3);
	margin: 0 0 var(--space-5);
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--text-secondary);
}

.acl .acl-sh__count {
	display: inline-flex;
	align-items: center;
	gap: var(--space-3);
	color: var(--interactive-soft-text);
}

.acl .acl-sh__count::before {
	content: "";
	width: 28px;
	height: 1px;
	background: var(--gradient-ai);
}

.acl .acl-sh__title {
	width: fit-content;
	max-width: 100%;
	margin: 0;
	font-size: clamp(2.875rem, 8.2vw, 7.5rem);
	font-weight: 600;
	line-height: .92;
	letter-spacing: -.055em;
	overflow-wrap: anywhere;
}

.acl .acl-sh__lead,
.acl .acl-sh__accent { display: block; }

.acl .acl-sh__accent {
	font-style: italic;
	font-weight: 400;
	line-height: .98;
	letter-spacing: -.025em;
	padding: 0 .05em .1em 0;
}

/* Ink into Iris — the directory and Academy headlines' gradient, AA on porcelain */
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
	.acl .acl-sh__accent {
		background: linear-gradient(100deg, var(--acl-ink) 0%, var(--acl-ink) 20%, var(--acl-iris) 76%, var(--acl-iris-hover) 100%);
		-webkit-background-clip: text;
		background-clip: text;
		color: transparent;
	}
}

.acl .acl-sh__intro {
	max-width: 50ch;
	margin: clamp(20px, 2.4vw, 32px) 0 0;
	font-size: clamp(1.0625rem, .6vw + .92rem, 1.3125rem);
	line-height: 1.55;
	color: var(--text-secondary);
	text-wrap: pretty;
}

.acl .acl-sh__facts {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin: var(--space-6) 0 0;
	padding: 0;
	list-style: none;
}

.acl .acl-sh__facts li {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	min-height: 36px;
	padding: 0 var(--space-4);
	font-size: var(--text-sm);
	font-weight: 500;
	color: var(--text-primary);
	background: var(--bg-surface);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-pill);
}

.acl .acl-sh__facts li::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--interactive-primary);
}

/* "In short" — the page's answer, the one set piece */
.acl .acl-sh__answer {
	position: relative;
	align-self: end;
	max-width: 40rem;
	padding: clamp(20px, 2.4vw, 32px) clamp(20px, 2.4vw, 36px);
	background: rgba(255, 255, 255, .72);
	-webkit-backdrop-filter: saturate(1.3) blur(10px);
	backdrop-filter: saturate(1.3) blur(10px);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-2);
}

.acl .acl-sh__answer::before {
	content: "";
	position: absolute;
	left: -1px;
	top: clamp(20px, 2.4vw, 32px);
	bottom: clamp(20px, 2.4vw, 32px);
	width: 3px;
	border-radius: 0 3px 3px 0;
	background: linear-gradient(180deg, var(--acl-iris), var(--acl-ai-blue));
}

.acl .acl-sh__label {
	margin: 0 0 var(--space-3);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--interactive-soft-text);
}

.acl .acl-sh__text {
	margin: 0;
	font-size: clamp(1.375rem, 1vw + 1.05rem, 1.9rem);
	line-height: 1.3;
	letter-spacing: -.012em;
	color: var(--text-primary);
	text-wrap: pretty;
}

.acl .acl-sh__meta {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(0, auto);
	justify-content: start;
	margin: clamp(28px, 4vw, 56px) 0 0;
	padding: 0;
}

.acl .acl-sh__meta > div {
	min-width: 0;
	padding: 0 clamp(14px, 3vw, 40px);
	border-left: 1px solid var(--border-default);
}

.acl .acl-sh__meta > div:first-child { padding-left: 0; border-left: 0; }

@media (max-width: 479px) {
	.acl .acl-sh__meta dt { font-size: 10px; letter-spacing: .1em; }
	.acl .acl-sh__meta dd { font-size: var(--text-sm); }
}

.acl .acl-sh__meta dt {
	margin: 0 0 6px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--text-tertiary);
}

.acl .acl-sh__meta dd { margin: 0; font-size: var(--text-base); font-weight: 600; font-variant-numeric: tabular-nums; }

@media (min-width: 1024px) {
	.acl .acl-sh--doc .acl-sh__grid {
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
		align-items: end;
	}
}

.acl-js .acl .acl-sh [data-acl-stage] { animation: acl-rise var(--motion-hero) var(--ease-enter) both; }
.acl-js .acl .acl-sh [data-acl-stage="2"] { animation-delay: 80ms; }
.acl-js .acl .acl-sh [data-acl-stage="3"] { animation-delay: 170ms; }
.acl-js .acl .acl-sh [data-acl-stage="4"] { animation-delay: 250ms; }
.acl .acl-sh__numeral { animation: acl-light-in 1.2s var(--ease-enter) 180ms both; opacity: 0; }

@media (prefers-reduced-motion: reduce) {
	.acl-js .acl .acl-sh [data-acl-stage] { animation: none; }
	.acl .acl-sh__numeral { animation: none; opacity: 1; }
}

/* ===============================================================
   ABOUT — AIContestList today
=============================================================== */
.acl .acl-about-now {
	background: var(--bg-surface);
	border-bottom: 1px solid var(--border-default);
}

.acl .acl-about-now__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-2) var(--space-8);
	padding: var(--space-8) 0 var(--space-5);
}

.acl .acl-about-now__title { margin: 0; font-size: var(--text-lg); letter-spacing: -.01em; }
.acl .acl-about-now__asof { margin: 0; font-size: var(--text-sm); color: var(--text-secondary); }

.acl .acl-about-now__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--border-default);
}

.acl .acl-about-now__item { border-bottom: 1px solid var(--border-default); }
.acl .acl-about-now__item:nth-child(odd) { border-right: 1px solid var(--border-default); }

.acl .acl-about-now__link {
	display: grid;
	align-content: start;
	gap: var(--space-2);
	min-height: 100%;
	padding: var(--space-6) var(--space-5) var(--space-6) 0;
	color: var(--text-primary);
	transition: color var(--motion-base) var(--ease-standard);
}

.acl .acl-about-now__item:nth-child(even) .acl-about-now__link { padding-left: var(--space-5); }

.acl .acl-about-now__num {
	font-size: clamp(3rem, 7vw, 5.5rem);
	line-height: .9;
	letter-spacing: -.03em;
	font-variant-numeric: lining-nums;
}

.acl .acl-about-now__label { max-width: 22ch; font-size: var(--text-sm); line-height: 1.4; color: var(--text-secondary); }
.acl .acl-about-now__link:hover .acl-about-now__num { color: var(--text-link); }

@media (min-width: 1024px) {
	.acl .acl-about-now__list { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); border-bottom: 0; }
	.acl .acl-about-now__item { border-bottom: 0; border-right: 1px solid var(--border-default); }
	.acl .acl-about-now__item:last-child { border-right: 0; }
	.acl .acl-about-now__link,
	.acl .acl-about-now__item:nth-child(even) .acl-about-now__link { padding: var(--space-8) var(--space-6); }
	.acl .acl-about-now__item:first-child .acl-about-now__link { padding-left: 0; }
}

/* ===============================================================
   DOCUMENT — reading column, index, numbered sections
=============================================================== */
.acl .acl-doc {
	padding: 0 var(--gutter) var(--section-y-compact);
}

.acl .acl-doc__grid {
	max-width: 720px;
	margin-inline: auto;
	padding-top: clamp(8px, 2vw, 24px);
}

.acl .acl-doc__grid:not(.has-toc) { padding-top: clamp(40px, 5vw, 72px); }

/* "On this page": a sticky bar on phones and tablets that names the section being read. */
.acl .acl-doc__toc {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--header-h));
	z-index: 20;
	margin: 0 calc(var(--gutter) * -1) clamp(28px, 4vw, 48px);
}

.acl .acl-doc__toc .acl-toc__details {
	background: var(--glass-bg-solid);
	-webkit-backdrop-filter: saturate(1.4) blur(16px);
	backdrop-filter: saturate(1.4) blur(16px);
	border: 0;
	border-bottom: 1px solid var(--border-default);
}

.acl .acl-doc__toc .acl-toc__details[open] {
	background: var(--bg-page);
	box-shadow: 0 24px 48px rgba(8, 9, 11, .12);
}

.acl .acl-doc__toc .acl-toc__summary {
	position: relative;
	gap: var(--space-2);
	min-height: 52px;
	padding: 0 var(--gutter);
	font-size: var(--text-sm);
}

.acl .acl-doc__toc .acl-toc__title { flex: none; }

.acl .acl-doc__toc .acl-toc__now {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	font-weight: 500;
	color: var(--text-secondary);
	white-space: nowrap;
	text-overflow: ellipsis;
}

.acl .acl-doc__toc .acl-toc__now:not(:empty)::before { content: "· "; color: var(--text-tertiary); }
.acl .acl-doc__toc .acl-toc__now:not(:empty) + .acl-toc__count { display: none; }

.acl .acl-doc__toc .acl-toc__progress {
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 100%;
	height: 2px;
	background: var(--gradient-ai);
	transform: scaleX(var(--acl-p, 0));
	transform-origin: 0 50%;
	transition: transform 120ms linear;
}

.acl .acl-doc__toc .acl-toc__list {
	max-height: min(62vh, 440px);
	overflow-y: auto;
	padding: var(--space-2) var(--gutter) var(--space-4);
	overscroll-behavior: contain;
}

.acl .acl-doc__toc .acl-toc__link {
	gap: var(--space-3);
	border-left: 0;
	padding-left: 0;
	border-radius: var(--radius-xs);
}

.acl .acl-toc__num {
	flex: none;
	width: 1.75rem;
	font-family: var(--font-serif);
	font-size: var(--text-md);
	font-style: italic;
	line-height: 1;
	color: rgba(16, 17, 20, .6); /* a step lighter than the link text, still 4.5:1 */
	font-variant-numeric: lining-nums;
}

.acl .acl-doc__toc .acl-toc__link[aria-current] { color: var(--text-primary); }
.acl .acl-doc__toc .acl-toc__link[aria-current] .acl-toc__num { color: var(--interactive-soft-text); }

@media (min-width: 1280px) {
	.acl .acl-doc__grid.has-toc {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 720px) minmax(0, 1fr);
		column-gap: var(--space-16);
		max-width: var(--container-wide);
		padding-top: clamp(56px, 5vw, 88px);
	}

	.acl .acl-doc__grid.has-toc > .acl-doc__body { grid-column: 2; grid-row: 1; }

	.acl .acl-doc__toc {
		grid-column: 1;
		grid-row: 1;
		justify-self: end;
		width: min(260px, 100%);
		margin: 0;
		top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--header-h) + var(--space-8));
	}

	.acl .acl-doc__toc .acl-toc__details,
	.acl .acl-doc__toc .acl-toc__details[open] {
		background: none;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		border: 0;
		box-shadow: none;
	}

	.acl .acl-doc__toc .acl-toc__summary { min-height: 32px; margin-bottom: var(--space-3); padding: 0; pointer-events: none; }
	.acl .acl-doc__toc .acl-toc__title { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--text-secondary); }
	.acl .acl-doc__toc .acl-toc__now,
	.acl .acl-doc__toc .acl-toc__count,
	.acl .acl-doc__toc .acl-toc__chevron,
	.acl .acl-doc__toc .acl-toc__progress { display: none; }

	.acl .acl-doc__toc .acl-toc__list {
		max-height: none;
		overflow: visible;
		padding: 0;
		border-left: 1px solid var(--border-default);
	}

	.acl .acl-doc__toc .acl-toc__link {
		position: relative;
		min-height: 38px;
		padding: var(--space-2) 0 var(--space-2) var(--space-4);
		font-size: var(--text-sm);
		border-radius: 0 var(--radius-xs) var(--radius-xs) 0;
	}

	.acl .acl-doc__toc .acl-toc__link::before {
		content: "";
		position: absolute;
		left: -1px;
		top: 8px;
		bottom: 8px;
		width: 2px;
		border-radius: 2px;
		background: var(--interactive-primary);
		transform: scaleY(0);
		transition: transform var(--motion-base) var(--ease-enter);
	}

	.acl .acl-doc__toc .acl-toc__link[aria-current] { font-weight: 600; }
	.acl .acl-doc__toc .acl-toc__link[aria-current]::before { transform: scaleY(1); }
	.acl .acl-toc__num { width: 1.5rem; font-size: var(--text-base); }
}

/* Body */
body.acl .acl-doc__body.entry-content {
	counter-reset: acl-sec;
	font-size: var(--text-article);
	line-height: 1.78;
	color: var(--text-primary);
}

body.acl .acl-doc__body.entry-content > * { margin-block: 0 1.15em; }
body.acl .acl-doc__body.entry-content > :first-child { margin-top: 0; }
body.acl .acl-doc__body.entry-content > :last-child { margin-bottom: 0; }
body.acl .acl-doc__body.entry-content p { text-wrap: pretty; }

/* Numbered sections: a clause can be cited ("section 3") and scanned. */
body.acl .acl-doc__body.entry-content > h2 {
	position: relative;
	margin: 2.6em 0 .6em;
	padding-top: 1.1em;
	font-size: clamp(1.5rem, 1.2vw + 1.1rem, 2.125rem);
	line-height: 1.12;
	letter-spacing: -.028em;
	border-top: 1px solid var(--border-default);
	counter-increment: acl-sec;
	scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--header-h) + 72px);
}

body.acl .acl-doc__body.entry-content > h2:first-child { margin-top: 0; }

body.acl .acl-doc__body.entry-content > h2::after {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	width: 48px;
	height: 1px;
	background: var(--gradient-ai);
}

body.acl .acl-doc__body.entry-content > h2::before {
	content: counter(acl-sec, decimal-leading-zero);
	display: block;
	margin-bottom: var(--space-2);
	font-family: var(--font-serif);
	font-size: var(--text-xl);
	font-style: italic;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
	color: var(--interactive-soft-text);
}

@media (min-width: 1024px) {
	body.acl .acl-doc__body.entry-content > h2::before {
		position: absolute;
		right: calc(100% + var(--space-6));
		top: .85em;
		margin: 0;
		font-size: clamp(2rem, 2.4vw, 2.75rem);
		color: transparent;
		-webkit-text-stroke: 1px var(--iris-36);
	}
}

body.acl .acl-doc__body.entry-content h3 { margin: 1.9em 0 .5em; font-size: var(--text-xl); line-height: 1.3; letter-spacing: -.015em; }
body.acl .acl-doc__body.entry-content strong { font-weight: 600; }

body.acl .acl-doc__body.entry-content a:not(.acl-channels__link) {
	color: var(--text-link);
	text-decoration: underline;
	text-decoration-color: var(--iris-36);
	text-decoration-thickness: 1px;
	text-underline-offset: .2em;
	transition: text-decoration-color var(--motion-fast) var(--ease-standard);
}

body.acl .acl-doc__body.entry-content a:not(.acl-channels__link):hover { text-decoration-color: currentColor; }

body.acl .acl-doc__body.entry-content ul,
body.acl .acl-doc__body.entry-content ol { margin-left: 0; padding-left: 0; list-style: none; }

body.acl .acl-doc__body.entry-content li { position: relative; padding-left: 1.6em; }
body.acl .acl-doc__body.entry-content li + li { margin-top: .55em; }

body.acl .acl-doc__body.entry-content ul > li::before {
	content: "";
	position: absolute;
	left: .35em;
	top: .78em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--interactive-primary);
}

body.acl .acl-doc__body.entry-content ol { counter-reset: acl-li; }
body.acl .acl-doc__body.entry-content ol > li { counter-increment: acl-li; }

body.acl .acl-doc__body.entry-content ol > li::before {
	content: counter(acl-li);
	position: absolute;
	left: 0;
	top: 0;
	width: 1.2em;
	font-family: var(--font-serif);
	font-style: italic;
	color: var(--interactive-soft-text);
	text-align: right;
}

/* ===============================================================
   ABOUT — official channels
=============================================================== */
.acl .acl-channels {
	margin-top: 3em;
	padding: clamp(22px, 3vw, 36px);
	background: var(--bg-surface);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-lg);
}

body.acl .acl-doc__body.entry-content .acl-channels__title { margin: 0 0 .35em; padding: 0; border: 0; font-size: var(--text-xl); counter-increment: none; }
body.acl .acl-doc__body.entry-content .acl-channels__title::before,
body.acl .acl-doc__body.entry-content .acl-channels__title::after { content: none; }
.acl .acl-channels__lede { margin: 0 0 1.2em; font-size: var(--text-base); line-height: 1.6; color: var(--text-secondary); }

body.acl .acl-doc__body.entry-content .acl-channels__list {
	display: grid;
	gap: var(--space-3);
	margin: 0;
}

body.acl .acl-doc__body.entry-content .acl-channels__list li { padding: 0; margin: 0; }
body.acl .acl-doc__body.entry-content .acl-channels__list li::before { content: none; }

@media (min-width: 640px) {
	body.acl .acl-doc__body.entry-content .acl-channels__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.acl .acl-channels__link {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas: "name icon" "handle icon";
	align-items: center;
	column-gap: var(--space-3);
	min-height: 64px;
	padding: var(--space-3) var(--space-4);
	color: var(--text-primary);
	text-decoration: none;
	background: var(--bg-page);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-md);
	transition: border-color var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-standard), box-shadow var(--motion-base) var(--ease-standard);
}

.acl .acl-channels__link.has-logo { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "logo name icon" "logo handle icon"; }
.acl .acl-channels__link .acl-social__logo { grid-area: logo; width: 24px; height: 24px; }
.acl .acl-channels__name { grid-area: name; font-size: var(--text-base); font-weight: 600; line-height: 1.25; }
.acl .acl-channels__handle { grid-area: handle; font-size: var(--text-sm); line-height: 1.3; color: var(--text-secondary); }
.acl .acl-channels__icon { grid-area: icon; color: var(--text-tertiary); transition: transform var(--motion-base) var(--ease-standard), color var(--motion-base) var(--ease-standard); }

.acl .acl-channels__link:hover {
	border-color: var(--iris-36);
	box-shadow: var(--shadow-2);
	transform: translateY(-2px);
}

.acl .acl-channels__link:hover .acl-channels__icon { color: var(--text-link); transform: translate(2px, -2px); }

/* ===============================================================
   PREVIOUS / NEXT
=============================================================== */
.acl .acl-pager {
	max-width: 720px;
	margin: clamp(48px, 6vw, 80px) auto 0;
}

.acl .acl-site--form .acl-pager { padding-inline: var(--gutter); max-width: calc(var(--container-wide) + var(--gutter) * 2); margin-top: 0; padding-bottom: var(--section-y-compact); }

.acl .acl-pager__inner {
	display: grid;
	gap: var(--space-3);
}

@media (min-width: 640px) {
	.acl .acl-pager__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.acl .acl-pager__link--next { grid-column: 2; text-align: right; }
	.acl .acl-pager__link--next .acl-pager__dir { justify-content: flex-end; }
}

.acl .acl-pager__link {
	display: grid;
	gap: var(--space-2);
	padding: var(--space-5) var(--space-6);
	color: var(--text-primary);
	background: var(--bg-surface);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-md);
	transition: border-color var(--motion-base) var(--ease-standard), box-shadow var(--motion-base) var(--ease-standard);
}

.acl .acl-pager__link:hover { border-color: var(--iris-36); box-shadow: var(--shadow-2); }

.acl .acl-pager__dir {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--text-secondary);
}

.acl .acl-pager__name { font-size: var(--text-lg); font-weight: 600; letter-spacing: -.01em; }
.acl .acl-pager__num { margin-right: var(--space-2); font-size: var(--text-xl); font-weight: 400; font-style: italic; color: var(--interactive-soft-text); }

/* ===============================================================
   THE SET — "How AIContestList works", on the dark surface
=============================================================== */
.acl .acl-suite {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-block: var(--section-y);
	background: var(--bg-page);
	color: var(--text-primary);
}

.acl .acl-suite::before {
	content: "";
	position: absolute;
	top: -30%;
	left: 50%;
	z-index: -1;
	width: min(1200px, 140vw);
	aspect-ratio: 2 / 1;
	transform: translateX(-50%);
	background: radial-gradient(closest-side, rgb(var(--acl-iris-rgb) / .20), rgba(88, 199, 255, .06) 55%, transparent 80%);
	pointer-events: none;
}

.acl .acl-suite__head { margin-bottom: clamp(28px, 4vw, 56px); }

.acl .acl-suite__eyebrow {
	margin: 0 0 var(--space-4);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--text-secondary);
}

.acl .acl-suite__title {
	margin: 0;
	font-size: clamp(2.25rem, 5.2vw, 4.5rem);
	line-height: .98;
	letter-spacing: -.045em;
}

.acl .acl-suite__title .acl-serif { font-style: italic; font-weight: 400; letter-spacing: -.02em; color: var(--acl-iris-dark-text); }

.acl .acl-suite__list {
	display: grid;
	gap: var(--space-3);
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Phones: a swipeable rail — every chapter one flick away, the page stays short. */
@media (max-width: 639px) {
	.acl .acl-suite__list {
		display: flex;
		gap: var(--space-3);
		margin-inline: calc(var(--gutter) * -1);
		padding: var(--space-1) var(--gutter) var(--space-4);
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--gutter);
		scrollbar-width: none;
	}

	.acl .acl-suite__list::-webkit-scrollbar { display: none; }
	.acl .acl-suite__item { flex: 0 0 min(82%, 320px); scroll-snap-align: start; }
	.acl .acl-suite__card { min-height: 188px; }
}

@media (min-width: 640px) { .acl .acl-suite__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .acl .acl-suite__list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); } }

.acl .acl-suite__card {
	position: relative;
	display: grid;
	grid-template-rows: auto auto 1fr;
	gap: 6px;
	height: 100%;
	min-height: 168px;
	padding: var(--space-5) var(--space-5) var(--space-6);
	color: var(--text-primary);
	background: var(--bg-surface);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-lg);
	overflow: hidden;
	transition: border-color var(--motion-base) var(--ease-standard), transform var(--motion-slow) var(--ease-enter), background-color var(--motion-base) var(--ease-standard);
}

.acl .acl-suite__num {
	position: absolute;
	right: var(--space-5);
	bottom: -.12em;
	font-size: 5.5rem;
	font-style: italic;
	line-height: .8;
	color: transparent;
	-webkit-text-stroke: 1px var(--overlay-white-16);
	transition: -webkit-text-stroke-color var(--motion-slow) var(--ease-standard);
	pointer-events: none;
}

.acl .acl-suite__group { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--text-tertiary); }
.acl .acl-suite__name { font-size: var(--text-lg); font-weight: 600; line-height: 1.25; letter-spacing: -.01em; }
.acl .acl-suite__desc { max-width: 26ch; font-size: var(--text-sm); line-height: 1.5; color: var(--text-secondary); }

.acl .acl-suite__arrow {
	position: absolute;
	top: var(--space-5);
	right: var(--space-5);
	color: var(--text-tertiary);
	transition: transform var(--motion-base) var(--ease-standard), color var(--motion-base) var(--ease-standard);
}

.acl a.acl-suite__card:hover {
	border-color: rgb(var(--acl-iris-dark-rgb) / .5);
	background: var(--bg-elevated);
	transform: translateY(-3px);
}

.acl a.acl-suite__card:hover .acl-suite__num { -webkit-text-stroke-color: var(--acl-iris-dark-text); }
.acl a.acl-suite__card:hover .acl-suite__arrow { color: var(--acl-iris-dark-text); transform: translate(2px, -2px); }

.acl .acl-suite__item.is-current .acl-suite__card {
	background: linear-gradient(160deg, rgb(var(--acl-iris-rgb) / .22), rgb(var(--acl-iris-rgb) / .06) 60%), var(--bg-surface);
	border-color: rgb(var(--acl-iris-dark-rgb) / .45);
}

.acl .acl-suite__item.is-current .acl-suite__num { -webkit-text-stroke-color: rgb(var(--acl-iris-dark-rgb) / .7); }

.acl .acl-suite__here {
	position: absolute;
	top: var(--space-4);
	right: var(--space-4);
	padding: 4px 10px;
	font-size: 11px;
	font-weight: 600;
	color: var(--acl-ink);
	background: var(--acl-iris-dark-text);
	border-radius: var(--radius-pill);
}

@media (prefers-reduced-motion: reduce) {
	.acl a.acl-suite__card:hover { transform: none; }
}

/* ===============================================================
   FORM PAGES
=============================================================== */
.acl .acl-site-form {
	display: grid;
	gap: var(--space-10);
	padding-block: clamp(28px, 5vw, 64px) var(--section-y-compact);
}

.acl .acl-site-form__main { min-width: 0; outline: none; }
.acl .acl-site--form .acl-site-form__content { margin-top: var(--space-12); max-width: 720px; }

@media (min-width: 1024px) {
	.acl .acl-site-form {
		grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
		gap: clamp(40px, 5vw, 80px);
		align-items: start;
	}

	.acl .acl-site-form__aside {
		position: sticky;
		top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--header-h) + var(--space-6));
	}
}

/* Contact: the faster routes are the first thing to read on a phone. */
@media (max-width: 1023px) {
	.acl .acl-site--form[data-page="contact"] .acl-site-form__aside { order: -1; }
}

.acl .acl-form { display: grid; gap: var(--space-4); }

.acl .acl-form__group {
	position: relative;
	margin: 0;
	padding: clamp(20px, 3vw, 36px);
	min-width: 0;
	background: var(--bg-surface);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-1);
	transition: border-color var(--motion-slow) var(--ease-standard), box-shadow var(--motion-slow) var(--ease-standard);
}

.acl .acl-form__group:focus-within {
	border-color: var(--iris-36);
	box-shadow: 0 0 0 4px var(--iris-08), var(--shadow-2);
}

.acl .acl-form__legend {
	display: flex;
	align-items: baseline;
	gap: var(--space-3);
	margin: 0 0 var(--space-5);
	font-size: clamp(1.125rem, .5vw + 1rem, 1.375rem);
	font-weight: 600;
	letter-spacing: -.015em;
}

.acl .acl-form__step {
	font-size: clamp(1.5rem, 1vw + 1.1rem, 2rem);
	font-style: italic;
	font-weight: 400;
	line-height: 1;
	color: var(--interactive-soft-text);
	font-variant-numeric: lining-nums;
}

.acl .acl-form__done {
	display: inline-grid;
	place-items: center;
	width: 24px;
	height: 24px;
	margin-left: auto;
	align-self: center;
	border-radius: 50%;
	color: var(--status-success-fg);
	background: var(--status-success-bg);
	opacity: 0;
	transform: scale(.6);
	transition: opacity var(--motion-base) var(--ease-standard), transform var(--motion-slow) var(--ease-spring-soft);
}

.acl .acl-form__group.is-complete .acl-form__done { opacity: 1; transform: none; }

/* Submit: why a complete form is worth it (theme 0.9.18). Quiet, above the first group. */
.acl .acl-form__tip {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: var(--space-4);
	align-items: start;
	padding: clamp(18px, 2.4vw, 24px) clamp(20px, 3vw, 28px);
	background: var(--interactive-soft);
	border: 1px solid var(--iris-16);
	border-radius: var(--radius-lg);
}

.acl .acl-form__tip-icon {
	display: inline-grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--bg-surface);
	color: var(--interactive-soft-text);
	box-shadow: 0 0 0 1px var(--iris-16);
}

.acl .acl-form__tip-title {
	margin: 0 0 var(--space-1);
	font-size: var(--text-md);
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -.01em;
	color: var(--text-primary);
}

.acl .acl-form__tip-body {
	margin: 0;
	max-width: 68ch;
	font-size: var(--text-sm);
	line-height: 1.6;
	color: var(--text-secondary);
}

.acl .acl-form__note {
	margin: calc(var(--space-2) * -1) 0 var(--space-5);
	max-width: 60ch;
	font-size: var(--text-sm);
	line-height: 1.5;
	color: var(--text-secondary);
}

.acl .acl-form__fields { display: grid; gap: var(--space-5); }

@media (min-width: 768px) {
	.acl .acl-form__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.acl .acl-form__fields > * { grid-column: 1 / -1; }
	.acl .acl-form__fields > .acl-field--half { grid-column: auto; }
}

/* Field */
.acl .acl-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.acl .acl-field[hidden] { display: none; }

.acl .acl-field__label {
	display: block;
	margin: 0 0 var(--space-2);
	padding: 0;
	font-size: var(--text-sm);
	font-weight: 600;
	line-height: 1.35;
	color: var(--text-primary);
}

.acl .acl-field__optional { margin-left: var(--space-1); font-weight: 500; color: var(--text-secondary); }

.acl .acl-field__help {
	margin: calc(var(--space-1) * -1) 0 var(--space-2);
	font-size: var(--text-sm);
	line-height: 1.45;
	color: var(--text-secondary);
}

.acl .acl-input {
	display: block;
	width: 100%;
	min-height: 50px;
	padding: var(--space-3) var(--space-4);
	font: inherit;
	font-size: max(16px, var(--text-base)); /* never below 16px: no iOS zoom on focus */
	line-height: 1.4;
	color: var(--text-primary);
	background: var(--bg-page);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-sm);
	transition: border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard);
	-webkit-appearance: none;
	appearance: none;
}

.acl .acl-input--area { min-height: 120px; resize: vertical; }
.acl .acl-input:hover { border-color: var(--text-tertiary); }

.acl .acl-input:focus,
.acl .acl-input:focus-visible {
	outline: none;
	background: var(--bg-surface);
	border-color: var(--interactive-primary);
	box-shadow: 0 0 0 4px var(--focus-ring);
}

.acl .acl-input::placeholder { color: var(--text-tertiary); }
.acl input[type="date"].acl-input { min-height: 50px; }

.acl .acl-select { position: relative; display: block; }
.acl .acl-select .acl-input { padding-right: var(--space-10); cursor: pointer; }

.acl .acl-select .acl-icon {
	position: absolute;
	right: var(--space-4);
	top: 50%;
	margin-top: -9px;
	color: var(--text-secondary);
	pointer-events: none;
}

.acl .has-error .acl-input { border-color: var(--status-danger-fg); }
.acl .has-error .acl-input:focus { box-shadow: 0 0 0 4px var(--status-danger-bg); }

.acl .acl-field__error {
	display: flex;
	gap: var(--space-2);
	margin: var(--space-2) 0 0;
	font-size: var(--text-sm);
	font-weight: 500;
	line-height: 1.4;
	color: var(--status-danger-fg);
}

.acl .acl-field--radio .acl-field__error { margin: 0 0 var(--space-3); }

/* Radio tiles */
.acl .acl-choices { display: grid; gap: var(--space-2); }

@media (min-width: 768px) { .acl .acl-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.acl .acl-choice {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	min-height: 52px;
	padding: var(--space-3) var(--space-4);
	font-size: var(--text-base);
	line-height: 1.35;
	background: var(--bg-page);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-sm);
	cursor: pointer;
	transition: border-color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard);
}

.acl .acl-choice input {
	flex: none;
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--interactive-primary);
}

.acl .acl-choice:hover { border-color: var(--border-strong); }
.acl .acl-choice:has(input:checked) { border-color: var(--interactive-primary); background: var(--interactive-soft); }
.acl .acl-choice:has(input:focus-visible) { box-shadow: 0 0 0 4px var(--focus-ring); }

/* Honeypot — off-screen, not display:none (some bots skip hidden fields). */
.acl .acl-form__hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Error summary + report context */
.acl .acl-form__summary {
	padding: var(--space-5) var(--space-6);
	background: var(--acl-white);
	border: 1px solid rgba(199, 68, 85, .35);
	border-left: 4px solid var(--status-danger-fg);
	border-radius: var(--radius-md);
	box-shadow: 0 0 0 4px var(--status-danger-bg);
	outline: none;
}

.acl .acl-form__summary-title { display: flex; align-items: center; gap: var(--space-2); margin: 0; font-weight: 600; }
.acl .acl-form__summary-title .acl-icon { color: var(--status-danger-fg); }
.acl .acl-form__summary-list { margin: var(--space-3) 0 0; padding-left: 1.6em; font-size: var(--text-sm); }
.acl .acl-form__summary-list a { color: var(--text-primary); text-decoration: underline; text-underline-offset: .18em; }
.acl .acl-form__summary-list li + li { margin-top: var(--space-1); }

.acl .acl-form__context {
	padding: var(--space-5) var(--space-6);
	background: var(--bg-surface);
	border: 1px solid var(--border-default);
	border-left: 3px solid var(--interactive-primary);
	border-radius: var(--radius-md);
}

.acl .acl-form__context-label { margin: 0 0 var(--space-1); font-size: var(--text-sm); color: var(--text-secondary); }
.acl .acl-form__context-title { margin: 0; font-size: var(--text-lg); font-weight: 600; line-height: 1.3; }
.acl .acl-form__context-title a { color: var(--text-primary); }
.acl .acl-form__context-title a:hover { color: var(--text-link); }

/* Submit row — sticks to the bottom of a phone screen while the form is on view. */
.acl .acl-form__submit {
	display: grid;
	gap: var(--space-4);
	align-items: center;
	padding-top: var(--space-3);
}

.acl .acl-form__privacy { margin: 0; font-size: var(--text-sm); line-height: 1.5; color: var(--text-secondary); }
.acl .acl-form__privacy a { color: var(--text-primary); text-decoration: underline; text-underline-offset: .18em; }

@media (max-width: 767px) {
	.acl .acl-form__submit {
		position: sticky;
		bottom: 0;
		z-index: 5;
		margin-inline: calc(var(--gutter) * -1);
		padding: var(--space-3) var(--gutter) calc(var(--space-3) + env(safe-area-inset-bottom, 0px));
		background: var(--glass-bg-solid);
		-webkit-backdrop-filter: saturate(1.4) blur(14px);
		backdrop-filter: saturate(1.4) blur(14px);
		border-top: 1px solid var(--glass-border);
		box-shadow: 0 -12px 24px rgba(8, 9, 11, .05);
	}

	.acl .acl-form__privacy { font-size: var(--text-xs); }
	.acl .acl-form__button { width: 100%; }
}

@media (min-width: 768px) {
	.acl .acl-form__submit { grid-template-columns: minmax(0, 1fr) auto; }
}

/* Success */
.acl .acl-form-done {
	position: relative;
	overflow: hidden;
	padding: clamp(28px, 5vw, 64px);
	background: var(--bg-surface);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-2);
}

.acl .acl-form-done::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--gradient-ai);
}

.acl .acl-form-done__mark {
	display: inline-grid;
	place-items: center;
	width: 64px;
	height: 64px;
	margin-bottom: var(--space-6);
	border-radius: 50%;
	background: var(--status-success-bg);
	color: var(--status-success-fg);
	box-shadow: 0 0 0 10px rgba(39, 138, 97, .06);
}

.acl .acl-form-done__title {
	margin: 0 0 var(--space-3);
	font-size: clamp(2.5rem, 3.5vw + 1rem, 4rem);
	font-weight: 400;
	font-style: italic;
	line-height: 1;
	letter-spacing: -.02em;
}

.acl .acl-form-done__body { margin: 0 0 var(--space-8); max-width: 52ch; font-size: var(--text-md); line-height: 1.6; color: var(--text-secondary); }
.acl .acl-form-done__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }

/* Aside */
.acl .acl-site-form__aside { display: grid; gap: var(--space-5); min-width: 0; }

.acl .acl-site-form__card {
	padding: clamp(20px, 2.4vw, 28px);
	background: var(--bg-surface);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-lg);
}

.acl .acl-site-form__aside-title { margin: 0 0 var(--space-4); font-size: var(--text-xl); letter-spacing: -.015em; }
.acl .acl-site-form__aside-sub { margin: var(--space-8) 0 var(--space-3); font-size: var(--text-sm); font-weight: 600; color: var(--text-secondary); }

/* Progress — which groups are complete (JS); plain jump links without it. */
.acl .acl-progress { display: none; }

@media (min-width: 1024px) {
	.acl .acl-progress { display: block; }
}

.acl .acl-progress__title {
	margin: 0 0 var(--space-3);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--text-secondary);
}

.acl .acl-progress__list { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }

.acl .acl-progress__link {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	min-height: 40px;
	padding: 0 var(--space-3);
	font-size: var(--text-sm);
	font-weight: 500;
	color: var(--text-secondary);
	border-radius: var(--radius-sm);
	transition: background-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);
}

.acl .acl-progress__link:hover { color: var(--text-primary); background: var(--overlay-ink-03); }
.acl .acl-progress__num { font-size: var(--text-md); font-style: italic; color: rgba(16, 17, 20, .6); }

.acl .acl-progress__state {
	width: 18px;
	height: 18px;
	margin-left: auto;
	border: 1.5px solid var(--border-strong);
	border-radius: 50%;
	transition: background-color var(--motion-base) var(--ease-standard), border-color var(--motion-base) var(--ease-standard);
}

.acl .acl-progress__link.is-complete { color: var(--text-primary); }
.acl .acl-progress__link.is-complete .acl-progress__num { color: var(--interactive-soft-text); }

.acl .acl-progress__link.is-complete .acl-progress__state {
	border-color: var(--status-success-fg);
	background: var(--status-success-fg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat;
}

.acl .acl-progress__link.is-current { color: var(--text-primary); background: var(--interactive-soft); }

.acl .acl-steps { margin: 0 0 var(--space-5); padding: 0; list-style: none; }

.acl .acl-steps__item {
	display: grid;
	grid-template-columns: 2.25rem minmax(0, 1fr);
	column-gap: var(--space-3);
	padding: var(--space-4) 0;
	border-top: 1px solid var(--border-default);
}

.acl .acl-steps__num {
	grid-row: span 2;
	font-size: var(--text-3xl);
	font-style: italic;
	line-height: .9;
	color: var(--interactive-soft-text);
}

.acl .acl-steps__name { margin: 0 0 var(--space-1); font-weight: 600; line-height: 1.35; }
.acl .acl-steps__body { margin: 0; font-size: var(--text-sm); line-height: 1.55; color: var(--text-secondary); }

.acl .acl-routes { margin: 0; padding: 0; list-style: none; }

.acl .acl-routes__item {
	display: grid;
	gap: 2px;
	padding: var(--space-3) 0;
	border-top: 1px solid var(--border-default);
}

.acl .acl-routes__when { font-size: var(--text-sm); color: var(--text-secondary); }

.acl .acl-routes__link {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	min-height: 44px;
	font-weight: 600;
	color: var(--text-primary);
	justify-self: start;
	border-radius: var(--radius-xs);
}

.acl .acl-routes__link .acl-icon { color: var(--text-link); transition: transform var(--motion-base) var(--ease-standard); }
.acl .acl-routes__link:hover { color: var(--text-link); }
.acl .acl-routes__link:hover .acl-icon { transform: translateX(3px); }

/* ===============================================================
   PRINT — policies are printed and archived
=============================================================== */
@media print {
	.acl .acl-sh__stage,
	.acl .acl-doc__toc,
	.acl .acl-pager,
	.acl .acl-suite,
	.acl .acl-about-now { display: none !important; }
	.acl .acl-sh { padding: 0 0 12pt; }
	.acl .acl-sh__title { font-size: 28pt; }
	.acl .acl-sh__accent { color: #000; background: none; }
	.acl .acl-sh__answer { box-shadow: none; background: none; }
	body.acl .acl-doc__body.entry-content { font-size: 11pt; }
	body.acl .acl-doc__body.entry-content > h2::before { position: static; color: #000; -webkit-text-stroke: 0; }
}
