/*
 * ACM Core - front-end styles.
 *
 * Only layout the ACM Marquee base classes (.bb-*) do not already provide.
 * Every colour, font, size and spacing value comes from the design-system
 * custom properties; nothing is hardcoded. Mobile-first.
 */

/* -------------------------------------------------------------------------
 * Winners search
 * ---------------------------------------------------------------------- */

.acm-winners {
	position: relative;
}

.acm-winners__filters {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--ds-space-md);
	align-items: end;
	margin-bottom: var(--ds-space-lg);
}

.acm-winners__field {
	display: flex;
	flex-direction: column;
	gap: var(--ds-space-xs);
	min-width: 0;
}

.acm-winners__label {
	font-family: var(--ds-font-body);
	font-size: var(--ds-text-xs);
	font-weight: 700;
	letter-spacing: var(--ds-letter-ui);
	text-transform: uppercase;
	color: var(--ds-color-on-dark-muted);
}

.acm-winners .bb-field,
.acm-winners .bb-select {
	width: 100%;
	min-height: 44px; /* touch target */
}

.acm-winners__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--ds-space-sm) var(--ds-space-md);
}

.acm-winners__actions .bb-btn {
	min-height: 44px;
	width: 100%;
	justify-content: center;
}

/* "Include nominees" toggle: a real checkbox (visually hidden, still
   focusable) driving a custom box drawn with the design-system tokens. */
.acm-winners__toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: var(--ds-space-xs);
	min-height: 44px;
	cursor: pointer;
	user-select: none;
}

.acm-winners__checkbox {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.acm-winners__toggle-box {
	flex: none;
	width: 20px;
	height: 20px;
	border: 1px solid var(--ds-color-on-dark-faint);
	border-radius: var(--ds-radius-sm);
	background: transparent;
	transition: border-color var(--ds-transition-fast), background var(--ds-transition-fast);
}

.acm-winners__toggle-box::after {
	content: "";
	display: block;
	width: 6px;
	height: 11px;
	margin: 2px auto 0;
	border: solid var(--ds-color-black);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg) scale(0);
	transition: transform var(--ds-transition-fast);
}

.acm-winners__toggle-text {
	font-family: var(--ds-font-body);
	font-size: var(--ds-text-xs);
	font-weight: 700;
	letter-spacing: var(--ds-letter-ui);
	text-transform: uppercase;
	color: var(--ds-color-on-dark-muted);
	transition: color var(--ds-transition-fast);
}

.acm-winners__toggle:hover .acm-winners__toggle-box {
	border-color: var(--ds-color-gold);
}

.acm-winners__toggle:hover .acm-winners__toggle-text {
	color: var(--ds-color-gold-bright);
}

.acm-winners__checkbox:checked ~ .acm-winners__toggle-box {
	background: var(--ds-color-gold);
	border-color: var(--ds-color-gold);
}

.acm-winners__checkbox:checked ~ .acm-winners__toggle-box::after {
	transform: rotate(45deg) scale(1);
}

.acm-winners__checkbox:checked ~ .acm-winners__toggle-text {
	color: var(--ds-color-on-dark);
}

.acm-winners__checkbox:focus-visible ~ .acm-winners__toggle-box {
	outline: 2px solid var(--ds-color-gold-bright);
	outline-offset: 3px;
}

.acm-winners__count {
	min-height: 1.5em;
	margin: 0 0 var(--ds-space-md);
}

.acm-winners__count:empty {
	display: none;
}

.acm-winners__results {
	transition: opacity var(--ds-transition-fast);
}

.acm-winners.is-loading .acm-winners__results {
	opacity: 0.6;
}

.acm-winners__group {
	margin-bottom: var(--ds-space-xl);
}

.acm-winners__group-title {
	font-family: var(--ds-font-display);
	font-weight: 900;
	font-size: var(--ds-text-2xl);
	line-height: 0.95;
	letter-spacing: -0.005em;
	text-transform: uppercase;
	color: var(--ds-color-champagne);
	margin: 0 0 var(--ds-space-sm);
	padding-bottom: var(--ds-space-sm);
	border-bottom: 1px solid var(--ds-color-hairline);
}

.acm-winners__group-year {
	font-family: var(--ds-font-serif);
	font-style: italic;
	font-weight: 400;
	font-size: 0.8em;
	text-transform: none;
	color: var(--ds-color-gold-bright);
	margin-left: 0.25em;
}

.acm-winner {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--ds-space-xs) var(--ds-space-lg);
	padding: var(--ds-space-md) 0;
	border-bottom: 1px solid var(--ds-color-hairline);
}

.acm-winner > .bb-eyebrow {
	margin: 0;
}

.acm-winner__tag {
	justify-self: start;
	align-self: start;
}

.acm-winner__name {
	font-family: var(--ds-font-display);
	font-weight: 700;
	font-size: var(--ds-text-xl);
	line-height: 1;
	text-transform: uppercase;
	color: var(--ds-color-on-dark);
	margin: 0;
}

/* Scoped to .acm-winners so the page-builder's ".fl-ds-page p" margin rule
   (higher specificity than a lone class) cannot reopen the gaps. */
.acm-winners .acm-winner__work {
	margin: 0;
	font-size: var(--ds-text-lg);
}

.acm-winners .acm-winner__credits {
	margin: 0;
	font-size: var(--ds-text-sm);
	line-height: 1.5;
}

.acm-winners__empty {
	margin: var(--ds-space-md) 0;
}

.acm-winners__more {
	display: flex;
	justify-content: center;
	margin: var(--ds-space-lg) 0 0;
}

.acm-winners__more .bb-btn {
	min-height: 44px;
}

/* Skeleton rows while a request is in flight. */
.acm-skeleton {
	padding: var(--ds-space-md) 0;
	border-bottom: 1px solid var(--ds-color-hairline);
}

.acm-skeleton__bar {
	height: 0.9em;
	border-radius: var(--ds-radius-pill);
	background: linear-gradient(90deg, var(--ds-color-graphite) 0%, var(--ds-color-coal) 50%, var(--ds-color-graphite) 100%);
	background-size: 200% 100%;
	animation: acm-shimmer 1.4s linear infinite;
	margin-bottom: var(--ds-space-xs);
}

.acm-skeleton__bar--eyebrow { width: 28%; height: 0.6em; }
.acm-skeleton__bar--name    { width: 62%; height: 1.4em; }
.acm-skeleton__bar--work    { width: 44%; margin-bottom: 0; }

@keyframes acm-shimmer {
	from { background-position: 200% 0; }
	to   { background-position: -200% 0; }
}

@media (min-width: 600px) {
	.acm-winners__filters {
		grid-template-columns: 1fr 1fr;
	}
	.acm-winners__field--search {
		grid-column: 1 / -1;
	}
	.acm-winners__actions .bb-btn {
		width: auto;
	}
	.acm-winner {
		grid-template-columns: minmax(180px, 240px) 1fr;
		grid-template-areas:
			"cat name"
			"tag work"
			"tag credits";
	}
	.acm-winner > .bb-eyebrow { grid-area: cat; align-self: start; }
	.acm-winner__tag           { grid-area: tag; }
	.acm-winner__name          { grid-area: name; }
	.acm-winner__work          { grid-area: work; }
	.acm-winner__credits       { grid-area: credits; }
}

@media (min-width: 960px) {
	.acm-winners__filters {
		grid-template-columns: 1fr 1fr 1.4fr auto;
	}
	.acm-winners__field--search {
		grid-column: auto;
	}
	.acm-winners__group-title {
		font-size: var(--ds-text-3xl);
	}
}

/* -------------------------------------------------------------------------
 * Nominees
 * ---------------------------------------------------------------------- */

.acm-nominees {
	--acm-jumpnav-height: 0px;
}

.acm-jumpnav {
	position: sticky;
	top: var(--acm-sticky-top, 0px);
	z-index: 20;
	margin: 0 0 var(--ds-space-lg);
	background: var(--ds-color-black);
	border-bottom: 1px solid var(--ds-color-hairline);
}

.acm-jumpnav__list {
	display: flex;
	gap: var(--ds-space-xs);
	list-style: none;
	margin: 0;
	padding: var(--ds-space-sm) 0;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.acm-jumpnav__list::-webkit-scrollbar {
	display: none;
}

.acm-jumpnav__item {
	flex: 0 0 auto;
	margin: 0;
}

.acm-jumpnav__link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 var(--ds-space-md);
	border: 1px solid var(--ds-color-hairline-light);
	border-radius: var(--ds-radius-pill);
	font-family: var(--ds-font-body);
	font-size: var(--ds-text-xs);
	font-weight: 700;
	letter-spacing: var(--ds-letter-ui);
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	color: var(--ds-color-on-dark-muted);
	transition: color var(--ds-transition-fast), border-color var(--ds-transition-fast), background var(--ds-transition-fast);
}

.acm-jumpnav__link:hover,
.acm-jumpnav__link:focus-visible {
	color: var(--ds-color-gold-bright);
	border-color: var(--ds-color-gold);
	outline: none;
}

.acm-jumpnav__link.is-active {
	color: var(--ds-color-black);
	background: var(--ds-color-gold);
	border-color: var(--ds-color-gold);
}

.acm-nominees__category {
	margin-bottom: var(--ds-space-2xl);
	scroll-margin-top: calc(var(--acm-sticky-top, 0px) + var(--acm-jumpnav-height) + var(--ds-space-md));
}

.acm-nominees__title {
	margin-top: var(--ds-space-xs);
	margin-bottom: var(--ds-space-lg);
}

.acm-nominee {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.acm-nominee__photo {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: var(--ds-radius-md);
	background: var(--ds-color-graphite);
}

.acm-nominee__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.85);
	transition: transform 1s cubic-bezier(0.2, 0.8, 0.2, 1), filter var(--ds-transition-base);
}

.acm-nominee:hover .acm-nominee__photo img {
	transform: scale(1.05);
	filter: saturate(1);
}

.acm-nominee--winner .acm-nominee__photo {
	box-shadow: 0 0 0 1px var(--ds-color-gold);
}

.acm-nominee__body {
	padding-top: var(--ds-space-sm);
}

.acm-nominee__tag {
	margin-bottom: var(--ds-space-xs);
}

.acm-nominee__name {
	font-family: var(--ds-font-display);
	font-weight: 700;
	font-size: var(--ds-text-xl);
	line-height: 1;
	text-transform: uppercase;
	color: var(--ds-color-on-dark);
	margin: 0 0 var(--ds-space-xs);
}

.acm-nominee__work {
	margin: 0 0 var(--ds-space-xs);
	font-size: var(--ds-text-base);
}

.acm-nominee__credits {
	margin: 0;
	font-size: var(--ds-text-xs);
	line-height: 1.5;
}

/* -------------------------------------------------------------------------
 * People and modal
 * ---------------------------------------------------------------------- */

.acm-person--modal {
	cursor: pointer;
}

.acm-person__open {
	appearance: none;
	background: none;
	border: 0;
	padding: 0;
	margin: 0;
	font: inherit;
	color: inherit;
	text-align: left;
	text-transform: inherit;
	letter-spacing: inherit;
	cursor: pointer;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}

.acm-person__open:focus-visible {
	outline: 2px solid var(--ds-color-gold);
	outline-offset: 4px;
	border-radius: 2px;
}

.acm-remember__dates {
	margin: 0 0 var(--ds-space-xs);
}

.acm-remember__text {
	font-size: var(--ds-text-sm);
	margin-top: var(--ds-space-sm);
}

.acm-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--ds-space-md);
}

.acm-modal[hidden] {
	display: none;
}

.acm-modal__backdrop {
	position: absolute;
	inset: 0;
	background: var(--ds-color-scrim);
}

.acm-modal__dialog {
	position: relative;
	width: 100%;
	max-width: 880px;
	max-height: calc(100vh - 2 * var(--ds-space-md));
	max-height: calc(100dvh - 2 * var(--ds-space-md));
	overflow-y: auto;
	background: var(--ds-color-coal);
	border: 1px solid var(--ds-color-hairline);
	border-radius: var(--ds-radius-md);
	box-shadow: var(--ds-shadow-card);
	padding: var(--ds-space-lg);
	color: var(--ds-color-on-dark);
	animation: acm-modal-in 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.acm-modal__dialog:focus {
	outline: none;
}

@keyframes acm-modal-in {
	from { opacity: 0; transform: translateY(12px); }
	to   { opacity: 1; transform: none; }
}

.acm-modal__close {
	position: absolute;
	top: var(--ds-space-sm);
	right: var(--ds-space-sm);
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: 1px solid var(--ds-color-hairline-light);
	border-radius: var(--ds-radius-pill);
	color: var(--ds-color-on-dark);
	cursor: pointer;
	transition: border-color var(--ds-transition-fast), color var(--ds-transition-fast);
}

.acm-modal__close:hover,
.acm-modal__close:focus-visible {
	border-color: var(--ds-color-gold);
	color: var(--ds-color-gold-bright);
	outline: none;
}

.acm-modal__close svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
}

.acm-modal__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--ds-space-lg);
}

.acm-modal__photo {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: var(--ds-radius-md);
	background: var(--ds-color-graphite);
	max-width: 280px;
}

.acm-modal__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.acm-modal__name {
	font-family: var(--ds-font-display);
	font-weight: 900;
	font-size: var(--ds-text-3xl);
	line-height: 0.95;
	text-transform: uppercase;
	color: var(--ds-color-champagne);
	margin: 0 0 var(--ds-space-xs);
	padding-right: 52px; /* keep clear of the close button */
}

.acm-modal__role {
	margin: 0;
	font-size: var(--ds-text-sm);
	color: var(--ds-color-gold);
}

.acm-modal__org {
	margin: 0 0 var(--ds-space-md);
	font-size: var(--ds-text-sm);
	color: var(--ds-color-on-dark-muted);
}

body.acm-modal-open {
	overflow: hidden;
}

@media (min-width: 720px) {
	.acm-modal__grid {
		grid-template-columns: 280px 1fr;
		align-items: start;
	}
	.acm-modal__dialog {
		padding: var(--ds-space-xl);
	}
}

/* -------------------------------------------------------------------------
 * Partners, events, news, awards
 * ---------------------------------------------------------------------- */

.acm-partners__logo {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 64px;
	object-fit: contain;
}

.acm-partners__cell {
	text-decoration: none;
	min-height: 44px;
}

.acm-partners__name {
	font-family: var(--ds-font-display);
	font-weight: 700;
	font-size: var(--ds-text-lg);
	text-transform: uppercase;
	color: var(--ds-color-champagne);
	text-align: center;
}

.acm-card__excerpt {
	margin: var(--ds-space-xs) 0 var(--ds-space-sm);
	font-size: var(--ds-text-sm);
	line-height: 1.6;
	color: var(--ds-color-on-dark-muted);
}

.bb-card__body > .bb-meta {
	display: block;
	margin-bottom: var(--ds-space-xs);
}

.bb-card__body > .bb-link {
	margin-top: auto;
}

.acm-news__card .bb-card__title a {
	color: inherit;
	text-decoration: none;
}

.acm-news__card .bb-card__title a:hover,
.acm-news__card .bb-card__title a:focus-visible {
	color: var(--ds-color-gold-bright);
}

.acm-card--featured .bb-card__title {
	font-size: var(--ds-text-2xl);
}

@media (min-width: 900px) {
	.acm-news--featured .acm-card--featured {
		grid-column: span 2;
	}
}

/* Award definitions: alternating editorial list. */
.acm-awards--list {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--ds-space-2xl);
}

.acm-award {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--ds-space-md);
	align-items: center;
}

.acm-award__media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--ds-radius-md);
	background: var(--ds-color-graphite);
}

.acm-award__title {
	margin-top: 0;
	margin-bottom: var(--ds-space-sm);
}

.acm-award__desc {
	max-width: 62ch;
}

.acm-awards--grid .acm-award__desc {
	font-size: var(--ds-text-sm);
}

@media (min-width: 760px) {
	.acm-award {
		grid-template-columns: 5fr 7fr;
		gap: var(--ds-space-xl);
	}
	.acm-award:nth-child(even) .acm-award__media {
		order: 2;
	}
	.acm-award--no-media {
		grid-template-columns: 1fr;
		max-width: 780px;
	}
}

/* -------------------------------------------------------------------------
 * Reduced motion
 * ---------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	.acm-skeleton__bar,
	.acm-modal__dialog {
		animation: none;
	}
	.acm-nominee__photo img,
	.acm-jumpnav__link,
	.acm-winners__results,
	.acm-winners__toggle-box,
	.acm-winners__toggle-box::after,
	.acm-winners__toggle-text,
	.acm-modal__close {
		transition: none;
	}
	.acm-nominee:hover .acm-nominee__photo img {
		transform: none;
	}
}


/* ---------- [acm_nominees layout="compact"] : editorial category list ---------- */
.acm-nominees--compact { border-top: 1px solid var(--ds-color-hairline); }
.acm-nominees--compact .acm-nominees__category { margin: 0; }
.acm-nominees--compact .acm-cat { display: grid; grid-template-columns: minmax(220px, 0.8fr) minmax(0, 2fr); gap: var(--ds-space-md) var(--ds-space-2xl); padding: 28px 0 22px; border-bottom: 1px solid var(--ds-color-hairline); scroll-margin-top: calc(var(--acm-sticky-top, 0px) + 140px); }
.acm-nominees--compact .acm-cat__head { position: sticky; top: calc(var(--acm-sticky-top, 0px) + 150px); align-self: start; }
.acm-nominees--compact .acm-cat__title { font-family: var(--ds-font-display); font-weight: var(--ds-weight-black); text-transform: uppercase; font-size: clamp(26px, 2.4vw, 36px); line-height: 0.95; margin: 0 0 8px; }
.acm-nominees--compact .acm-cat__count { font-size: var(--ds-text-xs); font-weight: var(--ds-weight-bold); letter-spacing: var(--ds-letter-ui); text-transform: uppercase; color: var(--ds-color-on-dark-muted); }
.acm-nominees--compact .acm-cat__body { min-width: 0; }
.acm-nominees--compact .acm-nominee--winner { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--ds-space-md); align-items: center; padding: 0 0 16px; }
.acm-nominees--compact .acm-nominee--winner .acm-nominee__photo { width: 128px; aspect-ratio: 4 / 5; border-radius: var(--ds-radius-md); overflow: hidden; background: var(--ds-color-graphite); box-shadow: 0 0 0 1px rgba(212, 178, 95, 0.45), var(--ds-shadow-card); }
.acm-nominees--compact .acm-nominee--winner .acm-nominee__photo img { width: 100%; height: 100%; object-fit: cover; }
.acm-nominees--compact .acm-nominee--winner .acm-nominee__name { font-family: var(--ds-font-display); font-weight: var(--ds-weight-black); text-transform: uppercase; font-size: clamp(30px, 3vw, 44px); line-height: 0.95; margin: 10px 0 6px; }
.acm-nominees--compact .acm-nominee--winner .acm-nominee__work { font-family: var(--ds-font-display); font-weight: var(--ds-weight-medium); text-transform: uppercase; font-size: var(--ds-text-lg); color: var(--ds-color-gold-bright); margin: 0 0 4px; }
.acm-nominees--compact .acm-nominee--winner .acm-nominee__work .bb-serif-i { font-size: 1em; }
.acm-nominees--compact .acm-nominee--winner .acm-nominee__credits { font-size: var(--ds-text-sm); margin: 0; }
.acm-nominees--compact .acm-cat__more { border-top: 1px solid var(--ds-color-hairline); }
.acm-nominees--compact .acm-cat__summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 12px; padding: 12px 0; font-size: var(--ds-text-xs); font-weight: var(--ds-weight-bold); letter-spacing: var(--ds-letter-ui); text-transform: uppercase; color: var(--ds-color-gold); transition: color var(--ds-transition-fast); }
.acm-nominees--compact .acm-cat__summary::-webkit-details-marker { display: none; }
.acm-nominees--compact .acm-cat__summary::before { content: ""; width: 26px; height: 26px; flex: none; border: 1px solid var(--ds-color-gold); border-radius: 50%; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Cpath d='M13 8v10M8 13h10' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Cpath d='M13 8v10M8 13h10' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat center / contain; transition: transform var(--ds-transition-base); }
.acm-nominees--compact .acm-cat__summary:hover { color: var(--ds-color-gold-bright); }
.acm-nominees--compact .acm-cat__more[open] .acm-cat__summary::before { transform: rotate(45deg); }
.acm-nominees--compact .acm-cat__list { list-style: none; margin: 0 0 8px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--ds-space-lg); }
.acm-nominees--compact .acm-nominee--row { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--ds-color-hairline); }
.acm-nominees--compact .acm-nominee--row .acm-nominee__photo { width: 48px; height: 60px; border-radius: 6px; overflow: hidden; background: var(--ds-color-graphite); filter: saturate(0.85); }
.acm-nominees--compact .acm-nominee--row .acm-nominee__photo img { width: 100%; height: 100%; object-fit: cover; }
.acm-nominees--compact .acm-nominee--row .acm-nominee__name { font-family: var(--ds-font-display); font-weight: var(--ds-weight-bold); text-transform: uppercase; font-size: 20px; line-height: 1.05; margin: 0; }
.acm-nominees--compact .acm-nominee--row .acm-nominee__work { font-size: var(--ds-text-sm); color: var(--ds-color-gold-bright); margin: 2px 0 0; }
.acm-nominees--compact .acm-nominee--row .acm-nominee__work .bb-serif-i { font-family: var(--ds-font-body); font-size: 1em; text-transform: none; font-weight: var(--ds-weight-medium); }
.acm-nominees--compact .acm-nominee--row .acm-nominee__credits { font-size: var(--ds-text-xs); margin: 2px 0 0; }
.acm-nominees--compact .acm-nominee.is-hit .acm-nominee__name { color: var(--ds-color-gold-bright); }
@media (max-width: 900px) {
	.acm-nominees--compact .acm-cat { grid-template-columns: 1fr; gap: 12px; padding: 22px 0 16px; }
	.acm-nominees--compact .acm-cat__head { position: static; }
	.acm-nominees--compact .acm-cat__list { grid-template-columns: 1fr; }
	.acm-nominees--compact .acm-nominee--winner .acm-nominee__photo { width: 96px; }
	.acm-nominees--compact .acm-nominee--winner .acm-nominee__name { font-size: 28px; }
}

/* -------------------------------------------------------------------------
 * [acm_people layout="compact"] (remembrance): dense rows, tribute behind <details>
 * ---------------------------------------------------------------------- */

.acm-people--compact { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--ds-space-xl); border-top: 1px solid var(--ds-color-hairline); }
.acm-people--compact .acm-people__row { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 16px; align-items: start; padding: 14px 0; border-bottom: 1px solid var(--ds-color-hairline); }
.acm-people--compact .acm-people__photo { width: 64px; height: 80px; border-radius: 6px; overflow: hidden; background: var(--ds-color-graphite); }
.acm-people--compact .acm-people__photo img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(0.85); }
.acm-people--compact .acm-people__body { min-width: 0; padding-top: 2px; }
.acm-people--compact .acm-people__name { font-family: var(--ds-font-display); font-weight: var(--ds-weight-bold); text-transform: uppercase; font-size: 22px; line-height: 1.05; margin: 0; color: var(--ds-color-on-dark); }
.acm-people--compact .acm-people__dates { margin: 3px 0 0; font-size: var(--ds-text-xs); font-weight: var(--ds-weight-bold); letter-spacing: var(--ds-letter-ui); text-transform: uppercase; color: var(--ds-color-on-dark-muted); }
.acm-people--compact .acm-people__more { margin-top: 6px; }
.acm-people--compact .acm-people__summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 10px; padding: 6px 0; font-size: var(--ds-text-xs); font-weight: var(--ds-weight-bold); letter-spacing: var(--ds-letter-ui); text-transform: uppercase; color: var(--ds-color-gold); transition: color var(--ds-transition-fast); }
.acm-people--compact .acm-people__summary::-webkit-details-marker { display: none; }
.acm-people--compact .acm-people__summary::before { content: ""; width: 22px; height: 22px; flex: none; border: 1px solid var(--ds-color-gold); border-radius: 50%; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Cpath d='M13 8v10M8 13h10' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Cpath d='M13 8v10M8 13h10' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat center / contain; transition: transform var(--ds-transition-base); }
.acm-people--compact .acm-people__summary:hover { color: var(--ds-color-gold-bright); }
.acm-people--compact .acm-people__summary:focus-visible { outline: 2px solid var(--ds-color-gold-bright); outline-offset: 3px; border-radius: 2px; }
.acm-people--compact .acm-people__more[open] .acm-people__summary::before { transform: rotate(45deg); }
.acm-people--compact .acm-people__text { font-size: var(--ds-text-sm); line-height: 1.6; color: var(--ds-color-on-dark-muted); max-width: 60ch; padding: 4px 0 8px; }
.acm-people--compact .acm-people__text p { margin: 0 0 0.9em; }
.acm-people--compact .acm-people__text p:last-child { margin-bottom: 0; }
@media (max-width: 900px) {
	.acm-people--compact { grid-template-columns: 1fr; }
}
