/* ACDH 2025 — motifs not expressible purely through theme.json */

/* Kicker label above headings, e.g. "GOVERNANCE" small orange label */
.acdh-kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	font-size: 1.2rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--orange);
	margin-bottom: 0.5rem;
}
.acdh-kicker.is-blue { color: var(--wp--preset--color--blue); }
.acdh-kicker.is-purple { color: var(--wp--preset--color--purple); }
.acdh-kicker.is-green { color: var(--wp--preset--color--green); }

/* Dotted rule under section headings, mirrors the PDF's ". . . ." underline */
.acdh-dotted-rule,
.is-style-acdh-dotted-rule {
	border: none;
	border-bottom: 3px dotted var(--wp--preset--color--blue);
	height: 0;
	max-width: 100%;
	margin: 0.75rem 0 2rem;
	opacity: 0.9;
}
.acdh-dotted-rule.is-style-navy { border-bottom-color: var(--wp--preset--color--navy); }

/* Section wrapper with concentric ring arcs bleeding off a corner (PDF motif) */
.acdh-swoosh {
	position: relative;
	overflow: hidden;
}
.acdh-swoosh::before {
	content: "";
	position: absolute;
	top: -70px;
	right: -140px;
	width: 340px;
	height: 640px;
	background: url('../images/bg-crescent.svg') no-repeat center/contain;
	opacity: 0.4;
	pointer-events: none;
	z-index: 0;
}
.acdh-swoosh.is-corner-bottom-left::before {
	top: auto;
	right: auto;
	bottom: -70px;
	left: -140px;
}
.acdh-swoosh > * {
	position: relative;
	z-index: 1;
}

/* Reusable sub-page header band: left-aligned title with a dotted underline.
   Applied to every page via templates/page.html. */
.acdh-page-head {
	position: relative;
	background: transparent;
	padding-top: 3.25rem;
	padding-bottom: 3.25rem;
	min-height: 190px;
	display: flex;
	align-items: center;
	text-align: left;
}
/* Brand arc graphic: bleeds off the left edge and spills below the band, behind
   the page content (z-index: -1), so body text can sit over it. */
.acdh-page-head::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 360px;
	height: 540px;
	background: url('../images/page-head-arcs.svg') no-repeat left top / contain;
	pointer-events: none;
	z-index: -1;
}
/* Inner wrapper carries the 1200px measure so the title lines up with the body
   column below it; the h1 then sits flush left inside it. */
.acdh-page-head-inner {
	width: 100%;
	max-width: 1200px;
}
.acdh-page-title {
	position: relative;
	z-index: 1;
	display: inline-block;
	margin: 0;
	text-align: left;
	font-size: 2.75rem;
	text-transform: none;
	letter-spacing: 0;
	color: var(--wp--preset--color--navy);
	padding-bottom: 0.6rem;
	border-bottom: 3px dotted #6570A0;
}

@media (max-width: 782px) {
	.acdh-page-head {
		min-height: 150px;
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
	}
	.acdh-page-head::before { width: 190px; height: 285px; }
	.acdh-page-title { font-size: 1.9rem; hyphens: none; overflow-wrap: normal; }
}

/* Portrait headshot cropped to a true circle (overrides is-style-rounded oval) */
.acdh-headshot img {
	aspect-ratio: 1 / 1;
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: center top;
	border-radius: 50%;
}

/* Internal page: main content + sticky right section nav ------------------- */
.acdh-page-body {
	align-items: flex-start;
	gap: clamp(2rem, 4vw, 3.5rem);
}
.acdh-main-col {
	flex: 1 1 auto;
	min-width: 0;
}
/* Let content fill the column (neutralise the 740px constrained centring) */
.acdh-main-col > .wp-block-post-content.is-layout-constrained > *,
.acdh-main-col > .wp-block-post-content.is-layout-constrained > .alignwide {
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}
.acdh-sidebar {
	flex: 0 0 230px;
	width: 230px;
	position: sticky;
	top: 116px;
}
.admin-bar .acdh-sidebar { top: 148px; }

/* Sidebar section nav — vertical list of report sections */
.acdh-sidebar-nav .wp-block-navigation__container {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
	align-items: stretch;
	width: 100%;
}
.acdh-sidebar-nav .wp-block-navigation-item { width: 100%; }
.acdh-sidebar-nav .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 0.6rem 1rem;
	font-weight: 600;
	color: var(--wp--preset--color--blue);
	border-radius: 8px;
	line-height: 1.3;
}
.acdh-sidebar-nav .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--navy);
	background: var(--wp--preset--color--pale-blue);
}
.acdh-sidebar-nav .current-menu-item > .wp-block-navigation-item__content,
.acdh-sidebar-nav a.wp-block-navigation-item__content[aria-current] {
	background: var(--wp--preset--color--light-blue);
	color: var(--wp--preset--color--navy);
}

@media (max-width: 900px) {
	.acdh-page-body { display: block; }
	.acdh-sidebar { display: none; }
}

/* Navy uppercase role / committee sub-heading (Governance page) */
.acdh-role-title {
	font-size: 0.95rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-weight: 700;
	color: var(--wp--preset--color--navy);
	margin: 0 0 0.4rem;
}

/* Grid of leadership-role cards */
.acdh-role-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem 2.5rem;
	margin: 1.25rem 0 2rem;
}
.acdh-role-grid p { margin: 0; }
@media (max-width: 600px) {
	.acdh-role-grid { grid-template-columns: 1fr; }
}

/* Multi-column member name lists with crescent bullets */
.acdh-members {
	list-style: none;
	columns: 2;
	column-gap: 2rem;
	margin: 0.5rem 0 1.5rem;
	padding: 0;
	font-size: 0.95rem;
}
.acdh-members.is-3col { columns: 3; }
.acdh-members li {
	break-inside: avoid;
	margin-bottom: 0.4rem;
	padding-left: 1.1rem;
	position: relative;
}
.acdh-members li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.42em;
	width: 0.4em;
	height: 0.72em;
	background-color: var(--wp--preset--color--purple);
	-webkit-mask: url('../images/c-arc.svg') no-repeat left center / contain;
	mask: url('../images/c-arc.svg') no-repeat left center / contain;
}
.acdh-members-note {
	font-size: 0.8rem;
	color: var(--wp--preset--color--body-gray);
	font-style: italic;
	margin: 0 0 1.5rem;
}
@media (max-width: 600px) {
	.acdh-members, .acdh-members.is-3col { columns: 1; }
}

/* Branded data table */
.acdh-table-wrap {
	overflow-x: auto;
	margin: 1.25rem 0 1.5rem;
	border-radius: 10px;
	border: 1px solid var(--wp--preset--color--light-blue);
}
.acdh-table-caption + .acdh-table-wrap { margin-top: 0; }
.acdh-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95rem;
}
.acdh-table thead th {
	background: var(--wp--preset--color--navy);
	color: #fff;
	text-align: left;
	padding: 0.85rem 1.15rem;
	font-weight: 700;
	white-space: nowrap;
}
.acdh-table thead th:last-child { text-align: right; }
.acdh-table td {
	padding: 0.7rem 1.15rem;
	border-bottom: 1px solid var(--wp--preset--color--light-blue);
	color: var(--wp--preset--color--body-gray);
}
.acdh-table td:last-child {
	text-align: right;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	color: var(--wp--preset--color--navy);
}
.acdh-table tbody tr:nth-child(even) { background: var(--wp--preset--color--pale-blue); }
.acdh-table tbody tr.is-total td {
	background: var(--wp--preset--color--light-blue);
	color: var(--wp--preset--color--navy);
	font-weight: 700;
	border-bottom: none;
}

/* Caption above a statistics table / chart */
.acdh-table-caption {
	margin: 1.75rem 0 0.6rem;
	font-weight: 700;
	color: var(--wp--preset--color--navy);
	font-size: 1.02rem;
}
.acdh-table-caption .rng {
	color: var(--wp--preset--color--body-gray);
	font-weight: 600;
	text-transform: uppercase;
	font-size: 0.72rem;
	letter-spacing: 0.05em;
	white-space: nowrap;
}

/* Multi-year statistics table (blue header, highlighted current year) */
.acdh-stat-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.92rem;
}
.acdh-stat-table th,
.acdh-stat-table td {
	padding: 0.6rem 0.9rem;
	text-align: center;
}
.acdh-stat-table thead th {
	background: var(--wp--preset--color--blue);
	color: #fff;
	font-weight: 700;
}
.acdh-stat-table thead th.is-label { background: var(--wp--preset--color--blue); }
.acdh-stat-table thead th.is-current { background: var(--wp--preset--color--purple); }
.acdh-stat-table td.is-rowlabel {
	text-align: left;
	color: var(--wp--preset--color--navy);
	font-weight: 600;
	min-width: 170px;
}
.acdh-stat-table tbody td {
	border-bottom: 1px solid var(--wp--preset--color--light-blue);
	color: var(--wp--preset--color--body-gray);
	font-variant-numeric: tabular-nums;
}
.acdh-stat-table td.is-current {
	background: var(--wp--preset--color--pale-blue);
	font-weight: 700;
	color: var(--wp--preset--color--navy);
}
.acdh-stat-table tr.is-total td {
	font-weight: 700;
	color: var(--wp--preset--color--navy);
	border-top: 2px solid var(--wp--preset--color--blue);
	border-bottom: none;
}
.acdh-table-footnote {
	font-size: 0.78rem;
	font-style: italic;
	color: var(--wp--preset--color--body-gray);
	margin: 0.5rem 0 0;
}

/* CSS bar chart */
.acdh-barchart {
	display: flex;
	align-items: flex-end;
	gap: 0.6rem;
	height: 215px;
}
.acdh-barchart .acdh-bar {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
	height: 100%;
}
.acdh-bar-value {
	font-weight: 700;
	color: var(--wp--preset--color--navy);
	font-size: 0.85rem;
	margin-bottom: 0.35rem;
}
.acdh-bar-fill {
	width: 100%;
	border-radius: 6px 6px 0 0;
	background: linear-gradient(180deg, #CDE5F6 0%, #7FC0E8 100%);
	min-height: 4px;
}
.acdh-bar.is-current .acdh-bar-value { color: var(--wp--preset--color--purple); }
.acdh-bar.is-current .acdh-bar-fill { background: var(--wp--preset--color--purple); }
.acdh-barchart-labels {
	display: flex;
	gap: 0.6rem;
	margin-top: 0.5rem;
	border-top: 1px solid var(--wp--preset--color--light-blue);
	padding-top: 0.5rem;
}
.acdh-barchart-labels span {
	flex: 1;
	text-align: center;
	font-size: 0.85rem;
	color: var(--wp--preset--color--body-gray);
}
.acdh-barchart-labels span.is-current {
	color: var(--wp--preset--color--purple);
	font-weight: 700;
}
.acdh-chart-note {
	font-size: 0.85rem;
	color: var(--wp--preset--color--body-gray);
	margin: 0.75rem 0 0;
	text-align: center;
}

/* Nested sub-bullets inside a crescent bullet list */
.acdh-bullet-list ul {
	list-style: none;
	margin: 0.45rem 0 0;
	padding: 0;
	display: grid;
	gap: 0.45rem;
}
.acdh-bullet-list ul li::before { background-color: var(--wp--preset--color--green); }

/* Organizational-structure chart image */
.acdh-orgchart-img {
	margin-top: 1.5rem;
	padding: 1.25rem;
	background: var(--wp--preset--color--pale-blue);
	border-radius: 14px;
}
.acdh-orgchart-img img { border-radius: 6px; }

/* Generic circular photo (centre-cropped) */
.acdh-circle img {
	aspect-ratio: 1 / 1;
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: center;
	border-radius: 50%;
}

/* Signature block on message pages: name + role beneath a handwritten signature */
.acdh-signature img {
	max-width: 300px;
	height: auto;
	margin-bottom: 0.25rem;
}
.acdh-sign-name {
	font-weight: 700;
	color: var(--wp--preset--color--navy);
	margin: 0;
}
.acdh-sign-role {
	color: var(--wp--preset--color--body-gray);
	margin: 0;
}

/* Hero with a D-shaped photo bleeding to the right edge of the screen */
.acdh-hero {
	position: relative;
}
.acdh-hero .wp-block-columns {
	position: relative;
	z-index: 2;
}
.acdh-hero-photo {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 46vw;
	max-width: 780px;
	margin: 0;
	z-index: 1;
}
.acdh-hero-photo img {
	display: block;
	width: 100%;
	height: 34rem;
	object-fit: cover;
	/* Fixed radius = half the height keeps the left side a true semicircle at any width */
	border-radius: 17rem 0 0 17rem;
}

/* The four-colour CCCC brand mark, used as a small accent */
.acdh-cccc-mark img {
	width: clamp(84px, 12vw, 132px);
	height: auto;
}

/* Read More pill — pale-blue button matching the live site's section links */
.wp-block-button.acdh-readmore .wp-block-button__link {
	background-color: var(--wp--preset--color--light-blue);
	color: var(--wp--preset--color--navy);
	font-size: 0.75rem;
}
.wp-block-button.acdh-readmore .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--blue);
	color: var(--wp--preset--color--white);
}

/* Circular photo frame */
.acdh-circle-img img {
	border-radius: 50%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
}

/* Message person label */
.acdh-person-name {
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	color: var(--wp--preset--color--navy);
	line-height: 1.3;
}
.acdh-person-role {
	font-size: 0.85rem;
	color: var(--wp--preset--color--body-gray);
}

/* Brand-blue band (Purpose / Vision / Mission / Values), white text */
.acdh-on-blue h2,
.acdh-on-blue h3,
.acdh-on-blue h4,
.acdh-on-blue p,
.acdh-on-blue li {
	color: #ffffff;
}
.acdh-on-blue .acdh-chevron-list strong {
	color: #ffffff;
}
.acdh-on-blue .acdh-subhead {
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	font-size: 1.75rem;
	color: #ffffff;
	margin: 0 0 0.4rem;
}

/* Strategic-plan priority block */
.acdh-priority-title {
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	font-size: 1.9rem;
	color: var(--wp--preset--color--navy);
	line-height: 1.1;
	margin: 0 0 0.35rem;
}
.acdh-priority-lead {
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	color: var(--wp--preset--color--navy);
	font-size: 0.95rem;
	line-height: 1.4;
}
.acdh-objectives-label {
	color: var(--wp--preset--color--blue);
	font-weight: 700;
	margin-bottom: 0.25rem;
}

/* Continue Reading link list */
.acdh-continue-list {
	list-style: none;
	margin: 0;
	padding: 0;
	columns: 2;
	column-gap: 3rem;
}
.acdh-continue-list li {
	margin-bottom: 0.85rem;
	break-inside: avoid;
	border-bottom: 1px dotted var(--wp--preset--color--light-blue);
	padding-bottom: 0.6rem;
}
.acdh-continue-list a {
	font-weight: 600;
	color: var(--wp--preset--color--blue);
}
.acdh-continue-list a:hover {
	color: var(--wp--preset--color--navy);
}

/* Purple uppercase section sub-heading (report "Introduction" style) */
.acdh-subhead {
	color: var(--wp--preset--color--purple);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	font-weight: 700;
	font-size: 1.3rem;
	line-height: 1.25;
	margin: 0 0 0.75rem;
}

.acdh-subhead.is-orange { color: var(--wp--preset--color--orange); }

/* Tight crescent bullet list for running body copy */
.acdh-bullet-list {
	list-style: none;
	margin: 0.5rem 0 1.5rem;
	padding: 0;
	display: grid;
	gap: 0.65rem;
}
.acdh-bullet-list li {
	padding-left: 1.5rem;
	position: relative;
}
.acdh-bullet-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.34em;
	width: 0.5em;
	height: 0.85em;
	background-color: var(--wp--preset--color--purple);
	-webkit-mask: url('../images/c-arc.svg') no-repeat left center / contain;
	mask: url('../images/c-arc.svg') no-repeat left center / contain;
}

/* Chevron bullet list — Purpose / Vision / Mission / Values style */
.acdh-chevron-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1.75rem;
}
.acdh-chevron-list li {
	padding-left: 2rem;
	position: relative;
}
.acdh-chevron-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.2em;
	width: 0.62em;
	height: 1.15em;
	background-color: var(--wp--preset--color--orange);
	-webkit-mask: url('../images/c-arc.svg') no-repeat left center / contain;
	mask: url('../images/c-arc.svg') no-repeat left center / contain;
}
/* Cycle accent colours, skipping blue (it disappears on the blue band) */
.acdh-chevron-list li:nth-child(3n+2)::before { background-color: var(--wp--preset--color--green); }
.acdh-chevron-list li:nth-child(3n+3)::before { background-color: var(--wp--preset--color--purple); }
.acdh-chevron-list strong {
	display: block;
	color: var(--wp--preset--color--navy);
	font-size: 1.25rem;
	margin-bottom: 0.25rem;
}

/* Stat / initiative cards on pale wash with colored top border */
.acdh-card {
	background: var(--wp--preset--color--white);
	border-top: 5px solid var(--wp--preset--color--blue);
	border-radius: 4px;
	padding: 2rem !important;
	box-shadow: 0 12px 30px -18px rgba(23, 54, 105, 0.35);
	height: 100%;
}
.acdh-card.is-orange { border-top-color: var(--wp--preset--color--orange); }
.acdh-card.is-purple { border-top-color: var(--wp--preset--color--purple); }
.acdh-card.is-green { border-top-color: var(--wp--preset--color--green); }

.acdh-stat-number {
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	font-size: 2.75rem;
	color: var(--wp--preset--color--navy);
	line-height: 1;
	display: block;
	margin-bottom: 0.25rem;
}

/* Registration stats bar chart */
.acdh-bar-chart {
	display: flex;
	align-items: flex-end;
	gap: clamp(0.75rem, 3vw, 2rem);
	height: 220px;
	padding: 0 0.5rem;
	margin: 2rem 0 0.5rem;
}
.acdh-bar-chart .bar {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	height: 100%;
}
.acdh-bar-chart .bar-fill {
	width: 100%;
	max-width: 70px;
	background: linear-gradient(180deg, #9FCFEE 0%, #4FA8DC 100%);
	border-radius: 6px 6px 0 0;
}
.acdh-bar-chart .bar.is-current .bar-fill {
	background: var(--wp--preset--color--purple);
}
.acdh-bar-chart .bar-value {
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	color: var(--wp--preset--color--navy);
	font-size: 0.9rem;
	margin-bottom: 0.4rem;
}
.acdh-bar-chart .bar-label {
	margin-top: 0.6rem;
	font-size: 0.85rem;
	color: var(--wp--preset--color--body-gray);
}
.acdh-bar-chart .bar.is-current .bar-label {
	color: var(--wp--preset--color--purple);
	font-weight: 700;
}

/* Council / team grid */
.acdh-council-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 2rem;
	text-align: center;
}
.acdh-council-grid figure {
	margin: 0;
}
.acdh-council-grid img {
	width: 128px;
	height: 128px;
	border-radius: 50%;
	object-fit: cover;
	border: 4px solid var(--wp--preset--color--pale-blue);
	margin: 0 auto 0.85rem;
	display: block;
}
.acdh-council-grid figcaption strong {
	display: block;
	color: var(--wp--preset--color--navy);
	font-size: 0.95rem;
}
.acdh-council-grid figcaption span {
	display: block;
	font-size: 0.8rem;
	color: var(--wp--preset--color--body-gray);
}

/* Rounded photo frame used in leadership/message sections */
.acdh-photo-frame img {
	border-radius: 50% 50% 46% 54% / 54% 46% 54% 46%;
	object-fit: cover;
	aspect-ratio: 1 / 1.05;
}

/* Remove the default 24px stacking gap between top-level blocks and between
   full-width sections — each section supplies its own vertical padding.
   Scoped to full-width children only: applying it to every post-content child
   also stripped the gap between ordinary paragraphs, headings and lists. */
.wp-site-blocks > *,
.wp-block-post-content.is-layout-constrained > .alignfull {
	margin-block-start: 0;
}

/* Header / navigation */
.acdh-header-part {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #ffffff;
	border-bottom: 1px solid var(--wp--preset--color--light-blue);
}
/* Offset the sticky header by the WP admin toolbar height when logged in */
.admin-bar .acdh-header-part {
	top: 32px;
}
@media screen and (max-width: 782px) {
	.admin-bar .acdh-header-part {
		top: 46px;
	}
}
/* Logo left, "Report Sections" centered on the page (1fr auto 1fr keeps the
   button on the true centre line regardless of the logo's width) */
.acdh-site-header > .wp-block-group {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
}
.acdh-site-header > .wp-block-group > .wp-block-navigation {
	grid-column: 2;
}
.acdh-site-header .wp-block-navigation a {
	font-weight: 600;
	font-size: 0.9375rem;
	color: var(--wp--preset--color--navy);
}
.acdh-site-header .wp-block-navigation a:hover {
	color: var(--wp--preset--color--blue);
}

/* "Report Sections" dropdown menu */
.acdh-site-header .acdh-report-sections {
	background: var(--wp--preset--color--blue);
	border: 1px solid var(--wp--preset--color--blue);
	border-radius: 999px;
	padding: 0.7rem 1.5rem;
	gap: 0.4rem;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}
.acdh-site-header .acdh-report-sections:hover {
	background: var(--wp--preset--color--navy);
	border-color: var(--wp--preset--color--navy);
}
.acdh-site-header .acdh-report-sections > .wp-block-navigation-item__content {
	color: #ffffff;
	font-weight: 700;
	padding: 0;
}
.acdh-site-header .acdh-report-sections > .wp-block-navigation__submenu-icon {
	color: #ffffff;
	background: transparent;
	padding: 0;
	margin-left: 0.15rem;
}

/* Dropdown panel.
   The `.has-child` is required: core ships
   `.wp-block-navigation .has-child .wp-block-navigation__submenu-container{left:-1px}`
   at the same specificity and loads after this file, so without it core's `left`
   wins and the panel is dragged a half-width off to the left by the transform. */
.acdh-site-header .wp-block-navigation .has-child > .wp-block-navigation__submenu-container {
	border: none;
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 22px 45px -22px rgba(23, 54, 105, 0.45);
	padding: 0.5rem 0;
	min-width: 280px;
	margin-top: 0.6rem;
	left: 50%;
	right: auto;
	transform: translateX(-50%);
}
/* Invisible bridge across the 0.6rem gap so moving the cursor from the button
   down into the menu doesn't cross a dead zone and close it. */
.acdh-site-header .acdh-report-sections > .wp-block-navigation__submenu-container::before {
	content: "";
	position: absolute;
	top: -0.7rem;
	left: 0;
	right: 0;
	height: 0.7rem;
	background: transparent;
}
.acdh-site-header .wp-block-navigation__submenu-container li {
	margin: 0;
}
.acdh-site-header .wp-block-navigation__submenu-container a {
	color: var(--wp--preset--color--blue) !important;
	font-weight: 600;
	padding: 0.65rem 1.5rem;
	width: 100%;
}
.acdh-site-header .wp-block-navigation__submenu-container a:hover {
	background: var(--wp--preset--color--light-blue);
	color: var(--wp--preset--color--navy) !important;
}

/* Footer */
.acdh-site-footer {
	background: var(--wp--preset--color--navy);
	color: #C9D8EE;
}
.acdh-site-footer a {
	color: #FFFFFF;
}
.acdh-site-footer a:hover {
	color: var(--wp--preset--color--blue);
}
.acdh-footer-links {
	list-style: disc;
	font-size: 0.9375rem;
	margin: 0;
	padding-left: 1.1em;
}
.acdh-footer-links li { margin-bottom: 0.6rem; }
.acdh-site-footer h2,
.acdh-site-footer h3,
.acdh-site-footer h4 {
	color: #FFFFFF;
}
.acdh-site-footer .acdh-dotted-rule {
	border-bottom-color: rgba(255, 255, 255, 0.35);
}

@media (max-width: 782px) {
	.acdh-swoosh::before { width: 340px; height: 340px; top: -40px; right: -60px; }
	.acdh-bar-chart { height: 170px; }
	.acdh-continue-list { columns: 1; }

	/* Hero photo becomes a normal stacked image on mobile */
	.acdh-hero { padding-bottom: 2.5rem !important; }
	.acdh-hero .wp-block-columns > .wp-block-column:nth-child(2) { display: none; }
	.acdh-hero-photo {
		position: static;
		transform: none;
		width: 100%;
		max-width: none;
		margin-top: 2.5rem;
	}
	.acdh-hero-photo img {
		height: 20rem;
		border-radius: 999px 999px 0 0;
	}
}

/* ------------------------------------------------------------------ *
 * Scroll reveal — sections fade + rise into view (see scroll-reveal.js)
 * The .acdh-reveal class is added by JS, so no-JS users see everything.
 * ------------------------------------------------------------------ */
.acdh-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 0.7s ease, transform 0.7s ease;
	will-change: opacity, transform;
}

.acdh-reveal.acdh-reveal--in {
	opacity: 1;
	transform: none;
}

/* Safety net: never keep content hidden for reduced-motion users. */
@media (prefers-reduced-motion: reduce) {
	.acdh-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
