/* =========================================================
   HCAA Editorial — layout + typography rules
   ---------------------------------------------------------
   Layered on top of Kadence parent. Opinionated about
   rhythm, whitespace, and serif display.
   ========================================================= */

/* -------------------------
   Container primitives
   ------------------------- */
.hcaa-container {
	width: 100%;
	max-width: var(--hcaa-container);
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 4vw, 2.5rem);
}

.hcaa-read {
	width: 100%;
	max-width: var(--hcaa-read-col);
	margin-inline: auto;
}

.hcaa-section {
	padding-block: clamp(4rem, 10vw, 7.5rem);
}

/* -------------------------
   Editorial kickers
   ------------------------- */
.hcaa-eyebrow {
	font-family: var(--hcaa-font-body);
	font-size: 0.6875rem;        /* 11px */
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--hcaa-sienna);
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: var(--hcaa-space-2);
}

.hcaa-eyebrow::before {
	content: "";
	display: inline-block;
	width: 1.5rem;
	height: 1px;
	background-color: var(--hcaa-sienna);
	flex: 0 0 auto;
}

.hcaa-eyebrow--center::before,
.hcaa-eyebrow--center::after {
	content: "";
	display: inline-block;
	width: 1.5rem;
	height: 1px;
	background-color: var(--hcaa-sienna);
	flex: 0 0 auto;
}

.hcaa-eyebrow--center {
	justify-content: center;
}

/* -------------------------
   Display headline utility
   ------------------------- */
.hcaa-display {
	font-family: var(--hcaa-font-display);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.015em;
	font-variation-settings: "opsz" 144, "wght" 700;
	color: var(--hcaa-ink);
	margin: 0 0 var(--hcaa-space-4);
}

.hcaa-display--xl { font-size: clamp(3rem, 7vw, 6rem); }
.hcaa-display--lg { font-size: clamp(2.25rem, 5vw, 4.5rem); }
.hcaa-display--md { font-size: clamp(1.75rem, 3.5vw, 3rem); }

.hcaa-lead {
	font-family: var(--hcaa-font-body);
	font-size: clamp(1.125rem, 1.2vw + 0.9rem, 1.375rem);
	line-height: 1.55;
	color: var(--hcaa-stone);
	max-width: 40em;
	margin: 0 0 var(--hcaa-space-4);
}

/* -------------------------
   Hero (editorial, full bleed)
   ------------------------- */
.hcaa-hero {
	position: relative;
	min-height: 88vh;
	display: flex;
	align-items: flex-end;
	color: var(--hcaa-paper);
	background-color: var(--hcaa-shadow);
	background-size: cover;
	background-position: center;
	overflow: hidden;
	isolation: isolate;
}

.hcaa-hero__media {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	will-change: transform, clip-path;
	z-index: -2;
}

.hcaa-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(15, 11, 6, 0) 40%, rgba(15, 11, 6, 0.85) 100%),
		linear-gradient(90deg, rgba(15, 11, 6, 0.45) 0%, rgba(15, 11, 6, 0) 60%);
	z-index: -1;
}

.hcaa-hero__inner {
	width: 100%;
	max-width: var(--hcaa-container);
	margin-inline: auto;
	padding: clamp(2rem, 6vw, 5rem) clamp(1.25rem, 4vw, 2.5rem);
}

.hcaa-hero__eyebrow {
	color: var(--hcaa-amber);
}

.hcaa-hero__eyebrow::before {
	background-color: var(--hcaa-amber);
}

.hcaa-hero__headline {
	font-family: var(--hcaa-font-display);
	font-variation-settings: "opsz" 144, "wght" 700;
	font-weight: 700;
	font-size: clamp(2.5rem, 7vw, 6rem);
	line-height: 1.05;
	letter-spacing: -0.015em;
	max-width: 18ch;
	margin: 0 0 var(--hcaa-space-3);
	color: var(--hcaa-paper);
}

.hcaa-hero__lead {
	font-family: var(--hcaa-font-body);
	font-size: clamp(1.125rem, 1.2vw + 0.9rem, 1.375rem);
	line-height: 1.55;
	color: rgba(245, 240, 232, 0.88);
	max-width: 40em;
	margin: 0 0 var(--hcaa-space-4);
}

/* -------------------------
   CTA buttons (editorial)
   ------------------------- */
.hcaa-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.9rem 1.5rem;
	font-family: var(--hcaa-font-body);
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-decoration: none;
	border-radius: 2px;
	transition: background-color 220ms var(--hcaa-ease), color 220ms var(--hcaa-ease), border-color 220ms var(--hcaa-ease), transform 220ms var(--hcaa-ease);
	border: 1px solid transparent;
}

.hcaa-btn--primary {
	background-color: var(--hcaa-sienna);
	color: var(--hcaa-paper);
}

.hcaa-btn--primary:hover {
	background-color: var(--hcaa-ink);
	color: var(--hcaa-paper);
	transform: translateY(-1px);
}

.hcaa-btn--ghost {
	background-color: transparent;
	color: var(--hcaa-paper);
	border-color: rgba(245, 240, 232, 0.4);
}

.hcaa-btn--ghost:hover {
	border-color: var(--hcaa-paper);
	color: var(--hcaa-paper);
}

.hcaa-btn--ink {
	background-color: var(--hcaa-ink);
	color: var(--hcaa-paper);
}

.hcaa-btn--ink:hover {
	background-color: var(--hcaa-sienna);
	color: var(--hcaa-paper);
}

.hcaa-btn-group {
	display: flex;
	flex-wrap: wrap;
	gap: var(--hcaa-space-2);
	margin-top: var(--hcaa-space-4);
}

/* -------------------------
   Numbers / stats section
   ------------------------- */
.hcaa-numbers {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: var(--hcaa-space-5) var(--hcaa-space-4);
}

.hcaa-numbers__stat {
	grid-column: span 6;
	border-top: 1px solid var(--hcaa-line);
	padding-top: var(--hcaa-space-3);
}

@media (min-width: 900px) {
	.hcaa-numbers__stat { grid-column: span 3; }
}

.hcaa-numbers__value {
	font-family: var(--hcaa-font-display);
	font-variation-settings: "opsz" 144, "wght" 700;
	font-size: clamp(2.75rem, 4vw + 1rem, 4.5rem);
	line-height: 1;
	color: var(--hcaa-ink);
	margin: 0 0 var(--hcaa-space-2);
	letter-spacing: -0.02em;
}

.hcaa-numbers__label {
	font-family: var(--hcaa-font-body);
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--hcaa-stone);
}

/* -------------------------
   Feature card grid
   ------------------------- */
.hcaa-features {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--hcaa-space-5);
}

@media (min-width: 900px) {
	.hcaa-features { grid-template-columns: repeat(3, 1fr); }
}

.hcaa-feature {
	display: flex;
	flex-direction: column;
	background-color: transparent;
}

.hcaa-feature__media {
	aspect-ratio: 4 / 5;
	background-color: var(--hcaa-line);
	background-size: cover;
	background-position: center;
	margin-bottom: var(--hcaa-space-3);
	overflow: hidden;
	transition: transform 600ms var(--hcaa-ease);
}

.hcaa-feature:hover .hcaa-feature__media {
	transform: scale(1.02);
}

.hcaa-feature__title {
	font-family: var(--hcaa-font-display);
	font-size: clamp(1.5rem, 1.5vw + 1rem, 2rem);
	font-weight: 700;
	line-height: 1.15;
	margin: 0 0 var(--hcaa-space-2);
	color: var(--hcaa-ink);
}

.hcaa-feature__excerpt {
	color: var(--hcaa-stone);
	margin: 0 0 var(--hcaa-space-2);
	max-width: 38ch;
}

.hcaa-feature__more {
	font-family: var(--hcaa-font-body);
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--hcaa-sienna);
	text-decoration: none;
	letter-spacing: 0.02em;
	transition: transform 220ms var(--hcaa-ease), color 220ms var(--hcaa-ease);
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

.hcaa-feature__more:hover {
	color: var(--hcaa-ink);
}

.hcaa-feature__more:hover::after {
	transform: translateX(4px);
}

.hcaa-feature__more::after {
	content: "→";
	display: inline-block;
	transition: transform 220ms var(--hcaa-ease);
}

/* -------------------------
   News / events list
   ------------------------- */
.hcaa-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hcaa-list__item {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--hcaa-space-2);
	padding-block: var(--hcaa-space-4);
	border-top: 1px solid var(--hcaa-line);
}

.hcaa-list__item:last-child {
	border-bottom: 1px solid var(--hcaa-line);
}

@media (min-width: 720px) {
	.hcaa-list__item {
		grid-template-columns: 160px 1fr;
		gap: var(--hcaa-space-4);
		align-items: start;
	}
}

.hcaa-list__date {
	font-family: var(--hcaa-font-mono);
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--hcaa-stone);
	padding-top: 0.4rem;
}

.hcaa-list__title {
	font-family: var(--hcaa-font-display);
	font-size: clamp(1.25rem, 1vw + 1rem, 1.75rem);
	line-height: 1.2;
	margin: 0 0 var(--hcaa-space-1);
	color: var(--hcaa-ink);
}

.hcaa-list__title a {
	color: inherit;
	text-decoration: none;
}

.hcaa-list__title a:hover {
	color: var(--hcaa-sienna);
}

.hcaa-list__excerpt {
	color: var(--hcaa-stone);
	margin: 0;
	max-width: 62ch;
}

/* Events date-block variant */
.hcaa-list__date-block {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	border-left: 2px solid var(--hcaa-sienna);
	padding-left: var(--hcaa-space-2);
	line-height: 1.1;
}

.hcaa-list__date-block .day {
	font-family: var(--hcaa-font-display);
	font-size: 2.75rem;
	font-weight: 700;
	color: var(--hcaa-ink);
}

.hcaa-list__date-block .month {
	font-family: var(--hcaa-font-body);
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: var(--hcaa-stone);
}

/* -------------------------
   Pull quote (editorial)
   ------------------------- */
.hcaa-quote {
	padding-block: clamp(5rem, 10vw, 8rem);
	background-color: var(--hcaa-paper);
}

.hcaa-quote__inner {
	max-width: 900px;
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 4vw, 2.5rem);
	text-align: center;
}

.hcaa-quote__text {
	font-family: var(--hcaa-font-display);
	font-variation-settings: "opsz" 144, "wght" 500;
	font-style: italic;
	font-weight: 500;
	font-size: clamp(1.75rem, 3vw + 1rem, 3rem);
	line-height: 1.25;
	color: var(--hcaa-ink);
	margin: 0 0 var(--hcaa-space-4);
	letter-spacing: -0.01em;
}

.hcaa-quote__attrib {
	font-family: var(--hcaa-font-body);
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--hcaa-stone);
}

.hcaa-quote__attrib strong {
	color: var(--hcaa-ink);
	font-weight: 600;
}

/* -------------------------
   CTA band (sienna)
   ------------------------- */
.hcaa-cta {
	position: relative;
	background-color: var(--hcaa-sienna);
	color: var(--hcaa-paper);
	padding-block: clamp(5rem, 10vw, 8rem);
	overflow: hidden;
	isolation: isolate;
}

.hcaa-cta__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	opacity: 0.18;
	z-index: -2;
	mix-blend-mode: multiply;
}

.hcaa-cta::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(161, 74, 42, 0.25), rgba(161, 74, 42, 0.9));
	z-index: -1;
}

.hcaa-cta__inner {
	max-width: 900px;
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 4vw, 2.5rem);
	text-align: center;
}

.hcaa-cta__eyebrow {
	color: var(--hcaa-amber);
}

.hcaa-cta__eyebrow::before,
.hcaa-cta__eyebrow::after {
	background-color: var(--hcaa-amber);
}

.hcaa-cta__headline {
	font-family: var(--hcaa-font-display);
	font-variation-settings: "opsz" 144, "wght" 700;
	font-size: clamp(2.25rem, 5vw, 4rem);
	line-height: 1.1;
	letter-spacing: -0.015em;
	color: var(--hcaa-paper);
	margin: 0 0 var(--hcaa-space-4);
}

.hcaa-cta__lead {
	font-family: var(--hcaa-font-body);
	color: rgba(245, 240, 232, 0.9);
	font-size: 1.125rem;
	line-height: 1.55;
	max-width: 52ch;
	margin: 0 auto var(--hcaa-space-5);
}

/* -------------------------
   Section heading pattern
   ------------------------- */
.hcaa-section-heading {
	display: flex;
	flex-direction: column;
	gap: var(--hcaa-space-2);
	margin-bottom: var(--hcaa-space-6);
	max-width: 60ch;
}

/* -------------------------
   Drop cap for single posts
   ------------------------- */
.entry-content > p:first-of-type::first-letter,
.hcaa-article > p:first-of-type::first-letter {
	font-family: var(--hcaa-font-display);
	font-variation-settings: "opsz" 144, "wght" 700;
	float: left;
	font-size: 5.5em;
	line-height: 0.9;
	padding: 0.05em 0.12em 0 0;
	color: var(--hcaa-sienna);
	font-weight: 700;
}

/* -------------------------
   Article body
   ------------------------- */
.hcaa-article {
	font-size: 1.125rem;
	line-height: 1.7;
	color: var(--hcaa-ink);
}

.hcaa-article p { margin: 0 0 1.5em; }

.hcaa-article blockquote {
	font-family: var(--hcaa-font-display);
	font-style: italic;
	font-size: 1.5rem;
	line-height: 1.4;
	border-left: 2px solid var(--hcaa-sienna);
	padding-left: var(--hcaa-space-3);
	margin: var(--hcaa-space-5) 0;
	color: var(--hcaa-ink);
}

.hcaa-article h2 {
	font-family: var(--hcaa-font-display);
	font-size: 2.25rem;
	margin-top: var(--hcaa-space-5);
	margin-bottom: var(--hcaa-space-2);
}

.hcaa-article h3 {
	font-family: var(--hcaa-font-display);
	font-size: 1.5rem;
	margin-top: var(--hcaa-space-4);
	margin-bottom: var(--hcaa-space-2);
}

/* -------------------------
   Single-post hero
   ------------------------- */
.hcaa-post-hero {
	position: relative;
	min-height: 70vh;
	display: flex;
	align-items: flex-end;
	color: var(--hcaa-paper);
	background-color: var(--hcaa-shadow);
	background-size: cover;
	background-position: center;
	isolation: isolate;
}

.hcaa-post-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 11, 6, 0.1) 0%, rgba(15, 11, 6, 0.85) 100%);
	z-index: -1;
}

.hcaa-post-hero__inner {
	width: 100%;
	max-width: var(--hcaa-container);
	margin-inline: auto;
	padding: clamp(2rem, 6vw, 5rem) clamp(1.25rem, 4vw, 2.5rem);
}

.hcaa-post-hero__meta {
	font-family: var(--hcaa-font-mono);
	font-size: 0.8125rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(245, 240, 232, 0.75);
	margin-top: var(--hcaa-space-3);
}

/* -------------------------
   Compact page-hero
   ------------------------- */
.hcaa-page-hero {
	padding: clamp(4rem, 10vw, 8rem) 0 clamp(2rem, 5vw, 4rem);
	border-bottom: 1px solid var(--hcaa-line);
}

/* =========================================================
   Site header (sticky editorial, block template part)
   ========================================================= */
.wp-block-template-part > .hcaa-site-header,
.hcaa-site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: color-mix(in srgb, var(--hcaa-paper) 92%, transparent);
	backdrop-filter: saturate(180%) blur(8px);
	-webkit-backdrop-filter: saturate(180%) blur(8px);
	border-bottom: 1px solid var(--hcaa-line);
}

.hcaa-site-header__inner {
	width: 100%;
	max-width: var(--hcaa-container);
	margin-inline: auto;
	padding: 18px clamp(1.25rem, 4vw, 2.5rem);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--hcaa-space-4);
}

.hcaa-site-header__brand {
	font-family: var(--hcaa-font-display);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--hcaa-ink);
	letter-spacing: -0.015em;
	text-decoration: none;
	flex: 0 0 auto;
	line-height: 1.1;
}

.hcaa-site-header__brand:hover {
	color: var(--hcaa-sienna);
}

.hcaa-site-header__nav {
	display: flex;
	align-items: center;
	gap: var(--hcaa-space-4);
}

.hcaa-nav .hcaa-nav__list,
.hcaa-site-header .hcaa-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: var(--hcaa-space-3);
}

.hcaa-site-header .hcaa-nav a {
	font-family: var(--hcaa-font-body);
	font-size: 0.8125rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--hcaa-ink);
	text-decoration: none;
	padding: 0.5rem 0;
	display: inline-block;
	transition: color 180ms var(--hcaa-ease);
}

.hcaa-site-header .hcaa-nav a:hover,
.hcaa-site-header .hcaa-nav .current-menu-item > a,
.hcaa-site-header .hcaa-nav .current_page_item > a {
	color: var(--hcaa-sienna);
}

/* Submenus (dropdowns) */
.hcaa-site-header .hcaa-nav li {
	position: relative;
}

.hcaa-site-header .hcaa-nav .sub-menu,
.hcaa-site-header .hcaa-nav .children {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	background: var(--hcaa-paper);
	border: 1px solid var(--hcaa-line);
	padding: 0.5rem 0;
	list-style: none;
	margin: 0;
	display: none;
	flex-direction: column;
	gap: 0;
	box-shadow: 0 20px 40px rgba(15, 11, 6, 0.08);
	z-index: 10;
}

.hcaa-site-header .hcaa-nav li:hover > .sub-menu,
.hcaa-site-header .hcaa-nav li:focus-within > .sub-menu,
.hcaa-site-header .hcaa-nav li:hover > .children,
.hcaa-site-header .hcaa-nav li:focus-within > .children {
	display: flex;
}

.hcaa-site-header .hcaa-nav .sub-menu a {
	font-family: var(--hcaa-font-body);
	text-transform: none;
	letter-spacing: 0;
	font-size: 0.9375rem;
	padding: 0.5rem 1rem;
	width: 100%;
}

.hcaa-site-header__cta {
	flex: 0 0 auto;
}

/* Mobile nav toggle (hidden on desktop) */
.hcaa-nav-toggle {
	display: none;
	appearance: none;
	background: transparent;
	border: 0;
	padding: 0.5rem;
	cursor: pointer;
	width: 40px;
	height: 40px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
}

.hcaa-nav-toggle__bar {
	display: block;
	width: 22px;
	height: 2px;
	background: var(--hcaa-ink);
	transition: transform 220ms var(--hcaa-ease), opacity 220ms var(--hcaa-ease);
}

.hcaa-nav-toggle[aria-expanded="true"] .hcaa-nav-toggle__bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}
.hcaa-nav-toggle[aria-expanded="true"] .hcaa-nav-toggle__bar:nth-child(2) {
	opacity: 0;
}
.hcaa-nav-toggle[aria-expanded="true"] .hcaa-nav-toggle__bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

@media (max-width: 900px) {
	.hcaa-nav-toggle {
		display: inline-flex;
		order: 2;
	}

	.hcaa-site-header__nav {
		position: fixed;
		top: 0;
		right: 0;
		height: 100vh;
		width: min(80vw, 340px);
		background: var(--hcaa-paper);
		border-left: 1px solid var(--hcaa-line);
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: var(--hcaa-space-3);
		padding: 5rem clamp(1.25rem, 4vw, 2.5rem) 2rem;
		transform: translateX(100%);
		transition: transform 280ms var(--hcaa-ease);
		box-shadow: -20px 0 40px rgba(15, 11, 6, 0.12);
		z-index: 101;
	}

	.hcaa-site-header__nav.is-open {
		transform: translateX(0);
	}

	.hcaa-site-header .hcaa-nav ul,
	.hcaa-nav .hcaa-nav__list {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
		width: 100%;
	}

	.hcaa-site-header .hcaa-nav a {
		padding: 0.75rem 0;
		display: block;
		width: 100%;
		border-bottom: 1px solid var(--hcaa-line);
	}

	.hcaa-site-header .hcaa-nav .sub-menu,
	.hcaa-site-header .hcaa-nav .children {
		position: static;
		box-shadow: none;
		border: 0;
		padding: 0 0 0 1rem;
		display: flex;
	}

	.hcaa-site-header__cta {
		margin-top: var(--hcaa-space-3);
		align-self: stretch;
		text-align: center;
	}
}

/* Body scroll lock when mobile drawer is open */
body.hcaa-nav-open {
	overflow: hidden;
}

/* =========================================================
   Site footer (dramatic dark, 3 rows, block template part)
   ========================================================= */
.wp-block-template-part > .hcaa-site-footer,
.hcaa-site-footer {
	background: var(--hcaa-shadow);
	color: var(--hcaa-paper);
	padding-block: clamp(60px, 8vw, 100px);
	margin-top: clamp(3rem, 6vw, 6rem);
}

.hcaa-footer__inner {
	width: 100%;
	max-width: var(--hcaa-container);
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 4vw, 2.5rem);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	text-align: center;
}

.hcaa-footer__nav-wrap {
	width: 100%;
	padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
	border-bottom: 1px solid rgba(107, 98, 86, 0.2);
}

.hcaa-footer__nav ul,
.hcaa-footer__nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: clamp(1.25rem, 3vw, 2.5rem);
}

.hcaa-footer__nav a,
.hcaa-site-footer a {
	font-family: var(--hcaa-font-body);
	font-size: 0.8125rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: var(--hcaa-paper);
	text-decoration: none;
	transition: color 180ms var(--hcaa-ease);
}

.hcaa-footer__nav a:hover,
.hcaa-site-footer a:hover {
	color: var(--hcaa-sienna);
}

.hcaa-footer__social {
	display: flex;
	justify-content: center;
	gap: var(--hcaa-space-3);
	padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
	border-bottom: 1px solid rgba(107, 98, 86, 0.2);
	width: 100%;
}

.hcaa-footer__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: var(--hcaa-stone);
	transition: color 180ms var(--hcaa-ease), transform 180ms var(--hcaa-ease);
}

.hcaa-footer__social-link:hover {
	color: var(--hcaa-sienna);
	transform: translateY(-2px);
}

.hcaa-footer__social-link svg {
	width: 28px;
	height: 28px;
	display: block;
}

.hcaa-footer__meta {
	font-family: var(--hcaa-font-mono);
	font-size: 0.6875rem;
	font-weight: 400;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--hcaa-paper) 70%, transparent);
}

.hcaa-footer__credit {
	margin-top: 10px;
	font-family: var(--hcaa-font-mono);
	font-size: 0.625rem;
	font-weight: 400;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(245, 236, 220, 0.32);
}
.hcaa-footer__credit a {
	color: rgba(245, 236, 220, 0.45);
	text-decoration: none;
	border-bottom: 1px solid rgba(245, 236, 220, 0.18);
	padding-bottom: 1px;
	transition: color 180ms var(--hcaa-ease), border-color 180ms var(--hcaa-ease);
}
.hcaa-footer__credit a:hover {
	color: rgba(245, 236, 220, 0.85);
	border-bottom-color: rgba(245, 236, 220, 0.55);
}

/* Single-column feature variant (Meetings) */
.hcaa-feature--single { max-width: 820px; margin: 0 auto; text-align: left; }
.hcaa-feature--single .hcaa-feature__media--wide { aspect-ratio: 16/7; width: 100%; height: auto; margin-bottom: 28px; background-size: cover; background-position: center; }
.hcaa-feature--single .hcaa-feature__title { font-size: clamp(28px, 2.6vw, 40px); }
.hcaa-feature--single .hcaa-feature__excerpt { font-size: 18px; }

/* Latest news — editorial two-column feature */
.hcaa-latest { display: grid; grid-template-columns: minmax(0, 44%) 1fr; gap: 52px; align-items: center; }
.hcaa-latest__media-link { display: block; overflow: hidden; border-radius: 2px; }
.hcaa-latest__media { display: block; aspect-ratio: 4/3; width: 100%; background-size: cover; background-position: center; transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.hcaa-latest__media-link:hover .hcaa-latest__media { transform: scale(1.03); }
.hcaa-latest__meta { font-family: "JetBrains Mono", monospace; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--hcaa-stone); margin: 0 0 14px; }
.hcaa-latest__title { font-family: "Fraunces", Georgia, serif; font-variation-settings: "opsz" 96, "wght" 600; font-size: clamp(28px, 2.8vw, 44px); line-height: 1.1; letter-spacing: -.01em; margin: 0 0 20px; }
.hcaa-latest__title a { color: var(--hcaa-ink); text-decoration: none; }
.hcaa-latest__title a:hover { color: var(--hcaa-sienna); }
.hcaa-latest__excerpt { font-size: 18px; line-height: 1.6; color: var(--hcaa-ink); margin: 0 0 22px; }
@media (max-width: 900px) {
	.hcaa-latest { grid-template-columns: 1fr; gap: 28px; }
	.hcaa-latest__media { aspect-ratio: 16/9; }
}

/* News archive tuning */
.hcaa-list--archive .hcaa-list__item { padding: 32px 0; }
.hcaa-list--archive .hcaa-list__excerpt { margin-bottom: 14px; }
.hcaa-pagination { margin-top: 48px; border-top: 1px solid var(--hcaa-line); padding-top: 28px; }
.hcaa-pagination .page-numbers { list-style: none; display: flex; gap: 8px; justify-content: center; padding: 0; margin: 0; font-family: "JetBrains Mono", monospace; font-size: 13px; letter-spacing: .08em; }
.hcaa-pagination .page-numbers li a, .hcaa-pagination .page-numbers li span { padding: 8px 14px; text-decoration: none; color: var(--hcaa-ink); border: 1px solid var(--hcaa-line); }
.hcaa-pagination .page-numbers li .current { background: var(--hcaa-ink); color: var(--hcaa-paper); border-color: var(--hcaa-ink); }
.hcaa-pagination .page-numbers li a:hover { border-color: var(--hcaa-sienna); color: var(--hcaa-sienna); }

/* Narrower container for focused reading / forms */
.hcaa-container--narrow { max-width: 780px; }
/* JotForm: let it be itself, just give it room + a subtle frame */
.hcaa-jotform { margin-top: 32px; background: #fff; border: 1px solid var(--hcaa-line); padding: 20px; }
.hcaa-jotform iframe { width: 100% !important; max-width: 100% !important; border: 0 !important; }

/* Mobile drawer fit — reduce top offset, allow scrolling if content overflows */
@media (max-width: 900px) {
	.hcaa-site-header__nav {
		padding-top: 1.5rem;
		padding-bottom: 2rem;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}
	.hcaa-site-header .hcaa-nav a {
		padding-top: 0.6rem;
		padding-bottom: 0.6rem;
	}
	.hcaa-site-header .hcaa-nav .sub-menu a,
	.hcaa-site-header .hcaa-nav .children a {
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
	}
}

/* Mobile: nudge hamburger off the edge + harden drawer close + backdrop */
@media (max-width: 900px) {
	.hcaa-site-header__inner {
		padding-right: 1.5rem;
	}
	.hcaa-nav-toggle {
		margin-right: 0.25rem;
	}
	/* overshoot so the drawer is unambiguously off-screen */
	.hcaa-site-header__nav {
		transform: translate3d(calc(100% + 24px), 0, 0);
	}
	.hcaa-site-header__nav.is-open {
		transform: translate3d(0, 0, 0);
	}
}
.hcaa-nav-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(15, 11, 6, 0.35);
	opacity: 0;
	pointer-events: none;
	transition: opacity 220ms var(--hcaa-ease);
	z-index: 100;
}
.hcaa-nav-backdrop.is-visible {
	opacity: 1;
	pointer-events: auto;
}
body.hcaa-nav-open { overflow: hidden; }

/* Drawer close button (visible inside drawer on mobile) */
.hcaa-nav-close {
	display: none;
	appearance: none;
	background: transparent;
	border: 0;
	padding: 0;
	cursor: pointer;
	font-family: var(--hcaa-font-display);
	font-size: 2rem;
	line-height: 1;
	color: var(--hcaa-ink);
	position: absolute;
	top: 14px;
	right: 16px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	align-items: center;
	justify-content: center;
	transition: color 180ms var(--hcaa-ease), background 180ms var(--hcaa-ease);
}
.hcaa-nav-close:hover { color: var(--hcaa-sienna); background: rgba(161, 74, 42, 0.08); }

@media (max-width: 900px) {
	.hcaa-nav-close { display: inline-flex; }
	/* Hide the hamburger when drawer is open (close button takes over) */
	.hcaa-nav-toggle[aria-expanded="true"] { opacity: 0; pointer-events: none; }
	/* Give drawer top breathing room for the close button */
	.hcaa-site-header__nav { padding-top: 3.5rem !important; }
}

/* Mobile: brand centered, chevron below (replaces 3-bar hamburger) */
@media (max-width: 900px) {
	.hcaa-site-header__inner {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		padding: 12px clamp(1rem, 4vw, 1.5rem);
		gap: 0;
	}
	.hcaa-site-header__brand {
		text-align: center;
		font-size: 1rem;
		line-height: 1.2;
	}
	.hcaa-nav-toggle {
		order: 2;
		margin: 2px 0 0;
		padding: 0;
		width: auto;
		height: auto;
	}
	.hcaa-nav-toggle .hcaa-nav-toggle__bar { display: none; }
	.hcaa-nav-toggle::before {
		content: "⌄";
		display: block;
		font-family: var(--hcaa-font-display);
		font-size: 1.5rem;
		line-height: 0.6;
		color: var(--hcaa-stone);
		transition: color 180ms var(--hcaa-ease), transform 220ms var(--hcaa-ease);
	}
	.hcaa-nav-toggle:hover::before { color: var(--hcaa-sienna); }
	.hcaa-nav-toggle[aria-expanded="true"]::before { color: var(--hcaa-sienna); transform: rotate(180deg); }
}

/* MENU / CLOSE word label (replaces chevron) */
@media (max-width: 900px) {
	.hcaa-nav-toggle::before {
		content: "MENU";
		font-family: "Inter", system-ui, sans-serif;
		font-size: 11px;
		font-weight: 600;
		letter-spacing: 0.18em;
		text-transform: uppercase;
		color: var(--hcaa-ink);
		line-height: 1;
		transform: none;
		padding: 6px 10px;
	}
	.hcaa-nav-toggle:hover::before { color: var(--hcaa-sienna); }
	.hcaa-nav-toggle[aria-expanded="true"]::before {
		content: "CLOSE";
		color: var(--hcaa-sienna);
		transform: none;
	}
}

/* Drawer + backdrop at body level — explicit stacking above sticky header */
.hcaa-nav-backdrop { z-index: 200; }
@media (max-width: 900px) {
	.hcaa-site-header__nav { z-index: 201; }
	/* Keep the MENU/CLOSE word tappable while drawer is open so it works as a second close path */
	.hcaa-nav-toggle[aria-expanded="true"] { opacity: 1; pointer-events: auto; }
}

/* === Mobile drawer — editorial typography pass === */
@media (max-width: 900px) {
	/* Clear legacy per-link underline rule */
	.hcaa-site-header .hcaa-nav a { border-bottom: 0 !important; }

	/* Top-level: serif display, generous, clear hierarchy */
	.hcaa-site-header .hcaa-nav .hcaa-nav__list > li {
		border-bottom: 1px solid var(--hcaa-line);
		padding: 0.25rem 0 0.5rem;
	}
	.hcaa-site-header .hcaa-nav .hcaa-nav__list > li > a {
		font-family: "Fraunces", Georgia, serif;
		font-variation-settings: "opsz" 48, "wght" 500;
		font-size: 1.5rem;
		letter-spacing: -0.01em;
		text-transform: none;
		line-height: 1.15;
		padding: 0.65rem 0 0.35rem;
		color: var(--hcaa-ink);
	}
	.hcaa-site-header .hcaa-nav .hcaa-nav__list > li > a:hover {
		color: var(--hcaa-sienna);
	}

	/* Active / current page */
	.hcaa-site-header .hcaa-nav .current-menu-item > a,
	.hcaa-site-header .hcaa-nav .current_page_item > a,
	.hcaa-site-header .hcaa-nav .current-menu-parent > a {
		color: var(--hcaa-sienna);
	}

	/* Sub-items: small caps eyebrow style */
	.hcaa-site-header .hcaa-nav .sub-menu,
	.hcaa-site-header .hcaa-nav .children {
		display: flex;
		flex-direction: column;
		gap: 0;
		padding: 0 0 0.35rem 0.75rem;
		border-left: 1px solid var(--hcaa-line);
		margin-left: 2px;
		margin-top: 0.15rem;
	}
	.hcaa-site-header .hcaa-nav .sub-menu a,
	.hcaa-site-header .hcaa-nav .children a {
		font-family: "Inter", system-ui, sans-serif;
		font-size: 0.72rem;
		font-weight: 500;
		text-transform: uppercase;
		letter-spacing: 0.16em;
		color: var(--hcaa-stone);
		padding: 0.35rem 0;
		text-decoration: none;
	}
	.hcaa-site-header .hcaa-nav .sub-menu a:hover,
	.hcaa-site-header .hcaa-nav .children a:hover {
		color: var(--hcaa-sienna);
	}

	/* Remove bottom border from the last item — drawer edge speaks for itself */
	.hcaa-site-header .hcaa-nav .hcaa-nav__list > li:last-child { border-bottom: 0; }

	/* Extra breathing room at the top of the list below the close button */
	.hcaa-site-header__nav .hcaa-nav {
		margin-top: 0.5rem;
	}

	/* Refine the close X — smaller, editorial */
	.hcaa-nav-close {
		font-size: 1.75rem;
		font-weight: 300;
		top: 10px;
		right: 12px;
		width: 36px;
		height: 36px;
	}
}

/* === Drawer nav (re-scoped now that drawer lives on <body>) === */
.hcaa-site-header__nav .hcaa-nav,
.hcaa-site-header__nav .hcaa-nav ul {
	list-style: none !important;
	margin: 0;
	padding: 0;
}

@media (max-width: 900px) {
	.hcaa-site-header__nav .hcaa-nav__list {
		display: flex;
		flex-direction: column;
		gap: 0;
		width: 100%;
	}

	/* Top-level items — Fraunces serif */
	.hcaa-site-header__nav .hcaa-nav__list > li {
		border-bottom: 1px solid var(--hcaa-line);
		padding: 0.25rem 0 0.5rem;
		list-style: none !important;
	}
	.hcaa-site-header__nav .hcaa-nav__list > li:last-child { border-bottom: 0; }

	.hcaa-site-header__nav .hcaa-nav__list > li > a {
		display: block;
		font-family: "Fraunces", Georgia, serif;
		font-variation-settings: "opsz" 48, "wght" 500;
		font-size: 1.5rem;
		letter-spacing: -0.01em;
		text-transform: none;
		line-height: 1.15;
		padding: 0.65rem 0 0.35rem;
		color: var(--hcaa-ink);
		text-decoration: none;
		border-bottom: 0;
		width: 100%;
	}
	.hcaa-site-header__nav .hcaa-nav__list > li > a:hover { color: var(--hcaa-sienna); }

	/* Current page highlight */
	.hcaa-site-header__nav .hcaa-nav .current-menu-item > a,
	.hcaa-site-header__nav .hcaa-nav .current_page_item > a,
	.hcaa-site-header__nav .hcaa-nav .current-menu-parent > a {
		color: var(--hcaa-sienna);
	}

	/* Sub-items — Inter uppercase eyebrow style */
	.hcaa-site-header__nav .hcaa-nav .sub-menu,
	.hcaa-site-header__nav .hcaa-nav .children {
		display: flex !important;
		flex-direction: column;
		gap: 0;
		padding: 0 0 0.35rem 0.85rem;
		margin: 0.15rem 0 0 2px;
		border-left: 1px solid var(--hcaa-line);
		position: static;
		background: transparent;
		border-top: 0;
		border-right: 0;
		border-bottom: 0;
		box-shadow: none;
		list-style: none !important;
	}
	.hcaa-site-header__nav .hcaa-nav .sub-menu a,
	.hcaa-site-header__nav .hcaa-nav .children a {
		display: block;
		font-family: "Inter", system-ui, sans-serif;
		font-size: 0.72rem;
		font-weight: 500;
		text-transform: uppercase;
		letter-spacing: 0.16em;
		color: var(--hcaa-stone);
		padding: 0.38rem 0;
		text-decoration: none;
		border-bottom: 0;
		width: 100%;
	}
	.hcaa-site-header__nav .hcaa-nav .sub-menu a:hover,
	.hcaa-site-header__nav .hcaa-nav .children a:hover { color: var(--hcaa-sienna); }

	/* A bit of space between the close button and the nav list */
	.hcaa-site-header__nav .hcaa-nav { margin-top: 0.5rem; }
}

/* Drawer scroll — force overflow after DOM move, use dvh for iOS correctness */
@media (max-width: 900px) {
	.hcaa-site-header__nav {
		display: block !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
		-webkit-overflow-scrolling: touch !important;
		touch-action: pan-y !important;
		max-height: 100dvh !important;
		height: 100dvh;
	}
	.hcaa-site-header__nav .hcaa-nav { overflow: visible; }
	.hcaa-site-header__nav .hcaa-nav__list { overflow: visible; }
}
