/*
Theme Name: Anti-Austerity Coalition
Author: Anti-Austerity Coalition
Version: 1.1.3
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
*/

/* 1. Fonts */
@font-face {
	font-family: 'Archivo';
	font-style: normal;
	font-weight: 100 900;
	font-stretch: 62% 125%;
	font-display: swap;
	src: url('fonts/Archivo-wdth-wght-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Archivo';
	font-style: normal;
	font-weight: 100 900;
	font-stretch: 62% 125%;
	font-display: swap;
	src: url('fonts/Archivo-wdth-wght-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 300 800;
	font-display: swap;
	src: url('fonts/OpenSans-wght-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 300 800;
	font-display: swap;
	src: url('fonts/OpenSans-wght-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Open Sans';
	font-style: italic;
	font-weight: 300 800;
	font-display: swap;
	src: url('fonts/OpenSans-Italic-wght-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Open Sans';
	font-style: italic;
	font-weight: 300 800;
	font-display: swap;
	src: url('fonts/OpenSans-Italic-wght-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* 2. Design tokens */
:root {
		--aac-magenta: #E5007E;
	--aac-magenta-dark: #C2006B;
	--aac-magenta-tint: #FDE6F2;
	--aac-black: #1D1D1B;
	--aac-grey: #5C5C58;
	--aac-paper: #F1F1EF;
	--aac-rule: #D6D6D2;
	--aac-white: #FFFFFF;

		--aac-font-wide: 'AAC Agrandir', 'Archivo', 'Helvetica Neue', Arial, sans-serif;
	--aac-font-condensed: 'AAC Agrandir Narrow', 'Archivo', 'Arial Narrow', sans-serif;
	--aac-font-body: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
	--aac-text-body: clamp(1.0625rem, 1.0446rem + .0893vw, 1.125rem);
	--aac-text-lead: clamp(1.1875rem, 1.0982rem + .4464vw, 1.5rem);
	--aac-text-h2: clamp(1.75rem, 1.3214rem + 2.1429vw, 3.25rem);
	--aac-text-h3: clamp(1.25rem, 1.1429rem + .5357vw, 1.625rem);
	--aac-text-statement: clamp(1.375rem, 1.1607rem + 1.0714vw, 2.125rem);
	--aac-text-title: clamp(2.75rem, 1.6786rem + 5.3571vw, 6.5rem);

		--aac-space-3xs: .25rem;
	--aac-space-2xs: .5rem;
	--aac-space-xs: .75rem;
	--aac-space-s: 1rem;
	--aac-space-m: 1.5rem;
	--aac-space-l: 2rem;
	--aac-space-xl: 3rem;
	--aac-space-2xl: 4.5rem;
	--aac-space-3xl: 6rem;
	--aac-section: clamp(3.5rem, 2.5rem + 5vw, 7.5rem);
	--aac-gutter: clamp(1rem, .5rem + 2.5vw, 2.5rem);
	--aac-grid-gap: clamp(1.5rem, 1rem + 2vw, 2.5rem);
	--aac-container: 76rem;
	--aac-measure: 42rem;

		--aac-line: 2px;
	--aac-line-thick: 3px;
	--aac-bar: 4px;
	--aac-bar-thick: .5rem;
	--aac-ease-out: cubic-bezier(.2, .8, .2, 1);
	--aac-ease-pop: cubic-bezier(.34, 1.56, .64, 1);

	/* Masthead geometry: the logo tab overhangs the bar; re-declared per breakpoint in §8 */
	--aac-bar-h: 4rem;
	--aac-logo-w: 7.5rem;
	--aac-logo-pad: .5rem;
	--aac-logo-img-h: calc(var(--aac-logo-w) * .7059);
	--aac-logo-h: calc(var(--aac-logo-img-h) + 2 * var(--aac-logo-pad));
	--aac-overhang: max(0px, var(--aac-logo-h) - var(--aac-bar-h));
}

/* Surface tokens: components read only these, so they adapt to any band. */
:root,
.aac-surface--white,
.aac-surface--paper {
	--aac-ink: var(--aac-black);
	--aac-display: var(--aac-black);
	--aac-link: var(--aac-magenta-dark);
	--aac-link-hover: var(--aac-black);
	--aac-accent: var(--aac-magenta);
	--aac-frame: var(--aac-black);
	--aac-focus: var(--aac-black);
	--aac-btn-bg: var(--aac-magenta);
	--aac-btn-ink: var(--aac-white);
	--aac-btn-edge: var(--aac-magenta);
	--aac-btn-hover-bg: var(--aac-magenta-dark);
	--aac-btn-hover-ink: var(--aac-white);
	--aac-field-bg: var(--aac-white);
	--aac-field-ink: var(--aac-black);
	--aac-field-line: var(--aac-black);
	--aac-label: var(--aac-black);
	--aac-meta: var(--aac-grey);
	--aac-error-line: var(--aac-magenta-dark);
	--aac-check-on: var(--aac-black);
}
.aac-surface--black,
.has-aac-black-background-color {
	--aac-ink: var(--aac-white);
	--aac-display: var(--aac-white);
	--aac-link: var(--aac-white);
	--aac-link-hover: var(--aac-white);
	--aac-accent: var(--aac-magenta);
	--aac-frame: var(--aac-white);
	--aac-focus: var(--aac-white);
	--aac-btn-bg: var(--aac-magenta);
	--aac-btn-ink: var(--aac-white);
	--aac-btn-edge: var(--aac-magenta);
	--aac-btn-hover-bg: var(--aac-white);
	--aac-btn-hover-ink: var(--aac-black);
	--aac-field-bg: var(--aac-white);
	--aac-field-ink: var(--aac-black);
	--aac-field-line: var(--aac-white);
	--aac-label: var(--aac-white);
	--aac-meta: #CFCFCA;
	--aac-error-line: var(--aac-magenta);
	--aac-check-on: var(--aac-magenta);
}
.aac-surface--magenta,
.has-aac-magenta-background-color {
	--aac-ink: var(--aac-white);
	--aac-display: var(--aac-black);
	--aac-link: var(--aac-white);
	--aac-link-hover: var(--aac-white);
	--aac-link-line-hover: var(--aac-black);
	--aac-accent: var(--aac-white);
	--aac-frame: var(--aac-black);
	--aac-focus: var(--aac-black);
	--aac-btn-bg: var(--aac-black);
	--aac-btn-ink: var(--aac-white);
	--aac-btn-edge: var(--aac-black);
	--aac-btn-hover-bg: var(--aac-white);
	--aac-btn-hover-ink: var(--aac-black);
	--aac-field-bg: var(--aac-white);
	--aac-field-ink: var(--aac-black);
	--aac-field-line: var(--aac-black);
	--aac-label: var(--aac-white);
	--aac-meta: var(--aac-white);
	--aac-error-line: var(--aac-black);
	--aac-check-on: var(--aac-black);
}
.aac-surface--white { background: var(--aac-white); color: var(--aac-ink); }
.aac-surface--paper { background: var(--aac-paper); color: var(--aac-ink); }
.aac-surface--black { background: var(--aac-black); color: var(--aac-ink); }
.aac-surface--magenta { background: var(--aac-magenta); color: var(--aac-ink); }
.has-aac-black-background-color,
.has-aac-magenta-background-color { color: var(--aac-ink); }

/* 3. Base & typography */
*,
*::before,
*::after { box-sizing: border-box; }

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	overflow-x: clip;
	scroll-padding-top: 1rem;
}

body {
	margin: 0;
	font-family: var(--aac-font-body);
	font-size: var(--aac-text-body);
	line-height: 1.6;
	color: var(--aac-ink);
	background: var(--aac-white);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img,
picture,
video { display: block; max-width: 100%; height: auto; }

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	font-synthesis: none;
	text-wrap: balance;
	color: var(--aac-display);
}
p, ul, ol, figure, blockquote { margin: 0; }
p { text-wrap: pretty; }
strong, b { font-weight: 700; }

.aac-slogan,
.aac-hero__text h1,
.aac-title {
	font-family: var(--aac-font-condensed);
	font-stretch: 75%;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -.01em;
	color: var(--aac-display);
}
.aac-slogan,
.aac-hero__text h1 { line-height: .86; }
.aac-title {
	font-size: var(--aac-text-title);
	line-height: .9;
	overflow-wrap: anywhere;
}

/* The single accented word, coloured like "AUSTERITY" in the logo, on its own line. */
.aac-slogan em,
.aac-hero__text h1 em {
	display: block;
	font-style: normal;
	color: var(--aac-accent);
}

h2 {
	font-family: var(--aac-font-wide);
	font-stretch: 125%;
	font-weight: 800;
	font-size: var(--aac-text-h2);
	line-height: 1.02;
	letter-spacing: -.02em;
}
h3,
.aac-h3 {
	font-family: var(--aac-font-wide);
	font-stretch: 112.5%;
	font-weight: 700;
	font-size: var(--aac-text-h3);
	line-height: 1.15;
	letter-spacing: -.01em;
}
.aac-label {
	font-family: var(--aac-font-wide);
	font-stretch: 112.5%;
	font-weight: 700;
	font-size: .875rem;
	line-height: 1.2;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.is-style-statement {
	font-family: var(--aac-font-wide);
	font-stretch: 125%;
	font-weight: 800;
	font-size: var(--aac-text-statement);
	line-height: 1.1;
	letter-spacing: -.015em;
}
.is-style-lead {
	font-size: var(--aac-text-lead);
	font-weight: 500;
	line-height: 1.45;
}

/* 4. Accessibility helpers */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}
.skip-link:focus {
	clip-path: none;
	width: auto;
	height: auto;
	margin: 0;
	top: .75rem;
	left: .75rem;
	z-index: 1000;
	padding: .875rem 1.25rem;
	background: var(--aac-black);
	color: var(--aac-white);
	font-weight: 700;
	text-decoration: none;
	outline: 3px solid var(--aac-magenta);
}
:focus-visible {
	outline: 3px solid var(--aac-focus);
	outline-offset: 3px;
}
#primary:focus { outline: none; }

/* 5. Layout */
.aac-container {
	width: min(100% - 2 * var(--aac-gutter), var(--aac-container));
	margin-inline: auto;
}
.alignfull {
	width: 100vw;
	max-width: none !important;
	margin-inline-start: calc(50% - 50vw);
}

/* 6. Links & buttons */
a {
	color: var(--aac-link);
	text-decoration-thickness: 2px;
	text-underline-offset: .18em;
}
a:hover { color: var(--aac-link-hover); text-decoration-color: var(--aac-link-line-hover, var(--aac-magenta)); }

.aac-icon {
	display: inline-block;
	flex: none;
	width: 1.1em;
	height: 1.1em;
	vertical-align: -.15em;
}

.aac-button,
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .55em;
	min-height: 3rem;
	padding: .875rem 1.375rem;
	font-family: var(--aac-font-wide);
	font-stretch: 112.5%;
	font-weight: 800;
	font-size: 1rem;
	line-height: 1;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--aac-btn-ink);
	background: var(--aac-btn-bg);
	border: var(--aac-line) solid var(--aac-btn-edge);
	border-radius: 0;
	cursor: pointer;
	transition: background-color 120ms, border-color 120ms, color 120ms;
}
.aac-button:hover,
.wp-block-button__link:hover {
	color: var(--aac-btn-hover-ink);
	background: var(--aac-btn-hover-bg);
	border-color: var(--aac-btn-hover-bg);
}
.aac-button--outline,
.wp-block-button.is-style-outline > .wp-block-button__link {
	color: var(--aac-ink);
	background: transparent;
	border-color: var(--aac-frame);
}
.aac-button--outline:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	color: var(--aac-black);
	background: var(--aac-magenta-tint);
	border-color: var(--aac-frame);
}
.aac-button--white {
	--aac-btn-bg: var(--aac-white);
	--aac-btn-ink: var(--aac-black);
	--aac-btn-edge: var(--aac-white);
	--aac-btn-hover-bg: var(--aac-black);
	--aac-btn-hover-ink: var(--aac-white);
}
.wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--aac-space-s) var(--aac-space-m);
}

.aac-arrow-link {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	font-family: var(--aac-font-wide);
	font-stretch: 112.5%;
	font-weight: 800;
	font-size: .9375rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--aac-ink);
	text-decoration: underline;
	text-decoration-color: var(--aac-magenta);
	text-decoration-thickness: 3px;
	text-underline-offset: .35em;
}

/* 7. Forms */
.aac-form { max-width: 40rem; }
.aac-form__grid {
	display: grid;
	gap: 1.25rem;
}
.aac-field {
	display: grid;
	gap: .45rem;
	align-content: start;
}
.aac-field__label {
	font-family: var(--aac-font-wide);
	font-stretch: 112.5%;
	font-weight: 700;
	font-size: .875rem;
	line-height: 1.2;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--aac-label);
}
.aac-field__optional {
	font-family: var(--aac-font-body);
	font-stretch: 100%;
	font-weight: 400;
	font-size: .9375rem;
	letter-spacing: 0;
	text-transform: none;
}
.aac-field__input {
	width: 100%;
	min-height: 3rem;
	padding: .625rem .875rem;
	font: inherit;
	font-size: 1.0625rem;
	line-height: 1.4;
	color: var(--aac-field-ink);
	background: var(--aac-field-bg);
	border: var(--aac-line) solid var(--aac-field-line);
	border-radius: 0;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 120ms;
}
textarea.aac-field__input {
	min-height: 10rem;
	resize: vertical;
}
.aac-field__input:focus-visible {
	outline: 3px solid var(--aac-focus);
	outline-offset: 2px;
}
.aac-form :is(input, textarea):is(:user-invalid, [aria-invalid="true"]) {
	padding: calc(.625rem - 1px) calc(.875rem - 1px);
	border-width: 3px;
	border-color: var(--aac-error-line);
}
.aac-field__error {
	justify-self: start;
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .3rem .625rem;
	font-weight: 700;
	font-size: .9375rem;
	line-height: 1.3;
	color: var(--aac-white);
	background: var(--aac-black);
}
.aac-surface--black .aac-field__error { color: var(--aac-black); background: var(--aac-white); }
.aac-field__error::before {
	content: '!';
	display: inline-grid;
	place-items: center;
	width: 1.25rem;
	height: 1.25rem;
	font-family: var(--aac-font-condensed);
	font-stretch: 75%;
	font-weight: 900;
	color: var(--aac-white);
	background: var(--aac-magenta-dark);
}
.aac-field__error[hidden] { display: none; }

/* Checkbox (custom, >= 24px; native in forced colours) */
.aac-check {
	flex: none;
	display: inline-grid;
	place-content: center;
	width: 1.5rem;
	height: 1.5rem;
	margin: 0;
	background: var(--aac-white);
	border: var(--aac-line) solid var(--aac-black);
	border-radius: 0;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}
.aac-check::after {
	content: '';
	width: .8rem;
	height: .45rem;
	margin-top: -.2rem;
	border: solid var(--aac-white);
	border-width: 0 0 3px 3px;
	transform: rotate(-45deg) scale(0);
	transition: transform 120ms var(--aac-ease-pop);
}
.aac-check:checked { background: var(--aac-magenta); border-color: var(--aac-magenta); }
.aac-check:checked::after { transform: rotate(-45deg) scale(1); }
.aac-check:focus-visible { outline: 3px solid var(--aac-focus); outline-offset: 2px; }

.aac-chips {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
.aac-chips > legend {
	padding: 0;
	margin-bottom: .6rem;
}
.aac-chips__list {
	display: flex;
	flex-wrap: wrap;
	gap: .625rem;
}
.aac-chip {
	display: inline-flex;
	align-items: center;
	gap: .625rem;
	min-height: 2.75rem;
	padding: .5rem 1rem .5rem .625rem;
	font-family: var(--aac-font-wide);
	font-stretch: 112.5%;
	font-weight: 700;
	font-size: .875rem;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--aac-field-ink);
	background: var(--aac-field-bg);
	border: var(--aac-line) solid var(--aac-field-line);
	cursor: pointer;
	transition: background-color 120ms, color 120ms;
}
.aac-chip:hover { background: var(--aac-magenta-tint); }
.aac-chip:has(:checked) {
	color: var(--aac-white);
	background: var(--aac-check-on);
	border-color: var(--aac-check-on);
}
.aac-chip:has(:checked) .aac-check { background: var(--aac-white); border-color: var(--aac-white); }
.aac-chip:has(:checked) .aac-check::after { border-color: var(--aac-check-on); }
.aac-chip:has(:focus-visible) { outline: 3px solid var(--aac-focus); outline-offset: 2px; }
.aac-chip .aac-check:focus-visible { outline: none; }

.aac-pledge {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .75rem 1.5rem;
	padding: 1rem 1.125rem;
	border: var(--aac-line) solid var(--aac-field-line);
}
.aac-pledge__label {
	display: flex;
	align-items: center;
	gap: .875rem;
	font-weight: 700;
	font-size: 1.0625rem;
	line-height: 1.35;
	cursor: pointer;
}
.aac-pledge .aac-check { width: 1.75rem; height: 1.75rem; }
.aac-pledge + .aac-field__error { margin-top: .45rem; }
.aac-form .aac-check:is(:user-invalid, [aria-invalid="true"]) { padding: 0; border-width: 3px; border-color: var(--aac-error-line); }
.aac-pledge:has(.aac-check[aria-invalid="true"]) { border-color: var(--aac-error-line); }
.aac-pledge__link {
	font-weight: 600;
	font-size: .9375rem;
	color: var(--aac-link);
}

.aac-form__actions { padding-top: .25rem; }
.aac-form__status {
	margin-bottom: var(--aac-space-m);
	padding: 1rem 1.125rem;
	font-weight: 600;
	color: var(--aac-black);
	background: var(--aac-white);
	border: 1px solid var(--aac-rule);
	border-left: var(--aac-bar) solid var(--aac-magenta);
	max-width: 40rem;
	overflow-wrap: anywhere;
	text-wrap: pretty;
}
.aac-form__hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

@media (min-width: 40em) {
	.aac-form__grid { grid-template-columns: 1fr 1fr; }
	.aac-form__full { grid-column: 1 / -1; }
}
@media (max-width: 39.99em) {
	.aac-form__actions .aac-button { width: 100%; }
}

.aac-form-card {
	margin-top: var(--aac-space-l);
	padding: clamp(1.25rem, 4vw, 2.5rem);
	background: var(--aac-paper);
	border-top: var(--aac-bar) solid var(--aac-magenta);
}

/* 8. Header & navigation */
@media (min-width: 30em) {
	:root {
		--aac-bar-h: 4.5rem;
		--aac-logo-w: 8.5rem;
		--aac-logo-pad: .625rem;
	}
}
@media (min-width: 60em) {
	:root {
		--aac-bar-h: 5.5rem;
		--aac-logo-w: 10rem;
		--aac-logo-pad: .75rem;
	}
}
@media (min-width: 80em) {
	:root {
		--aac-bar-h: 6rem;
		--aac-logo-w: 11.5rem;
		--aac-logo-pad: .875rem;
	}
}

.site-header {
	position: relative;
	z-index: 50;
}
.site-header__bar {
	display: flex;
	align-items: center;
	gap: var(--aac-space-xs);
	min-height: var(--aac-bar-h);
}
.site-branding {
	position: relative;
	flex: none;
	align-self: stretch;
	width: calc(var(--aac-logo-w) + 2 * var(--aac-logo-pad));
	margin-inline-end: auto;
}
/* The logo tab: white, hanging from the top of the bar over the band below. */
.site-logo {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 60;
	display: block;
	padding: var(--aac-logo-pad);
	background: var(--aac-white);
}
.site-logo img {
	width: var(--aac-logo-w);
	height: var(--aac-logo-img-h);
	object-fit: contain;
	object-position: left center;
}

/* Sign up copies: never more than one exposed. */
.site-signup--bar { display: none; }
@media (min-width: 30em) and (max-width: 59.99em) {
	.js .site-signup--bar { display: inline-flex; }
}

.menu-toggle {
	position: relative;
	z-index: 110;
	display: inline-flex;
	align-items: center;
	gap: .625rem;
	min-width: 3rem;
	min-height: 3rem;
	padding: 0 .875rem;
	font-family: var(--aac-font-wide);
	font-stretch: 112.5%;
	font-weight: 800;
	font-size: .875rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--aac-white);
	background: var(--aac-black);
	border: var(--aac-line) solid var(--aac-black);
	border-radius: 0;
	cursor: pointer;
}
.menu-toggle__bars {
	position: relative;
	display: block;
	width: 1.375rem;
	height: 1rem;
}
.menu-toggle__bars span {
	position: absolute;
	left: 0;
	right: 0;
	height: 3px;
	background: currentColor;
	transition: transform 200ms var(--aac-ease-out), opacity 200ms;
}
.menu-toggle__bars span:nth-child(1) { top: 0; }
.menu-toggle__bars span:nth-child(2) { top: calc(50% - 1.5px); }
.menu-toggle__bars span:nth-child(3) { bottom: 0; }
.menu-toggle[aria-expanded="true"] {
	background: var(--aac-magenta);
	border-color: var(--aac-white);
	--aac-focus: var(--aac-white);
}
.menu-toggle[aria-expanded="true"] .menu-toggle__bars span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__bars span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-toggle__bars span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

.main-navigation .menu {
	margin: 0;
	padding: 0;
	list-style: none;
}
.main-navigation .menu a {
	position: relative;
	isolation: isolate;
	display: block;
	font-family: var(--aac-font-condensed);
	font-stretch: 75%;
	color: var(--aac-white);
	text-decoration: none;
	text-transform: uppercase;
}

@media (max-width: 59.99em) {
	.no-js .menu-toggle { display: none; }
	.js .main-navigation::before {
		content: '';
		position: fixed;
		inset: 0;
		z-index: 90;
		background: rgba(29, 29, 27, .6);
		opacity: 0;
		visibility: hidden;
	}
	.aac-menu-open .main-navigation::before { opacity: 1; visibility: visible; }
	.js .main-navigation__panel {
		position: fixed;
		top: var(--wp-admin--admin-bar--height, 0px);
		right: 0;
		bottom: 0;
		z-index: 100;
		display: flex;
		flex-direction: column;
		gap: var(--aac-space-l);
		width: min(24rem, 100% - 3.5rem);
		padding: calc(var(--aac-bar-h) + 1.5rem) 1.5rem 2rem;
		overflow-y: auto;
		overscroll-behavior: contain;
		background: var(--aac-black);
		border-left: var(--aac-bar) solid var(--aac-magenta);
		visibility: hidden;
		transform: translateX(100%);
		--aac-focus: var(--aac-white);
		--aac-btn-bg: var(--aac-magenta);
		--aac-btn-edge: var(--aac-magenta);
		--aac-btn-hover-bg: var(--aac-white);
		--aac-btn-hover-ink: var(--aac-black);
		--aac-link: var(--aac-white);
		--aac-link-hover: var(--aac-white);
		--aac-link-line-hover: var(--aac-white);
	}
	.js .menu-toggle[aria-expanded="true"] + .main-navigation__panel {
		visibility: visible;
		transform: none;
	}
	.main-navigation__panel .menu { display: grid; gap: .25rem; }
	.main-navigation__panel .menu a {
		width: fit-content;
		padding: .25rem .5rem;
		margin-inline-start: -.5rem;
		font-weight: 900;
		font-size: 2.25rem;
		line-height: 1;
	}
	.main-navigation__panel .menu a::before {
		content: '';
		position: absolute;
		left: .5rem;
		right: .5rem;
		bottom: 0;
		height: .2rem;
		background: var(--aac-magenta);
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 200ms var(--aac-ease-out);
	}
	.main-navigation__panel .menu a:hover::before,
	.main-navigation__panel .current-menu-item > a::before,
	.main-navigation__panel .current-menu-ancestor > a::before { transform: scaleX(1); }
	.main-navigation__panel .site-signup--nav { width: 100%; }
	.main-navigation__panel__email {
		font-weight: 600;
		font-size: .9375rem;
		line-height: 1.4;
		color: var(--aac-white);
		text-decoration-color: var(--aac-magenta);
		overflow-wrap: anywhere;
	}
	html.aac-menu-open { overflow: hidden; }
}

@media (min-width: 60em) {
	.menu-toggle { display: none; }
	.main-navigation__panel {
		display: flex;
		align-items: center;
		gap: var(--aac-space-s);
	}
	.main-navigation__panel__email { display: none; }
	.main-navigation .menu { display: flex; gap: .125rem; }
	.main-navigation .menu a {
		padding: .5rem .625rem;
		font-weight: 800;
		font-size: 1.25rem;
		letter-spacing: .02em;
		white-space: nowrap;
	}
	.main-navigation .menu a::before {
		content: '';
		position: absolute;
		left: .5rem;
		right: .5rem;
		bottom: .3rem;
		z-index: -1;
		height: .2em;
		background: var(--aac-black);
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 200ms var(--aac-ease-out);
	}
	.main-navigation .menu a:hover::before,
	.main-navigation .menu a:focus-visible::before { transform: scaleX(1); }
	.main-navigation .current-menu-item > a::before,
	.main-navigation .current-menu-ancestor > a::before { transform: scaleX(1); }
}
@media (min-width: 80em) {
	.main-navigation .menu a { font-size: 1.375rem; }
}

/* 9. Front page */
.aac-hero {
	padding-block: calc(var(--aac-overhang) + var(--aac-space-l)) var(--aac-section);
}
.aac-hero__grid {
	display: grid;
	gap: var(--aac-space-2xl);
}
.aac-hero__text {
	container-type: inline-size;
	display: grid;
	gap: var(--aac-space-m);
	align-content: center;
}
.aac-hero .aac-slogan,
.aac-hero__text h1 {
	font-size: clamp(3rem, 15vw, 8.5rem);
	font-size: clamp(3rem, 18cqi, 8.5rem);
}
.aac-hero .is-style-lead { max-width: 34rem; }
.aac-hero .wp-block-buttons { margin-top: var(--aac-space-2xs); }

.aac-collage {
	position: relative;
	width: min(100%, 34rem);
	margin: 0 0 0 auto;
}
.aac-collage__main {
	position: relative;
	margin: 12% 0 0 16%;
	width: 84%;
	background: var(--aac-black);
	border-bottom: var(--aac-bar-thick) solid var(--aac-magenta);
}
.aac-collage__main img,
.aac-collage__inset img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}
.aac-collage__inset {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 44%;
	padding: .375rem;
	background: var(--aac-paper);
}
.aac-collage__tag {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 3;
	max-width: 100%;
	margin: 0;
	text-wrap: balance;
	padding: .5rem .75rem;
	font-style: normal;
	font-family: var(--aac-font-wide);
	font-stretch: 112.5%;
	font-weight: 700;
	font-size: .8125rem;
	line-height: 1.2;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--aac-white);
	background: var(--aac-black);
}

@media (min-width: 60em) {
	.aac-hero { padding-top: var(--aac-space-xl); }
	.aac-hero__grid {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: var(--aac-grid-gap);
		align-items: center;
	}
	.aac-hero__text {
		grid-column: 1 / 7;
		padding-top: var(--aac-overhang);
	}
	.aac-collage {
		grid-column: 7 / 13;
		width: 100%;
		max-width: 34rem;
	}
}

.aac-signup {
	padding-block: var(--aac-section);
	scroll-margin-top: 1.5rem;
}
.aac-signup__grid {
	display: grid;
	gap: var(--aac-space-xl);
	align-items: center;
}
.aac-signup__photo { margin: 0; }
.aac-signup__photo img {
	width: 100%;
	height: auto;
	border-bottom: var(--aac-bar-thick) solid var(--aac-magenta);
}
.aac-signup__title {
	margin-bottom: var(--aac-space-s);
	color: var(--aac-display);
}
.aac-signup__intro {
	max-width: 34rem;
	margin-bottom: var(--aac-space-l);
	color: var(--aac-ink);
}
@media (min-width: 60em) {
	.aac-signup__grid {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: var(--aac-grid-gap);
	}
	.aac-signup__photo {
		grid-column: 1 / 6;
	}
	.aac-signup__body { grid-column: 6 / 13; padding-inline-start: var(--aac-space-m); }
}

.aac-latest { padding-block: var(--aac-section); }
.aac-latest__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--aac-space-s) var(--aac-space-l);
	margin-bottom: var(--aac-space-xl);
}

/* 10. Pages & block styles */
.aac-page-header {
	padding-block: calc(var(--aac-overhang) + var(--aac-space-l)) var(--aac-space-2xl);
}
.aac-page-header__grid {
	display: grid;
	gap: var(--aac-space-xl);
}
.aac-title::after {
	content: '';
	display: block;
	width: 5rem;
	height: var(--aac-bar-thick);
	margin-top: var(--aac-space-m);
	background: var(--aac-magenta);
}
.aac-standfirst {
	max-width: 36rem;
	margin-top: var(--aac-space-l);
	font-size: var(--aac-text-lead);
	font-weight: 500;
	line-height: 1.45;
}
.aac-page-header--photo-below { padding-bottom: calc(var(--aac-space-2xl) + var(--aac-space-xl)); }
.aac-page-photo { margin-block: 0; }
.aac-page-photo img {
	width: 100%;
	height: auto;
	border-bottom: var(--aac-bar-thick) solid var(--aac-magenta);
}
.aac-page-photo--band {
	position: relative;
	margin-top: calc(-1 * var(--aac-space-2xl));
}
.aac-page-photo--side { max-width: 28rem; }
/* An editor's own image takes the theme photo's shape */
.aac-photo--custom { object-fit: cover; }
.aac-signup__photo .aac-photo--custom { aspect-ratio: 16 / 9; }
.aac-page-photo--band .aac-photo--custom { aspect-ratio: 4 / 3; }
.aac-page-photo--side .aac-photo--custom { aspect-ratio: 1; }
@media (min-width: 40em) {
	.aac-page-photo--band .aac-photo--custom { aspect-ratio: 21 / 9; }
}
@media (min-width: 60em) {
	.aac-signup__photo .aac-photo--custom { aspect-ratio: 4 / 5; }
}

@media (min-width: 60em) {
	.aac-page-header--photo-side .aac-page-header__grid {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: var(--aac-grid-gap);
		align-items: end;
	}
	.aac-page-header--photo-side .aac-page-header__text { grid-column: 1 / 8; padding-bottom: var(--aac-space-s); }
	.aac-page-header--photo-side .aac-page-photo--side {
		grid-column: 8 / 13;
		max-width: none;
	}
}

.entry-content {
	padding-block: var(--aac-section);
}
.entry-content > * { max-width: var(--aac-measure); }
.entry-content > * + * { margin-top: 1.25em; }
.entry-content > h2 { margin-top: 2.4em; }
.entry-content > h2 + * { margin-top: .9em; }
.entry-content > .is-style-statement { margin-top: 0; padding-left: var(--aac-space-m); border-left: var(--aac-bar-thick) solid var(--aac-magenta); }
.entry-content > .alignfull:last-child { margin-bottom: calc(-1 * var(--aac-section)); }
.entry-content > .alignfull { margin-top: var(--aac-section); }
/* The theme's section blocks (Page intro, Hero, Sign-up band, Latest news) run full width */
.entry-content > .aac-band {
	width: 100vw;
	max-width: none;
	margin-top: var(--aac-section);
	margin-inline-start: calc(50% - 50vw);
}
.entry-content > .aac-band:first-child { margin-top: calc(-1 * var(--aac-section)); }
.entry-content > .aac-band:last-child { margin-bottom: calc(-1 * var(--aac-section)); }
.entry-content > .aac-band + *,
.entry-content > .aac-band + .is-style-statement { margin-top: var(--aac-section); }
.entry-content > .aac-band + .aac-band { margin-top: 0; }
.entry-content ul:not([class]) { padding-left: 1.25em; list-style: square; }
.entry-content ul:not([class]) li::marker { color: var(--aac-magenta); }
.entry-content a:not([class]) { font-weight: 600; }

.is-style-asks {
	--num: 3.5rem;
	max-width: 54rem !important;
	padding: 0;
	list-style: none;
	counter-reset: aac-ask;
}
.is-style-asks > li {
	position: relative;
	padding: var(--aac-space-l) 0 var(--aac-space-l) calc(var(--num) + var(--aac-space-m));
	border-top: var(--aac-line-thick) solid var(--aac-frame);
	counter-increment: aac-ask;
}
.is-style-asks > li:last-child { border-bottom: var(--aac-line-thick) solid var(--aac-frame); }
.is-style-asks > li::before {
	content: counter(aac-ask);
	position: absolute;
	left: 0;
	top: calc(var(--aac-space-l) - .02em);
	width: var(--num);
	font-family: var(--aac-font-condensed);
	font-stretch: 75%;
	font-weight: 900;
	font-size: clamp(4.5rem, 3.5rem + 5vw, 7.5rem);
	line-height: .78;
	color: var(--aac-magenta);
}
.is-style-asks > li > strong:first-child {
	display: block;
	text-wrap: balance;
	margin-bottom: .6rem;
	font-family: var(--aac-font-wide);
	font-stretch: 125%;
	font-weight: 800;
	font-size: var(--aac-text-statement);
	line-height: 1.1;
	letter-spacing: -.015em;
}
@media (min-width: 40em) {
	.is-style-asks { --num: 5.5rem; }
}
@media (min-width: 80em) {
	.is-style-asks > li::before { left: calc(-1 * var(--aac-space-m)); }
}

.is-style-members {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr));
	gap: 1rem;
	max-width: 64rem !important;
	padding: 0;
	list-style: none;
}
.is-style-members > li {
	display: flex;
	align-items: center;
	gap: .75rem;
	padding: .875rem 1rem;
	font-family: var(--aac-font-condensed);
	font-stretch: 75%;
	font-weight: 800;
	font-size: 1.25rem;
	line-height: 1.1;
	letter-spacing: .01em;
	text-transform: uppercase;
	background: var(--aac-white);
	border: 1px solid var(--aac-rule);
	border-left: var(--aac-bar) solid var(--aac-magenta);
}

/* 11. Posts: filter, cards, pagination */
.aac-filter { margin-top: var(--aac-space-l); }
.aac-filter ul {
	display: flex;
	flex-wrap: wrap;
	gap: .625rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.aac-filter a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding: .5rem 1rem;
	font-family: var(--aac-font-wide);
	font-stretch: 112.5%;
	font-weight: 700;
	font-size: .875rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--aac-black);
	background: var(--aac-white);
	border: var(--aac-line) solid var(--aac-black);
}
.aac-filter a:hover { background: var(--aac-magenta-tint); }
.aac-filter a[aria-current] {
	color: var(--aac-white);
	background: var(--aac-black);
	border-color: var(--aac-black);
}

.aac-posts { padding-block: var(--aac-section); }
.aac-cards {
	display: grid;
	gap: calc(var(--aac-grid-gap) + .5rem) var(--aac-grid-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}
.aac-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--aac-white);
	border: 1px solid var(--aac-rule);
	border-top: var(--aac-bar) solid var(--aac-magenta);
	transition: border-color 160ms;
}
.aac-card__image img {
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.aac-card__body {
	display: grid;
	align-content: start;
	gap: .75rem;
	padding: 1.75rem 1.375rem 1.5rem;
}
.aac-tag {
	display: inline-block;
	padding: .3rem .6rem;
	font-family: var(--aac-font-wide);
	font-stretch: 112.5%;
	font-weight: 700;
	font-size: .8125rem;
	line-height: 1.2;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--aac-white);
	background: var(--aac-magenta);
}
.aac-tag--events { background: var(--aac-black); }
a.aac-tag:hover { color: var(--aac-white); background: var(--aac-black); }
a.aac-tag--events:hover { background: var(--aac-magenta); }
.aac-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem .875rem;
}
.aac-card__date {
	font-family: var(--aac-font-wide);
	font-stretch: 112.5%;
	font-weight: 700;
	font-size: .8125rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--aac-meta);
}
.aac-card__title a {
	color: inherit;
	text-decoration: none;
}
.aac-card__title a::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
}
.aac-card__excerpt {
	display: -webkit-box;
	overflow: hidden;
	font-size: 1rem;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
}
.aac-card--no-image .aac-card__excerpt { -webkit-line-clamp: 6; }
.aac-card:hover { border-color: var(--aac-black); border-top-color: var(--aac-magenta); }
.aac-card:hover .aac-card__title a {
	text-decoration: underline;
	text-decoration-color: var(--aac-magenta);
	text-decoration-thickness: 3px;
}
@supports selector(:has(*)) {
	.aac-card:has(a:focus-visible) { outline: 3px solid var(--aac-focus); outline-offset: 4px; }
	.aac-card a:focus-visible { outline: none; }
}

@media (min-width: 40em) {
	.aac-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 60em) {
	.aac-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* 12. Footer */
.aac-footer-asks {
	padding-block: var(--aac-space-l);
	border-top: var(--aac-bar) solid var(--aac-magenta);
}
.aac-footer-asks__list {
	display: grid;
	gap: .875rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.aac-footer-asks__list li {
	display: flex;
	align-items: flex-start;
	gap: .75rem;
	font-family: var(--aac-font-wide);
	font-stretch: 112.5%;
	font-weight: 800;
	font-size: clamp(1.0625rem, 1.0089rem + .2679vw, 1.25rem);
	line-height: 1.75rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--aac-white);
}
.aac-footer-asks__num {
	flex: none;
	display: inline-grid;
	place-items: center;
	width: 1.75rem;
	height: 1.75rem;
	font-family: var(--aac-font-condensed);
	font-stretch: 75%;
	font-weight: 900;
	font-size: 1.125rem;
	line-height: 1;
	color: var(--aac-white);
	background: var(--aac-magenta);
}
.aac-footer-asks__more {
	display: inline-block;
	margin-top: var(--aac-space-m);
	font-family: var(--aac-font-wide);
	font-stretch: 112.5%;
	font-weight: 700;
	font-size: .8125rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--aac-white);
	text-decoration-color: var(--aac-magenta);
}
/* Desktop: two columns read downwards, the link in the next cell (subgrid keeps it out of the list) */
@media (min-width: 60em) {
	@supports (grid-template-rows: subgrid) {
		.aac-footer-asks__grid {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			grid-template-rows: repeat(var(--aac-ask-rows, 3), auto);
			gap: .875rem var(--aac-grid-gap);
		}
		.aac-footer-asks__list {
			grid-column: 1 / -1;
			grid-row: 1 / -1;
			grid-template-columns: subgrid;
			grid-template-rows: subgrid;
			grid-auto-flow: column;
			gap: normal;
		}
		.aac-footer-asks__more {
			position: relative;
			grid-column: 2;
			grid-row: var(--aac-ask-link-row, 3);
			align-self: start;
			justify-self: start;
			margin-top: 0;
			line-height: 1.75rem;
		}
	}
}

.site-footer__main { padding-block: var(--aac-section) var(--aac-space-2xl); }
.site-footer__slogan-wrap { container-type: inline-size; }
.aac-slogan--footer {
	font-size: clamp(2.25rem, 7vw, 5rem);
	font-size: clamp(2.25rem, min(8cqi, 12svh), 5rem);
	overflow-wrap: break-word;
}
.site-footer__cols {
	display: grid;
	gap: var(--aac-space-xl);
	margin-top: var(--aac-space-2xl);
	padding-top: var(--aac-space-l);
	border-top: var(--aac-line-thick) solid var(--aac-black);
}
.site-footer__cols:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.site-footer__heading {
	margin-bottom: var(--aac-space-s);
	font-family: var(--aac-font-wide);
	font-stretch: 112.5%;
	font-weight: 700;
	font-size: .875rem;
	line-height: 1.2;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--aac-white);
}
.site-footer__blurb {
	max-width: 26rem;
	margin-bottom: var(--aac-space-m);
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--aac-white);
}
.site-footer .menu {
	display: grid;
	gap: .375rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.site-footer .menu a {
	position: relative;
	isolation: isolate;
	display: inline-block;
	padding: .2rem 0;
	font-family: var(--aac-font-wide);
	font-stretch: 112.5%;
	font-weight: 700;
	font-size: 1.125rem;
	letter-spacing: .03em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--aac-white);
}
.site-footer .menu a::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: .1rem;
	z-index: -1;
	height: .25em;
	background: var(--aac-black);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 200ms var(--aac-ease-out);
}
.site-footer .menu a:hover::before { transform: scaleX(1); }
.site-footer .menu .current-menu-item > a::before { transform: none; }
.site-footer__email {
	font-weight: 700;
	font-size: 1.125rem;
	color: var(--aac-white);
	overflow-wrap: anywhere;
}
.site-footer__base { padding-block: 1.25rem; }
.site-footer__base .aac-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: .5rem 2rem;
}
.site-footer__base p {
	font-family: var(--aac-font-wide);
	font-stretch: 112.5%;
	font-weight: 700;
	font-size: .8125rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--aac-white);
}
.site-footer__base a {
	color: var(--aac-white);
	text-decoration-color: var(--aac-magenta);
}
.site-footer__base a:hover { text-decoration-color: var(--aac-white); }
@media (min-width: 40em) {
	.site-footer__cols { grid-template-columns: 1fr 1fr; }
	.site-footer__col--about { grid-column: 1 / -1; }
}
@media (min-width: 60em) {
	.site-footer__cols { grid-template-columns: 5fr 3fr 4fr; }
	.site-footer__col--about { grid-column: auto; }
}

/* 13. Templates & WordPress content */

/* Scroll lock while the mobile menu is open, without a layout shift */
html.aac-menu-open { padding-inline-end: var(--aac-scrollbar, 0px); }

/* Page-list fallback menu (before a menu is assigned) uses core's page classes */
.main-navigation .current_page_item > a::before { transform: scaleX(1); }

/* No JS: below 60em the menu is a wrapped row beside the logo tab, never under it */
@media (max-width: 59.99em) {
	.no-js .site-header__bar { align-items: flex-start; }
	.no-js .main-navigation {
		flex: 1 1 0;
		min-width: 0;
		padding-block: .625rem;
	}
	.no-js .main-navigation__panel {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-end;
		gap: .5rem;
	}
	.no-js .main-navigation__panel .menu {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		gap: .125rem;
	}
	.no-js .main-navigation__panel .menu a {
		margin: 0;
		padding: .375rem .5rem;
		font-weight: 800;
		font-size: 1.125rem;
	}
	.no-js .main-navigation__panel .menu a::before { background: var(--aac-black); }
	.no-js .main-navigation__panel__email { display: none; }
	.no-js .main-navigation__panel .site-signup--nav {
		width: auto;
		min-height: 2.5rem;
		padding: .5rem .875rem;
	}
}

.navigation.pagination { margin-top: var(--aac-space-2xl); }
.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
}
.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	min-width: 3rem;
	min-height: 3rem;
	padding: 0 .75rem;
	font-family: var(--aac-font-wide);
	font-stretch: 112.5%;
	font-weight: 800;
	font-size: .9375rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--aac-black);
	background: var(--aac-white);
	border: var(--aac-line) solid var(--aac-black);
}
.pagination a.page-numbers:hover { background: var(--aac-magenta-tint); }
.pagination .page-numbers.current {
	color: var(--aac-white);
	background: var(--aac-black);
}
.pagination .page-numbers.dots {
	min-width: 0;
	background: none;
	border-color: transparent;
}

.aac-single__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .75rem 1.25rem;
	margin-bottom: var(--aac-space-m);
}
.aac-single__date {
	font-family: var(--aac-font-wide);
	font-stretch: 112.5%;
	font-weight: 700;
	font-size: .8125rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--aac-meta);
}
.aac-single__title {
	max-width: 22ch;
	font-family: var(--aac-font-wide);
	font-stretch: 112.5%;
	font-weight: 800;
	font-size: clamp(2.25rem, 1.6rem + 2.9vw, 4.25rem);
	line-height: 1.02;
	letter-spacing: -.015em;
}
.aac-single .entry-content { padding-bottom: var(--aac-space-xl); }
.aac-single__footer {
	display: grid;
	justify-items: start;
	gap: var(--aac-space-l);
	padding-bottom: var(--aac-section);
}
.post-navigation { width: 100%; max-width: 52rem; }
.post-navigation .nav-links {
	display: grid;
	gap: 1rem;
}
.post-navigation a {
	display: grid;
	gap: .35rem;
	height: 100%;
	padding: 1rem 1.25rem;
	color: var(--aac-black);
	text-decoration: none;
	background: var(--aac-white);
	border: 1px solid var(--aac-rule);
	border-left: var(--aac-bar) solid var(--aac-magenta);
}
.post-navigation a:hover { background: var(--aac-magenta-tint); }
.aac-single__nav-label {
	font-family: var(--aac-font-wide);
	font-stretch: 112.5%;
	font-weight: 700;
	font-size: .8125rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--aac-meta);
}
.aac-single__nav-title {
	font-family: var(--aac-font-wide);
	font-stretch: 112.5%;
	font-weight: 700;
	font-size: 1.125rem;
	line-height: 1.2;
}
@media (min-width: 40em) {
	.post-navigation .nav-links { grid-template-columns: 1fr 1fr; }
	.post-navigation .nav-next { grid-column: 2; text-align: right; }
}
@media (max-width: 39.99em) {
	.aac-single__title { hyphens: auto; overflow-wrap: break-word; }
}

.aac-title em {
	font-style: normal;
	color: var(--aac-accent);
}

.aac-404 { padding-bottom: var(--aac-section); }
.aac-404__label {
	margin-bottom: var(--aac-space-s);
	color: var(--aac-meta);
}
.aac-404__links { margin-top: var(--aac-space-l); }
.aac-title__query { color: var(--aac-magenta-dark); }

.aac-none {
	display: grid;
	justify-items: start;
	gap: 1rem;
	max-width: var(--aac-measure);
}

.entry-content > h3 { margin-top: 2em; }
.entry-content ol:not([class]) { padding-left: 1.4em; }
.entry-content ol:not([class]) li::marker { font-weight: 800; color: var(--aac-magenta-dark); }
.entry-content .alignwide { max-width: 64rem; }
.entry-content img { height: auto; }
figcaption,
.wp-element-caption {
	margin-top: .6rem;
	font-size: .875rem;
	font-style: italic;
	color: var(--aac-meta);
}
.entry-content blockquote,
.wp-block-quote {
	padding-left: var(--aac-space-m);
	border-left: var(--aac-bar-thick) solid var(--aac-magenta);
	font-family: var(--aac-font-wide);
	font-stretch: 125%;
	font-weight: 800;
	font-size: var(--aac-text-statement);
	line-height: 1.1;
}
.wp-block-quote cite {
	display: block;
	margin-top: .75rem;
	font-family: var(--aac-font-body);
	font-stretch: 100%;
	font-size: .9375rem;
	font-style: normal;
	font-weight: 600;
}
.entry-content hr,
.wp-block-separator {
	max-width: var(--aac-measure);
	margin-block: 2.5rem;
	border: 0;
	border-top: var(--aac-line-thick) solid var(--aac-black);
	opacity: 1;
}
.entry-content table {
	width: 100%;
	border-collapse: collapse;
}
.entry-content th,
.entry-content td {
	padding: .6rem .75rem;
	text-align: left;
	border-bottom: var(--aac-line) solid var(--aac-black);
}
.alignleft { float: left; margin: .3rem 1.5rem 1rem 0; }
.alignright { float: right; margin: .3rem 0 1rem 1.5rem; }
.aligncenter { margin-inline: auto; }
.page-links { display: flex; gap: .5rem; font-weight: 700; }
/* Arrow on buttons inside page content (block buttons can't hold the SVG icon) */
.entry-content .wp-block-button__link::after {
	content: '';
	flex: none;
	width: 1.1em;
	height: 1.1em;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12h16M13 5l7 7-7 7' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='square'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12h16M13 5l7 7-7 7' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='square'/%3E%3C/svg%3E") center / contain no-repeat;
}
.aac-form__privacy {
	margin-top: var(--aac-space-m);
	font-size: .9375rem;
	color: var(--aac-ink);
}

/* 14. Reduced motion, forced colours */
@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
	.js .main-navigation__panel { transition: transform 280ms var(--aac-ease-out), visibility 0s 280ms; }
	.js .menu-toggle[aria-expanded="true"] + .main-navigation__panel { transition: transform 280ms var(--aac-ease-out), visibility 0s; }
	.js .main-navigation::before { transition: opacity 280ms, visibility 0s 280ms; }
	.aac-menu-open .main-navigation::before { transition: opacity 280ms, visibility 0s; }
}
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}
@media (forced-colors: active) {
	.aac-check { -webkit-appearance: auto; appearance: auto; }
	.main-navigation .current-menu-item > a,
	.main-navigation .current-menu-ancestor > a,
	.site-footer .menu .current-menu-item > a,
	.aac-filter a[aria-current],
	.pagination .page-numbers.current { text-decoration: underline; text-decoration-thickness: 3px; }
	.menu-toggle__bars span { forced-color-adjust: none; background: ButtonText; }
	:focus-visible { outline-color: Highlight; }
}
