:root {
	--pca-red: #d71920;
	--pca-red-soft: #f7dfe1;
	--pca-red-700: #b5121b;
	--pca-red-800: #8d0e16;
	--pca-red-950: #31070a;
	--pca-ink: #191516;
	--pca-muted: #675f61;
	--pca-paper: #f8f7f5;
	--pca-surface: #ffffff;
	--pca-soft: #f1efec;
	--pca-line: #ded9d5;
	--pca-success: #24613a;
	--pca-warning: #82500b;
	--pca-danger: #94151b;
	--pca-container: 73.75rem;
	--pca-radius-sm: 6px;
	--pca-radius-md: 10px;
	--pca-radius-lg: 14px;
	--pca-shadow-sm: 0 12px 32px rgba(35, 25, 27, 0.07);
	--pca-shadow-md: 0 24px 64px rgba(35, 25, 27, 0.12);
	--pca-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--pca-header-height: 76px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--pca-header-height) + 24px);
}

body {
	margin: 0;
	min-width: 320px;
	background: var(--pca-paper);
	color: var(--pca-ink);
	font-family: "Source Sans Pro", "Segoe UI", sans-serif;
	font-size: 1rem;
	line-height: 1.65;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

body.is-menu-open {
	overflow: hidden;
}

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

img {
	height: auto;
}

a {
	color: var(--pca-red-700);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

a:hover {
	color: var(--pca-red);
}

button,
input,
select,
textarea {
	font: inherit;
}

button,
summary {
	cursor: pointer;
}

[hidden] {
	display: none !important;
}

h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote {
	margin-top: 0;
}

h1,
h2,
h3,
h4 {
	color: var(--pca-ink);
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1.1;
}

h1,
h2 {
	font-family: Merriweather, Georgia, serif;
}

h1 {
	font-size: clamp(2.5rem, 6vw, 4.75rem);
}

h2 {
	font-size: clamp(1.9rem, 4vw, 3rem);
}

h3 {
	font-size: clamp(1.3rem, 2.5vw, 1.65rem);
}

p,
li,
td {
	color: var(--pca-muted);
}

strong {
	color: var(--pca-ink);
	font-weight: 700;
}

hr {
	margin: 2.5rem 0;
	border: 0;
	border-top: 1px solid var(--pca-line);
}

.icon {
	display: inline-block;
	font-style: normal;
	line-height: 1;
}

.icon.solid {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}

.icon.regular {
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
}

.icon.brands {
	font-family: "Font Awesome 5 Brands";
	font-weight: 400;
}

.skip-link {
	position: fixed;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 2000;
	padding: 0.7rem 1rem;
	border-radius: var(--pca-radius-sm);
	background: var(--pca-ink);
	color: #fff;
	font-weight: 700;
	transform: translateY(-150%);
	transition: transform 180ms ease;
}

.skip-link:focus {
	color: #fff;
	transform: translateY(0);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
	outline: 3px solid rgba(215, 25, 32, 0.34);
	outline-offset: 3px;
}

/* Site header and navigation */

.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	height: var(--pca-header-height);
	border-bottom: 1px solid rgba(231, 219, 214, 0.84);
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(18px) saturate(135%);
	-webkit-backdrop-filter: blur(18px) saturate(135%);
	transition: box-shadow 220ms ease, background-color 220ms ease;
}

.site-header.is-scrolled {
	background: rgba(255, 255, 255, 0.985);
	box-shadow: 0 8px 28px rgba(61, 34, 36, 0.09);
}

.site-header__inner {
	display: flex;
	align-items: center;
	gap: 2rem;
	width: min(calc(100% - 2rem), var(--pca-container));
	height: 100%;
	margin: 0 auto;
}

.site-brand {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 0.75rem;
	color: var(--pca-red-800);
	font-size: 1.12rem;
	font-weight: 900;
	letter-spacing: -0.015em;
	text-decoration: none;
}

.site-brand:hover {
	color: var(--pca-red);
}

.site-brand img {
	width: 44px;
	height: 45px;
	border-radius: 9px;
	object-fit: cover;
}

.site-nav {
	margin-left: auto;
}

.site-nav__panel,
.site-nav .links,
.nav-account__row {
	display: flex;
	align-items: center;
}

.site-nav .links,
.nav-submenu,
.site-footer__links {
	list-style: none;
	padding: 0;
	margin: 0;
}

.site-nav .links {
	gap: 0.15rem;
}

.nav-item {
	position: relative;
}

.nav-item > a,
.nav-item > button,
.nav-account__row > a,
.nav-account__row > button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.42rem;
	min-height: 42px;
	padding: 0 0.78rem;
	border: 0;
	border-radius: 9px;
	background: transparent;
	color: var(--pca-ink);
	font-size: 0.91rem;
	font-weight: 700;
	text-decoration: none;
	transition: color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.nav-item > a:hover,
.nav-item > button:hover,
.nav-account__row > a:hover,
.nav-account__row > button:hover,
.nav-item.is-current > a,
.nav-item.is-current > button,
.nav-item.is-current .nav-account__row > a {
	background: var(--pca-soft);
	color: var(--pca-red-700);
}

.nav-item > a:hover,
.nav-item > button:hover {
	transform: translateY(-1px);
}

.nav-item .fa-chevron-down {
	font-size: 0.65rem;
	transition: transform 180ms var(--pca-ease);
}

.nav-item.is-open .fa-chevron-down {
	transform: rotate(180deg);
}

.nav-home {
	display: none;
}

.nav-support > a {
	margin-left: 0.25rem;
	padding: 0 1rem;
	background: var(--pca-red-700);
	color: #fff;
}

.nav-support > a:hover,
.nav-support.is-current > a {
	background: var(--pca-red-800);
	color: #fff;
}

.nav-account {
	margin-left: 0.25rem;
	padding-left: 0.35rem;
	border-left: 1px solid var(--pca-line);
}

.nav-account__row > a {
	padding-right: 0.35rem;
}

.nav-account__row > button {
	min-width: 32px;
	padding: 0 0.5rem;
}

.nav-submenu {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	z-index: 5;
	width: max-content;
	min-width: 215px;
	padding: 0.55rem;
	border: 1px solid var(--pca-line);
	border-radius: 12px;
	background: var(--pca-surface);
	box-shadow: var(--pca-shadow-md);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-7px);
	transition: opacity 180ms ease, transform 180ms var(--pca-ease), visibility 180ms;
}

.nav-account .nav-submenu {
	right: 0;
	left: auto;
}

.nav-item.is-open > .nav-submenu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.nav-submenu a {
	display: flex;
	align-items: center;
	min-height: 40px;
	padding: 0.55rem 0.72rem;
	border-radius: 8px;
	color: var(--pca-ink);
	font-size: 0.9rem;
	font-weight: 650;
	text-decoration: none;
}

.nav-submenu a:hover,
.nav-submenu .active a {
	background: var(--pca-soft);
	color: var(--pca-red-700);
}

@media (hover: hover) and (min-width: 981px) {
	.nav-item--dropdown::after {
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		height: 10px;
		content: "";
	}
}

.site-nav__social,
.site-menu-toggle {
	display: none;
}

/* Global page layout */

#wrapper {
	min-height: calc(100vh - var(--pca-header-height));
}

#main {
	width: min(calc(100% - 2rem), var(--pca-container));
	margin: 0 auto;
	padding: clamp(2.5rem, 6vw, 5rem) 0;
}

#main > .post,
#main > .posts,
#main > .pca-band {
	overflow: clip;
	border: 0;
	border-radius: 0;
	background: var(--pca-surface);
	box-shadow: none;
}

#main > .post {
	padding: clamp(2.25rem, 5.5vw, 5.5rem);
	border-top: 3px solid var(--pca-red);
}

#main > .post + .post,
#main > .post + .posts,
#main > .posts + .post,
#main > .pca-band + * {
	margin-top: 1.5rem;
}

#main > .post > p,
#main > .post > ul,
#main > .post > ol,
#main > .post > h2,
#main > .post > h3,
#main > .post > .table-wrapper {
	max-width: 74ch;
	margin-right: auto;
	margin-left: auto;
}

#main > .post > h2,
#main > .post > h3 {
	margin-top: 2.5rem;
	margin-bottom: 0.85rem;
}

header.major {
	position: relative;
	max-width: 58rem;
	margin: 0 auto clamp(2rem, 4vw, 3.25rem);
	text-align: center;
}

header.major::after {
	display: block;
	width: 4.5rem;
	height: 2px;
	margin: 1.7rem auto 0;
	background: var(--pca-red);
	content: "";
}

header.major .date,
.eyebrow,
.pca-blog-meta,
.pca-paper-panel header > span {
	display: block;
	margin-bottom: 0.75rem;
	color: var(--pca-red-700);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
}

header.major h1,
header.major h2 {
	margin-bottom: 1rem;
}

header.major p {
	max-width: 47rem;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	font-family: Merriweather, Georgia, serif;
	font-size: clamp(1rem, 1.8vw, 1.14rem);
	line-height: 1.75;
}

.image {
	overflow: hidden;
	border-radius: var(--pca-radius-md);
	background: var(--pca-soft);
}

.image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms var(--pca-ease);
}

a.image:hover img,
.pca-card:hover .image img,
.journey-card:hover img {
	transform: scale(1.025);
}

.image.main {
	max-width: 62rem;
	margin: 0 auto 2rem;
}

.image.main img {
	max-height: 580px;
}

.image.fit {
	width: 100%;
	aspect-ratio: 4 / 3;
}

.pca-about-photo,
.pca-volunteer-photo {
	max-width: 58rem;
	margin-right: auto;
	margin-bottom: 2.5rem;
	margin-left: auto;
}

.pca-about-photo img,
.pca-volunteer-photo img {
	max-height: 520px;
}

/* Buttons and actions */

.actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem;
	padding: 0;
	margin: 1.5rem 0 0;
	list-style: none;
}

.actions li {
	padding: 0;
}

.actions.special {
	justify-content: center;
}

.button,
button.button,
input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	min-height: 46px;
	padding: 0.72rem 1.25rem;
	border: 1px solid var(--pca-line);
	border-radius: 4px;
	background: var(--pca-surface);
	box-shadow: none;
	color: var(--pca-red-700);
	font-weight: 750;
	line-height: 1.1;
	text-align: center;
	text-decoration: none;
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms var(--pca-ease), box-shadow 180ms ease;
}

.button:hover,
button.button:hover,
input[type="submit"]:hover {
	border-color: #d6c2bb;
	background: var(--pca-soft);
	color: var(--pca-red-800);
	box-shadow: 0 8px 20px rgba(61, 34, 36, 0.08);
	transform: translateY(-2px);
}

.button:active,
button.button:active,
input[type="submit"]:active {
	transform: translateY(0);
}

.button.primary,
button.button.primary,
input[type="submit"].primary {
	border-color: var(--pca-red-700);
	background: var(--pca-red-700);
	color: #fff;
}

.button.primary:hover,
button.button.primary:hover,
input[type="submit"].primary:hover {
	border-color: var(--pca-red-800);
	background: var(--pca-red-800);
	color: #fff;
}

.button--light {
	border-color: rgba(255, 255, 255, 0.7);
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
}

.button--light:hover {
	border-color: #fff;
	background: #fff;
	color: var(--pca-red-800);
}

.button.small {
	min-height: 38px;
	padding: 0.55rem 0.85rem;
	font-size: 0.86rem;
}

.button.disabled,
.button:disabled,
button:disabled,
input[type="submit"]:disabled {
	cursor: not-allowed;
	opacity: 0.52;
	pointer-events: none;
}

.text-link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	color: var(--pca-red-700);
	font-weight: 750;
	text-decoration: none;
}

.text-link span {
	transition: transform 180ms var(--pca-ease);
}

.text-link:hover span {
	transform: translateX(4px);
}

/* Cards, grids, and reusable content */

.pca-card-grid,
.pca-event-categories,
.pca-three-column-cards,
.pca-account-benefits,
.pca-admin-metric-grid,
.pca-events-grid,
.pca-dashboard-grid,
.pca-profile-grid,
.pca-saved-member-grid,
.pca-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
	max-width: 64rem;
	margin: 2rem auto 0;
}

.pca-events-grid,
.pca-dashboard-grid,
.pca-profile-grid,
.pca-saved-member-grid,
.pca-blog-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pca-saved-member-grid {
	width: 100%;
	box-sizing: border-box;
}

.pca-card,
.pca-paper-panel,
.pca-event,
.pca-member,
.pca-partner,
.pca-event-card,
.pca-registration-card,
.pca-profile-card,
.pca-blog-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: clamp(1.25rem, 2.5vw, 1.8rem);
	border: 1px solid var(--pca-line);
	border-radius: var(--pca-radius-sm);
	background: var(--pca-surface);
	box-shadow: none;
}

.pca-card,
.pca-blog-card,
.pca-event-card {
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms var(--pca-ease);
}

.pca-card:hover,
.pca-blog-card:hover,
.pca-event-card:hover {
	border-color: #c9c1bc;
	box-shadow: var(--pca-shadow-sm);
	transform: translateY(-2px);
}

.pca-card h2,
.pca-card h3,
.pca-paper-panel h2,
.pca-paper-panel h3,
.pca-event h2,
.pca-event h3 {
	margin-bottom: 0.65rem;
}

.pca-card p,
.pca-blog-card p,
.pca-event-card p {
	margin-bottom: 1rem;
}

.pca-card .actions,
.pca-blog-card .actions,
.pca-event-card .actions {
	margin-top: auto;
	padding-top: 0.5rem;
}

.pca-card .image,
.pca-blog-card .pca-blog-cover {
	margin: -0.5rem -0.5rem 1.35rem;
}

/* Shared vertical rhythm for adjacent page sections and nested panels. */
.post > .pca-three-column-cards + .pca-paper-panel,
.post > .pca-paper-panel + .pca-paper-panel,
.pca-dashboard-grid + .pca-paper-panel {
	margin-top: 1.5rem;
}

.pca-paper-panel > .pca-saved-member-grid + .pca-admin-create-panel {
	margin-top: 1.25rem;
}

#main > .posts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

#main > .posts > article {
	display: flex;
	flex-direction: column;
	padding: clamp(1.5rem, 4vw, 3rem);
	border-bottom: 1px solid var(--pca-line);
}

#main > .posts > article:nth-child(odd) {
	border-right: 1px solid var(--pca-line);
}

#main > .posts > article .actions {
	margin-top: auto;
}

.pca-feature-icon {
	margin-bottom: 1rem;
	color: var(--pca-red-700);
	font-size: 1.6rem;
}

.pca-step-list,
.pca-benefit-list,
.pca-compact-list,
.pca-editor-post-list,
.pca-footer-links {
	padding-left: 1.2rem;
}

.pca-step-list li,
.pca-benefit-list li,
.pca-compact-list li {
	margin-bottom: 0.6rem;
}

.pca-registration-paths,
.pca-upcoming-card,
.pca-register-event-summary,
.pca-registration-form,
.pca-volunteer-application-form {
	max-width: 58rem;
	margin: 2rem auto 0;
}

.pca-registration-path-card .button,
.pca-saved-member-card .button {
	margin-top: auto;
}

.pca-saved-member-card .pca-saved-member-card-actions {
	display: grid;
	gap: 0.65rem;
	margin-top: auto;
}

.pca-saved-member-card .pca-saved-member-card-actions .button {
	width: 100%;
	margin-top: 0;
}

.pca-band {
	padding: clamp(2.5rem, 6vw, 5rem);
	background: var(--pca-red-950) !important;
	color: #fff;
	text-align: center;
}

.pca-band h2,
.pca-band p {
	color: #fff;
}

.pca-band p {
	max-width: 48rem;
	margin-right: auto;
	margin-left: auto;
}

/* Home page */

#main.home-main {
	width: 100%;
	max-width: none;
	padding: 0;
}

.pca-home-hero {
	position: relative;
	display: grid;
	align-items: end;
	min-height: clamp(560px, 76svh, 780px);
	overflow: hidden;
	background: var(--pca-red-950);
	color: #fff;
}

.pca-home-hero__media,
.pca-home-hero__overlay {
	position: absolute;
	inset: 0;
}

.pca-home-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 46%;
	animation: hero-image-enter 900ms var(--pca-ease) both;
}

.pca-home-hero__overlay {
	background: linear-gradient(90deg, rgba(31, 7, 9, 0.86) 0%, rgba(31, 7, 9, 0.58) 47%, rgba(31, 7, 9, 0.18) 100%);
}

.pca-home-hero__content {
	position: relative;
	z-index: 1;
	width: min(calc(100% - 2rem), var(--pca-container));
	margin: 0 auto;
	padding: clamp(5rem, 12vw, 9rem) 0 clamp(5rem, 10vw, 7rem);
	animation: hero-copy-enter 650ms 100ms var(--pca-ease) both;
}

.pca-home-hero .eyebrow,
.pca-home-hero h1,
.pca-home-hero p {
	color: #fff;
}

.pca-home-hero h1 {
	max-width: 13ch;
	margin-bottom: 1.2rem;
	font-size: clamp(3rem, 7vw, 6.2rem);
	line-height: 0.96;
}

.pca-home-hero__lede {
	max-width: 37rem;
	margin-bottom: 0;
	font-family: Merriweather, Georgia, serif;
	font-size: clamp(1.05rem, 2.1vw, 1.28rem);
	line-height: 1.7;
}

.pca-home-hero__scroll {
	position: absolute;
	right: max(1rem, calc((100% - var(--pca-container)) / 2));
	bottom: 2rem;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	color: #fff;
	font-size: 0.84rem;
	font-weight: 700;
	text-decoration: none;
}

.pca-home-hero__scroll .icon {
	display: grid;
	width: 38px;
	height: 38px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-radius: 50%;
	transition: transform 180ms var(--pca-ease), background-color 180ms ease;
}

.pca-home-hero__scroll:hover {
	color: #fff;
}

.pca-home-hero__scroll:hover .icon {
	background: rgba(255, 255, 255, 0.12);
	transform: translateY(3px);
}

.home-section {
	padding: clamp(4rem, 8vw, 7.5rem) 0;
}

.home-section + .home-section {
	border-top: 1px solid var(--pca-line);
}

.home-section__inner {
	width: min(calc(100% - 2rem), var(--pca-container));
	margin: 0 auto;
}

.home-mission__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr);
	align-items: end;
	gap: clamp(3rem, 7vw, 7rem);
}

.home-mission__copy h2,
.home-feature__copy h2 {
	max-width: 13ch;
	margin-bottom: 1.25rem;
}

.home-mission__copy > p:not(.eyebrow),
.home-feature__copy > p:not(.eyebrow) {
	max-width: 40rem;
	font-size: 1.08rem;
}

.pca-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	overflow: hidden;
	border: 1px solid var(--pca-line);
	border-radius: var(--pca-radius-md);
	background: var(--pca-surface);
}

.pca-stats div {
	padding: 1.4rem 1rem;
	text-align: center;
}

.pca-stats div + div {
	border-left: 1px solid var(--pca-line);
}

.pca-stats strong,
.pca-stats span {
	display: block;
}

.pca-stats strong {
	font-size: clamp(1.7rem, 3vw, 2.35rem);
}

.pca-stats span {
	color: var(--pca-muted);
	font-size: 0.75rem;
	font-weight: 750;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.home-feature {
	background: var(--pca-soft);
}

.home-feature__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
	align-items: center;
	gap: clamp(2.5rem, 6vw, 6rem);
}

.home-feature__media {
	overflow: hidden;
	border-radius: var(--pca-radius-lg);
	box-shadow: var(--pca-shadow-md);
}

.home-feature__media img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 3rem;
	margin-bottom: 2.25rem;
}

.section-heading h2 {
	max-width: 14ch;
	margin-bottom: 0;
}

.section-heading > p {
	max-width: 34rem;
	margin-bottom: 0.35rem;
}

.journey-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
}

.journey-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--pca-line);
	border-radius: var(--pca-radius-md);
	background: var(--pca-surface);
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms var(--pca-ease);
}

.journey-card:hover {
	border-color: #d8c6c0;
	box-shadow: var(--pca-shadow-sm);
	transform: translateY(-4px);
}

.journey-card__media {
	overflow: hidden;
	aspect-ratio: 4 / 3;
}

.journey-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms var(--pca-ease);
}

.journey-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.5rem;
}

.journey-card__body h3 {
	margin-bottom: 0.7rem;
}

.journey-card__body .text-link {
	margin-top: auto;
	padding-top: 0.5rem;
}

.home-cta {
	background: var(--pca-red-950);
}

.home-cta__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 3rem;
}

.home-cta .eyebrow,
.home-cta h2,
.home-cta p {
	color: #fff;
}

.home-cta h2 {
	max-width: 17ch;
	margin-bottom: 0;
}

.home-cta .button:not(.primary) {
	border-color: rgba(255, 255, 255, 0.55);
	background: transparent;
	color: #fff;
}

@keyframes hero-image-enter {
	from { opacity: 0.7; transform: scale(1.04); }
	to { opacity: 1; transform: scale(1); }
}

@keyframes hero-copy-enter {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Forms */

form {
	margin: 0;
}

.fields,
.pca-admin-event-fields,
.pca-participant-fields,
.pca-registration-details,
.pca-admin-controls,
.pca-admin-volunteer-review {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.field {
	grid-column: 1 / -1;
	min-width: 0;
	margin: 0;
}

.field.half,
.pca-admin-event-fields .field:not(.pca-field-wide) {
	grid-column: span 1;
}

label,
legend {
	display: block;
	margin-bottom: 0.45rem;
	color: var(--pca-ink);
	font-size: 0.88rem;
	font-weight: 750;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="date"],
input[type="datetime-local"],
input[type="search"],
input[type="url"],
select,
textarea {
	width: 100%;
	min-height: 46px;
	padding: 0.72rem 0.85rem;
	border: 1px solid #d8ccc7;
	border-radius: var(--pca-radius-sm);
	background: #fff;
	color: var(--pca-ink);
	box-shadow: none;
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

textarea {
	min-height: 120px;
	resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--pca-red-700);
	box-shadow: 0 0 0 3px rgba(215, 25, 32, 0.1);
}

input[type="checkbox"],
input[type="radio"] {
	width: 1rem;
	height: 1rem;
	margin: 0 0.45rem 0 0;
	accent-color: var(--pca-red-700);
}

input[type="checkbox"] + label,
input[type="radio"] + label {
	display: inline;
	margin: 0;
}

.pca-form-help,
.pca-field-help,
.pca-optional-label {
	display: block;
	margin: 0.45rem 0 0;
	color: var(--pca-muted);
	font-size: 0.85rem;
	line-height: 1.5;
}

.pca-login-card,
.pca-authenticated-panel {
	max-width: 34rem;
	padding: clamp(1.25rem, 4vw, 2rem);
	margin: 0 auto;
	border: 1px solid var(--pca-line);
	border-radius: var(--pca-radius-md);
	background: var(--pca-surface);
}

.pca-auth-tabs,
.pca-dashboard-toolbar,
.pca-admin-workspace-tabs {
	display: flex;
	gap: 0.35rem;
	padding: 0.3rem;
	margin-bottom: 1.5rem;
	border: 1px solid var(--pca-line);
	border-radius: 12px;
	background: var(--pca-soft);
}

.pca-auth-tabs .button,
.pca-dashboard-toolbar .button,
.pca-admin-workspace-tabs .button {
	flex: 1;
	border-color: transparent;
	background: transparent;
	box-shadow: none;
	color: var(--pca-muted);
}

.pca-auth-tabs .button.primary,
.pca-dashboard-toolbar .button.primary,
.pca-dashboard-toolbar .button.is-selected,
.pca-admin-workspace-tabs .button.primary,
.pca-admin-workspace-tabs .button.is-selected {
	background: var(--pca-surface);
	box-shadow: 0 2px 8px rgba(61, 34, 36, 0.08);
	color: var(--pca-red-700);
}

.pca-account-use-fieldset {
	padding: 0;
	margin: 0 0 1.5rem;
	border: 0;
}

.pca-account-use-options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

.pca-account-use-option {
	display: block;
	padding: 1rem;
	border: 1px solid var(--pca-line);
	border-radius: var(--pca-radius-sm);
	background: var(--pca-surface);
}

.pca-account-use-option:has(input:checked) {
	border-color: var(--pca-red-700);
	background: #fff6f3;
}

.pca-account-use-option strong,
.pca-account-use-option small {
	display: block;
}

.pca-account-use-option small {
	margin-top: 0.25rem;
	color: var(--pca-muted);
}

.pca-forgot-password,
.pca-back-link {
	margin: 1rem 0 0;
	font-size: 0.9rem;
	text-align: center;
}

/* Status, profiles, registration, and dashboards */

.pca-login-status,
.pca-backend-status,
.pca-admin-volunteer-item-status {
	min-height: 1.4rem;
	margin: 1rem 0 0;
	font-weight: 650;
	text-align: center;
}

.is-error,
.pca-login-status.is-error,
.pca-backend-status.is-error {
	color: var(--pca-danger);
}

.is-success,
.pca-login-status.is-success,
.pca-backend-status.is-success {
	color: var(--pca-success);
}

.is-info,
.pca-login-status.is-info,
.pca-backend-status.is-info {
	color: var(--pca-muted);
}

.pca-profile-summary,
.pca-volunteer-summary {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	max-width: 64rem;
	margin: 0 auto 1.5rem;
	overflow: hidden;
	border: 1px solid var(--pca-line);
	border-radius: var(--pca-radius-md);
}

.pca-volunteer-summary {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pca-profile-summary > div,
.pca-volunteer-summary > div {
	padding: 1.2rem;
	background: var(--pca-surface);
}

.pca-profile-summary > div + div,
.pca-volunteer-summary > div + div {
	border-left: 1px solid var(--pca-line);
}

.pca-profile-summary span,
.pca-profile-summary strong,
.pca-volunteer-summary span,
.pca-volunteer-summary strong {
	display: block;
}

.pca-profile-summary span,
.pca-volunteer-summary span {
	margin-bottom: 0.25rem;
	color: var(--pca-red-700);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.pca-profile-card-wide {
	grid-column: 1 / -1;
}

.pca-profile-links,
.pca-page-bottom-actions {
	margin-top: 2.5rem;
}

.pca-empty-state {
	max-width: 52rem;
	padding: 2rem;
	margin: 2rem auto 0;
	border: 1px dashed #d0bbb4;
	border-radius: var(--pca-radius-md);
	background: var(--pca-soft);
	text-align: center;
}

.pca-dashboard-grid > .pca-empty-state,
.pca-saved-member-grid > .pca-empty-state {
	grid-column: 1 / -1;
	width: 100%;
	box-sizing: border-box;
}

.pca-event-details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.7rem;
	margin: 1.25rem 0;
}

.pca-event-detail {
	padding: 0.85rem 0.95rem;
	border-left: 3px solid #e2c8c1;
	background: var(--pca-soft);
}

.pca-event-detail strong,
.pca-event-detail span {
	display: block;
}

.pca-event-detail strong {
	margin-bottom: 0.2rem;
	color: var(--pca-red-700);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.pca-registration-success,
.pca-attendee-notice {
	padding: 1rem 1.15rem;
	margin-bottom: 1.25rem;
	border-left: 4px solid var(--pca-red-700);
	border-radius: var(--pca-radius-sm);
	background: #fff5f1;
}

.pca-participant-list {
	display: grid;
	gap: 1rem;
}

.pca-registration-form {
	display: grid;
	gap: 1.5rem;
}

.pca-registration-form > .pca-paper-panel,
.pca-registration-form > .pca-attendee-notice,
.pca-registration-form > .actions {
	margin: 0;
}

.pca-saved-member-picker {
	padding: 1rem 1.15rem;
	border: 1px solid var(--pca-line);
	border-radius: var(--pca-radius-md);
	background: var(--pca-soft);
}

.pca-saved-member-picker > p {
	margin: 0.2rem 0 0.8rem;
}

.pca-saved-member-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.pca-participant-row {
	padding: 1.2rem;
	border: 1px solid var(--pca-line);
	border-radius: var(--pca-radius-md);
	background: var(--pca-surface);
}

.pca-participant-fields {
	grid-template-columns: minmax(0, 1.5fr) minmax(10rem, 1fr) minmax(7rem, 0.6fr) minmax(0, 1.5fr);
}

.pca-participant-remove {
	align-self: end;
}

.pca-participant-fields .field,
.pca-registration-details .field {
	grid-column: auto;
}

.pca-registration-heading,
.pca-admin-volunteer-item-header,
.pca-admin-export {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.pca-registration-heading h3,
.pca-admin-volunteer-item-header h4 {
	margin-bottom: 0;
}

.pca-status-badge,
.pca-role-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	padding: 0.3rem 0.65rem;
	border-radius: 7px;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.pca-status-badge.is-confirmed,
.pca-status-badge.is-approved,
.pca-status-badge.is-completed {
	background: #e7f3ea;
	color: var(--pca-success);
}

.pca-status-badge.is-waitlisted,
.pca-status-badge.is-pending,
.pca-status-badge.is-submitted,
.pca-status-badge.is-assigned {
	background: #fff1d8;
	color: var(--pca-warning);
}

.pca-status-badge.is-rejected,
.pca-status-badge.is-cancelled {
	background: #f8e5e6;
	color: var(--pca-danger);
}

.pca-role-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.pca-danger-zone {
	max-width: 48rem;
	padding: 1.5rem;
	margin: 3rem auto 0;
	border: 1px solid #e4b9bb;
	border-radius: var(--pca-radius-md);
	background: #fff4f2;
}

.button.pca-danger-button {
	border-color: var(--pca-danger);
	background: var(--pca-danger);
	color: #fff;
}

/* Blog and editor */

.pca-blog-card {
	overflow: hidden;
	padding: 0;
}

.pca-blog-card .pca-blog-cover {
	margin: 0;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.pca-blog-card .pca-blog-cover img,
.pca-blog-post-cover,
.pca-blog-inline-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pca-blog-card > *:not(.pca-blog-cover) {
	margin-right: 1.4rem;
	margin-left: 1.4rem;
}

.pca-blog-card > :last-child {
	margin-bottom: 1.4rem;
}

.pca-blog-meta {
	margin-top: 1.3rem;
}

.pca-blog-content {
	max-width: 46rem;
	margin: 0 auto;
}

.pca-blog-content blockquote {
	padding: 1.1rem 1.25rem;
	border-left: 4px solid var(--pca-red-700);
	background: var(--pca-soft);
	font-family: Merriweather, Georgia, serif;
}

.pca-blog-inline-image {
	margin: 2rem 0;
}

.pca-editor-layout {
	display: grid;
	grid-template-columns: minmax(14rem, 0.5fr) minmax(0, 1.5fr);
	align-items: start;
	gap: clamp(2rem, 5vw, 4rem);
}

/* Administration */

#main > .post.pca-dashboard-page {
	padding: clamp(1.5rem, 4vw, 3rem);
}

.pca-admin-dashboard-layout {
	display: grid;
	grid-template-columns: 14rem minmax(0, 1fr);
	align-items: start;
	gap: 1.5rem;
}

.pca-admin-workspace-nav {
	position: sticky;
	top: calc(var(--pca-header-height) + 1.25rem);
	min-width: 0;
}

.pca-admin-workspace-content {
	min-width: 0;
}

.pca-admin-workspace-tabs {
	align-items: stretch;
	flex-direction: column;
	padding: 0.65rem;
	margin: 0;
}

.pca-admin-tab-group {
	padding: 0.8rem 0.65rem 0.35rem;
	color: var(--pca-muted);
	font-size: 0.69rem;
	font-weight: 800;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.pca-admin-workspace-tabs .button {
	flex: none;
	justify-content: flex-start;
	width: 100%;
	text-align: left;
}

.pca-admin-workspace-panel {
	min-width: 0;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid var(--pca-line);
	border-radius: var(--pca-radius-md);
	background: var(--pca-surface);
}

.pca-admin-workspace-panel > h2 {
	margin-bottom: 1.2rem;
}

.pca-admin-workspace-panel > h3 {
	margin-top: 2rem;
	margin-bottom: 1rem;
}

.pca-admin-metric-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 0;
}

.pca-admin-metric-grid strong,
.pca-admin-metric-grid span {
	display: block;
}

.pca-admin-metric-grid strong {
	font-size: 2rem;
}

.pca-admin-create-panel {
	margin: 1.5rem 0;
	overflow: hidden;
	border: 1px solid var(--pca-line);
	border-radius: var(--pca-radius-md);
	background: var(--pca-surface);
}

.pca-admin-create-panel summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.15rem;
	color: var(--pca-ink);
	font-weight: 750;
}

.pca-admin-create-panel summary small {
	color: var(--pca-muted);
	font-size: 0.82rem;
}

.pca-admin-create-panel[open] summary {
	border-bottom: 1px solid var(--pca-line);
}

.pca-admin-create-panel form {
	padding: 1.2rem;
}

.pca-admin-event-options {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2rem;
	margin: 1.25rem 0;
}

.pca-admin-controls {
	grid-template-columns: minmax(14rem, 1.5fr) minmax(11rem, 1fr) auto;
	align-items: end;
	padding: 1rem;
	margin-bottom: 1.25rem;
	border: 1px solid var(--pca-line);
	border-radius: var(--pca-radius-md);
	background: var(--pca-soft);
}

.table-wrapper,
.pca-admin-table-wrapper {
	max-width: 100%;
	overflow-x: auto;
	border: 1px solid var(--pca-line);
	border-radius: var(--pca-radius-sm);
	background: var(--pca-surface);
	-webkit-overflow-scrolling: touch;
}

table {
	width: 100%;
	min-width: 42rem;
	border-collapse: collapse;
	font-size: 0.94rem;
}

th,
td {
	padding: 0.85rem;
	border-bottom: 1px solid var(--pca-line);
	text-align: left;
	vertical-align: top;
}

th {
	position: sticky;
	top: 0;
	z-index: 1;
	background: var(--pca-soft);
	color: var(--pca-ink);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

tbody tr:last-child td {
	border-bottom: 0;
}

.pca-admin-table {
	min-width: 80rem;
}

.pca-table-subtext {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.8rem;
}

.pca-admin-empty {
	padding: 2rem !important;
	text-align: center;
}

.pca-admin-volunteer-section,
.pca-volunteer-dashboard-section,
.pca-volunteer-hours-panel {
	margin-top: 2.5rem;
}

.pca-admin-volunteer-list {
	display: grid;
	gap: 1rem;
}

.pca-admin-volunteer-item {
	padding: 1.2rem;
	border: 1px solid var(--pca-line);
	border-radius: var(--pca-radius-md);
	background: var(--pca-surface);
}

.pca-admin-volunteer-details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.7rem 1.25rem;
}

.pca-admin-volunteer-review {
	grid-template-columns: minmax(9rem, 0.7fr) minmax(12rem, 1.6fr) auto;
	align-items: end;
	padding-top: 1rem;
	margin-top: 1rem;
	border-top: 1px solid var(--pca-line);
}

/* Site footer */

.site-footer {
	border-top: 1px solid var(--pca-line);
	background: #21191a;
	color: #fff;
}

.site-footer__inner {
	display: grid;
	grid-template-columns: minmax(15rem, 1.15fr) minmax(28rem, 1.8fr) minmax(10rem, 0.7fr);
	gap: clamp(2rem, 5vw, 5rem);
	width: min(calc(100% - 2rem), var(--pca-container));
	padding: clamp(3.5rem, 7vw, 5.5rem) 0;
	margin: 0 auto;
}

.site-brand--footer,
.site-brand--footer:hover,
.site-footer h2,
.site-footer a {
	color: #fff;
}

.site-footer p {
	color: #cfc4c4;
}

.site-footer__brand p {
	max-width: 24rem;
	margin: 1rem 0;
}

.site-footer__email {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	font-weight: 650;
}

.site-footer__links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}

.site-footer h2 {
	margin-bottom: 0.85rem;
	font-size: 0.76rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.site-footer__links a {
	display: block;
	margin-bottom: 0.5rem;
	color: #cfc4c4;
	text-decoration: none;
}

.site-footer__links a:hover,
.site-footer__bottom a:hover {
	color: #fff;
}

.site-footer__social {
	display: flex;
	gap: 0.6rem;
	margin-bottom: 1.35rem;
}

.site-footer__social a,
.site-nav__social a {
	display: grid;
	width: 40px;
	height: 40px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 50%;
	text-decoration: none;
}

.site-footer__connect .button {
	border-color: #fff;
}

.site-footer__bottom {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	width: min(calc(100% - 2rem), var(--pca-container));
	padding: 1.1rem 0;
	margin: 0 auto;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	color: #a99c9d;
	font-size: 0.82rem;
}

.site-footer__bottom a {
	color: #cfc4c4;
}

/* Motion */

body.pca-motion-ready [data-reveal] {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 500ms ease, transform 500ms var(--pca-ease);
}

body.pca-motion-ready [data-reveal].is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* 2026 editorial redesign */

.pca-home-hero__overlay {
	background: linear-gradient(90deg, rgba(16, 14, 15, 0.88) 0%, rgba(16, 14, 15, 0.6) 45%, rgba(16, 14, 15, 0.12) 100%);
}

.pca-home-hero h1 {
	font-family: Merriweather, Georgia, serif;
	letter-spacing: -0.055em;
}

.pca-home-hero .eyebrow::before,
.section-heading .eyebrow::before,
.home-mission .eyebrow::before {
	display: inline-block;
	width: 2.3rem;
	height: 2px;
	margin-right: 0.7rem;
	background: currentColor;
	vertical-align: 0.25em;
	content: "";
}

.home-mission {
	background: var(--pca-surface);
}

.pca-stats {
	border-radius: 0;
}

.pca-stats strong {
	font-family: Merriweather, Georgia, serif;
}

.home-feature {
	background: #f2f0ed;
}

.home-feature__media {
	border-radius: 0;
}

.journey-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	border-top: 1px solid var(--pca-line);
}

.journey-card {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(19rem, 0.85fr);
	align-items: stretch;
	overflow: visible;
	border: 0;
	border-bottom: 1px solid var(--pca-line);
	border-radius: 0;
	background: transparent;
	transition: background-color 260ms ease;
}

.journey-card:nth-child(even) .journey-card__media {
	order: 2;
}

.journey-card:hover {
	border-color: var(--pca-line);
	background: #fbfaf9;
	box-shadow: none;
	transform: none;
}

.journey-card__media {
	aspect-ratio: 16 / 10;
}

.journey-card__body {
	justify-content: center;
	padding: clamp(2rem, 5vw, 4.25rem);
}

.journey-card__body h3 {
	font-family: Merriweather, Georgia, serif;
	font-size: clamp(1.65rem, 3vw, 2.45rem);
}

.home-cta {
	position: relative;
	overflow: hidden;
	background: var(--pca-red-950);
}

.home-cta::after {
	position: absolute;
	top: 50%;
	right: -8rem;
	width: 24rem;
	height: 24rem;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 50%;
	transform: translateY(-50%);
	content: "";
}

.pca-events-grid {
	grid-template-columns: 1fr;
	max-width: 68rem;
	gap: 1rem;
}

.pca-event-card.pca-event-agenda {
	display: grid;
	grid-template-columns: 8.5rem minmax(0, 1fr) auto;
	align-items: stretch;
	padding: 0;
	overflow: hidden;
	border-radius: 0;
}

.pca-event-agenda__date {
	display: grid;
	align-content: center;
	justify-items: center;
	min-height: 11rem;
	padding: 1.5rem;
	background: var(--pca-red-700);
	color: #fff;
	text-align: center;
}

.pca-event-agenda__month,
.pca-event-agenda__day,
.pca-event-agenda__year {
	display: block;
	color: inherit;
}

.pca-event-agenda__month,
.pca-event-agenda__year {
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.pca-event-agenda__day {
	margin: 0.15rem 0;
	font-family: Merriweather, Georgia, serif;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
}

.pca-event-agenda__body {
	padding: clamp(1.35rem, 3vw, 2rem);
}

.pca-event-agenda__body h2 {
	margin-bottom: 0.5rem;
	font-size: clamp(1.55rem, 3vw, 2.2rem);
}

.pca-event-agenda__kicker,
.pca-event-agenda__meta {
	margin-bottom: 0.55rem;
	font-size: 0.88rem;
}

.pca-event-agenda__kicker {
	color: var(--pca-red-700);
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.pca-event-agenda__actions {
	display: flex;
	align-items: center;
	padding: 1.5rem;
	border-left: 1px solid var(--pca-line);
}

.pca-event-agenda__actions .actions {
	margin: 0;
}

.pca-past-event-list {
	display: block;
}

.pca-archive-entry {
	border-bottom: 1px solid var(--pca-line);
}

.pca-archive-year {
	max-width: 68rem;
	margin: 3.5rem auto 0;
}

.pca-archive-year > h2 {
	padding-bottom: 1rem;
	margin-bottom: 0;
	border-bottom: 1px solid var(--pca-line);
}

.pca-archive-year > p {
	max-width: 54rem;
	margin-top: 1rem;
}

.pca-archive-entry__toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 1.15rem 0;
	border: 0;
	background: transparent;
	color: var(--pca-ink);
	font-family: Merriweather, Georgia, serif;
	font-size: 1.08rem;
	font-weight: 700;
	text-align: left;
}

.pca-archive-entry__toggle .icon {
	color: var(--pca-red-700);
	transition: transform 220ms var(--pca-ease);
}

.pca-archive-entry__toggle[aria-expanded="true"] .icon {
	transform: rotate(45deg);
}

.pca-archive-entry__body {
	max-width: 54rem;
	padding: 0 0 1.4rem;
}

.pca-archive-entry__body .pca-event-agenda__kicker {
	display: block;
	margin-bottom: 0.35rem;
}

.pca-blog-toolbar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 1rem;
	max-width: 68rem;
	margin: 0 auto 2.25rem;
}

.pca-blog-toolbar .field {
	margin: 0;
}

.pca-blog-count {
	padding-bottom: 0.75rem;
	color: var(--pca-muted);
	font-size: 0.88rem;
}

.pca-blog-featured {
	max-width: 68rem;
	margin: 0 auto 3rem;
}

.pca-blog-featured .pca-blog-card {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(19rem, 0.85fr);
	border-radius: 0;
}

.pca-blog-featured .pca-blog-card:not(.has-cover) {
	grid-template-columns: 1fr;
	padding: clamp(1.25rem, 4vw, 3rem) 0;
	border-width: 1px 0;
}

.pca-blog-featured .pca-blog-card:not(.has-cover) > * {
	max-width: 48rem;
}

.pca-blog-featured .pca-blog-cover {
	grid-row: 1 / span 5;
	min-height: 24rem;
	aspect-ratio: auto;
}

.pca-blog-featured .pca-blog-card > *:not(.pca-blog-cover) {
	margin-right: 2rem;
	margin-left: 2rem;
}

.pca-blog-featured .pca-blog-meta {
	align-self: end;
	margin-top: 2rem;
}

.pca-blog-featured h2 {
	font-size: clamp(1.6rem, 3vw, 2.45rem);
}

.pca-blog-grid {
	max-width: 68rem;
	gap: 1px;
	background: var(--pca-line);
}

.pca-blog-grid .pca-blog-card {
	border: 0;
	border-radius: 0;
}

.pca-registration-shell {
	display: grid;
	grid-template-columns: minmax(17rem, 0.65fr) minmax(0, 1.35fr);
	align-items: start;
	gap: clamp(2rem, 5vw, 5rem);
	max-width: 68rem;
	margin: 0 auto;
}

.pca-registration-sidebar {
	position: sticky;
	top: calc(var(--pca-header-height) + 1.5rem);
}

.pca-register-event-summary {
	padding: 0 0 1.5rem;
	border-width: 0 0 1px;
	border-radius: 0;
}

.pca-register-event-summary h2 {
	font-size: clamp(1.55rem, 3vw, 2.25rem);
}

.pca-register-event-summary .pca-event-details {
	grid-template-columns: 1fr;
}

.pca-registration-steps {
	display: grid;
	gap: 0;
	padding: 0;
	margin: 1.5rem 0 0;
	list-style: none;
	counter-reset: registration-step;
}

.pca-registration-steps li {
	position: relative;
	padding: 0.85rem 0 0.85rem 2.75rem;
	border-left: 1px solid var(--pca-line);
	counter-increment: registration-step;
}

.pca-registration-steps li::before {
	position: absolute;
	top: 0.7rem;
	left: -1rem;
	display: grid;
	width: 2rem;
	height: 2rem;
	place-items: center;
	border: 1px solid var(--pca-line);
	border-radius: 50%;
	background: var(--pca-surface);
	color: var(--pca-muted);
	font-size: 0.78rem;
	font-weight: 800;
	content: counter(registration-step);
}

.pca-registration-steps li[aria-current="step"] {
	color: var(--pca-ink);
	font-weight: 800;
}

.pca-registration-steps li[aria-current="step"]::before,
.pca-registration-steps li.is-complete::before {
	border-color: var(--pca-red-700);
	background: var(--pca-red-700);
	color: #fff;
}

.pca-registration-workflow {
	min-width: 0;
}

.pca-registration-paths > h2,
.pca-registration-stage > h2 {
	margin-bottom: 0.65rem;
}

.pca-registration-paths .pca-three-column-cards {
	grid-template-columns: 1fr;
	gap: 0;
	margin-top: 1.25rem;
	border-top: 1px solid var(--pca-line);
}

.pca-registration-path-card {
	position: relative;
	display: grid;
	grid-template-columns: 2.5rem minmax(0, 1fr) auto;
	align-items: center;
	gap: 1rem;
	padding: 1.2rem 0;
	border-width: 0 0 1px;
	border-radius: 0;
}

.pca-registration-path-card:hover {
	box-shadow: none;
	transform: none;
}

.pca-registration-path-card .pca-feature-icon {
	grid-row: 1 / span 2;
	margin: 0;
}

.pca-registration-path-card h3,
.pca-registration-path-card p {
	grid-column: 2;
	margin: 0;
}

.pca-registration-path-card .button {
	grid-column: 3;
	grid-row: 1 / span 2;
}

.pca-registration-path-card [data-registration-teen-warning] {
	grid-column: 2 / -1;
}

.pca-registration-form {
	gap: 1.25rem;
}

.pca-registration-stage {
	animation: registration-stage-enter 360ms var(--pca-ease) both;
}

.pca-registration-stage__actions {
	display: flex;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

@keyframes registration-stage-enter {
	from { opacity: 0; transform: translateX(14px); }
	to { opacity: 1; transform: translateX(0); }
}

.pca-council-roster {
	max-width: 68rem;
	margin: 0 auto;
}

.pca-council-section {
	padding: 3rem 0;
	border-top: 1px solid var(--pca-line);
}

.pca-council-section__heading {
	display: grid;
	grid-template-columns: minmax(13rem, 16rem) minmax(0, 1fr);
	gap: 2rem;
	align-items: start;
	margin-bottom: 2rem;
}

.pca-council-section__heading h2 {
	margin: 0;
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	line-height: 1.05;
}

.pca-council-section__heading p {
	max-width: 44rem;
	margin: 0;
}

.pca-council-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(2rem, 5vw, 4.5rem);
}

.pca-council-grid.is-members {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pca-council-person {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: 1rem;
	min-width: 0;
	padding: 1.2rem 0;
	border-top: 1px solid var(--pca-line);
	background: transparent;
}

.pca-council-person:not(.has-portrait) {
	display: block;
}

.pca-council-person__portrait {
	width: 4.75rem;
	height: 4.75rem;
	overflow: hidden;
	border-radius: 50%;
	background: transparent;
}

.pca-council-person__portrait img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 520ms var(--pca-ease);
}

.pca-council-person:hover .pca-council-person__portrait img {
	transform: scale(1.025);
}

.pca-council-person__body {
	padding: 0;
}

.pca-council-person__body h3 {
	margin-bottom: 0.25rem;
	font-size: 1.18rem;
}

.pca-council-person__role {
	margin-bottom: 0.65rem;
	color: var(--pca-red-700);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.pca-council-person__bio {
	margin-bottom: 0;
	font-size: 0.92rem;
}

.pca-council-grid.is-members .pca-council-person__portrait {
	width: 3.5rem;
	height: 3.5rem;
}

.pca-council-grid.is-members .pca-council-person__body {
	padding: 0;
}

.pca-council-grid.is-members .pca-council-person__body h3 {
	font-family: "Source Sans Pro", "Segoe UI", sans-serif;
	font-size: 1rem;
}

[data-council-static] > h2 {
	padding-top: 3rem;
	border-top: 1px solid var(--pca-line);
}

[data-council-static] .pca-card-grid,
[data-council-static] .pca-member-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 clamp(2rem, 5vw, 4.5rem);
	max-width: none;
	margin: 1.5rem 0 3rem;
}

[data-council-static] .pca-member-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

[data-council-static] .pca-card,
[data-council-static] .pca-member {
	padding: 1.2rem 0;
	border-width: 1px 0 0;
	border-radius: 0;
	background: transparent;
}

[data-council-static] .pca-card:hover {
	border-color: var(--pca-line);
	box-shadow: none;
	transform: none;
}

.pca-council-admin-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(19rem, 0.85fr);
	align-items: start;
	gap: 1.25rem;
}

.pca-council-editor {
	position: sticky;
	top: calc(var(--pca-header-height) + 1.25rem);
}

.pca-council-editor__preview {
	display: grid;
	width: min(100%, 14rem);
	aspect-ratio: 4 / 5;
	place-items: center;
	margin-bottom: 1rem;
	overflow: hidden;
	background: var(--pca-soft);
	color: var(--pca-red-800);
	font-family: Merriweather, Georgia, serif;
	font-size: 2.5rem;
}

.pca-council-editor__preview img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pca-council-admin-list {
	display: grid;
	gap: 1px;
	background: var(--pca-line);
}

.pca-council-admin-row {
	display: grid;
	grid-template-columns: 3.25rem minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.85rem;
	padding: 0.75rem;
	background: var(--pca-surface);
}

.pca-council-admin-row__image {
	display: grid;
	width: 3.25rem;
	height: 3.75rem;
	place-items: center;
	overflow: hidden;
	background: var(--pca-soft);
	color: var(--pca-red-800);
	font-weight: 800;
}

.pca-council-admin-row__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pca-council-admin-row p {
	margin: 0.2rem 0 0;
	font-size: 0.82rem;
}

.pca-volunteer-hours-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 1.5rem 0;
	border-top: 1px solid var(--pca-line);
	border-bottom: 1px solid var(--pca-line);
}

.pca-volunteer-hours-summary div {
	padding: 1rem;
}

.pca-volunteer-hours-summary div + div {
	border-left: 1px solid var(--pca-line);
}

.pca-volunteer-hours-summary strong,
.pca-volunteer-hours-summary span {
	display: block;
}

.pca-volunteer-hours-summary strong {
	font-family: Merriweather, Georgia, serif;
	font-size: 1.65rem;
}

.pca-volunteer-hours-summary span {
	color: var(--pca-muted);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.pca-admin-dashboard-layout {
	gap: 2rem;
}

.pca-admin-workspace-tabs {
	padding: 0;
	border-top: 1px solid var(--pca-line);
}

.pca-admin-workspace-tabs .button {
	min-height: 44px;
	padding: 0.65rem 0.75rem;
	border-width: 0 0 1px;
	border-radius: 0;
	background: transparent;
	color: var(--pca-muted);
}

.pca-admin-workspace-tabs .button.primary,
.pca-admin-workspace-tabs .button.is-selected {
	border-color: var(--pca-red);
	background: transparent;
	box-shadow: inset 3px 0 var(--pca-red);
	color: var(--pca-red-800);
}

.pca-admin-workspace-panel {
	border-radius: 0;
}

.pca-admin-metric-grid {
	gap: 1px;
	background: var(--pca-line);
}

.pca-admin-metric-grid .pca-card {
	border: 0;
	border-radius: 0;
}

.pca-admin-create-panel,
.table-wrapper,
.pca-admin-table-wrapper {
	border-radius: 0;
}

[data-volunteer-tools] {
	max-width: 68rem;
	margin-right: auto;
	margin-left: auto;
}

[data-volunteer-tools] > header {
	padding-bottom: 1.25rem;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid var(--pca-line);
}

[data-volunteer-tools] > header h2 {
	max-width: 18ch;
	margin-bottom: 0;
}

[data-teen-volunteer-profile-form],
[data-teen-hours-form] {
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid var(--pca-line);
	background: var(--pca-surface);
}

[data-teen-hours-form] {
	margin-top: 2rem;
	border-top: 3px solid var(--pca-red);
}

.pca-admin-hours-review {
	display: grid;
	grid-template-columns: 7rem minmax(10rem, 1fr);
	gap: 0.5rem;
	min-width: 19rem;
}

.pca-admin-hours-review label {
	margin: 0;
	font-size: 0.72rem;
}

.pca-admin-hours-review input {
	min-height: 38px;
	margin-top: 0.2rem;
	padding: 0.45rem 0.55rem;
}

.pca-admin-hours-review__actions {
	display: flex;
	grid-column: 1 / -1;
	gap: 0.5rem;
}

/* Responsive */

@media screen and (max-width: 1120px) {
	.site-header__inner {
		gap: 1rem;
	}

	.nav-item > a,
	.nav-item > button,
	.nav-account__row > a {
		padding-right: 0.58rem;
		padding-left: 0.58rem;
		font-size: 0.86rem;
	}

	.site-brand span {
		font-size: 1rem;
	}
}

@media screen and (max-width: 980px) {
	:root {
		--pca-header-height: 70px;
	}

	.site-header__inner {
		width: min(calc(100% - 1.5rem), var(--pca-container));
	}

	.site-menu-toggle {
		display: inline-flex;
		align-items: center;
		gap: 0.6rem;
		margin-left: auto;
		padding: 0.6rem 0.75rem;
		border: 1px solid var(--pca-line);
		border-radius: var(--pca-radius-sm);
		background: var(--pca-surface);
		color: var(--pca-ink);
		font-size: 0.86rem;
		font-weight: 750;
	}

	.site-menu-toggle__icon {
		position: relative;
		display: block;
		width: 17px;
		height: 12px;
	}

	.site-menu-toggle__icon span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		border-radius: 2px;
		background: currentColor;
		transition: top 180ms ease, transform 180ms ease;
	}

	.site-menu-toggle__icon span:first-child { top: 1px; }
	.site-menu-toggle__icon span:last-child { top: 9px; }
	.site-menu-toggle[aria-expanded="true"] .site-menu-toggle__icon span:first-child { top: 5px; transform: rotate(45deg); }
	.site-menu-toggle[aria-expanded="true"] .site-menu-toggle__icon span:last-child { top: 5px; transform: rotate(-45deg); }

	.site-nav {
		position: fixed;
		inset: var(--pca-header-height) 0 0;
		height: calc(100vh - var(--pca-header-height));
		height: calc(100dvh - var(--pca-header-height));
		z-index: -1;
		margin: 0;
		background: rgba(34, 27, 28, 0.45);
		opacity: 0;
		overflow: hidden;
		pointer-events: none;
		visibility: hidden;
		transition: opacity 220ms ease;
	}

	body.is-menu-open .site-nav {
		z-index: 999;
		opacity: 1;
		pointer-events: auto;
		visibility: visible;
	}

	.site-nav__panel {
		display: flex;
		flex-direction: column;
		width: min(88vw, 360px);
		height: 100%;
		margin-left: auto;
		padding: 1rem;
		background: var(--pca-paper);
		box-shadow: -18px 0 48px rgba(34, 27, 28, 0.16);
		transform: translateX(100%);
		transition: transform 300ms var(--pca-ease);
	}

	body.is-menu-open .site-nav__panel {
		transform: translateX(0);
	}

	.site-nav .links {
		display: block;
		width: 100%;
		overflow-y: auto;
	}

	.nav-home {
		display: block;
	}

	.nav-item,
	.nav-account {
		width: 100%;
		margin: 0;
		padding: 0;
		border: 0;
		border-bottom: 1px solid var(--pca-line);
	}

	.nav-item > a,
	.nav-item > button,
	.nav-account__row > a {
		justify-content: space-between;
		width: 100%;
		min-height: 52px;
		padding: 0.75rem 0.65rem;
		font-size: 1rem;
		text-align: left;
	}

	.nav-support > a {
		margin: 0.5rem 0;
		padding-right: 0.9rem;
		padding-left: 0.9rem;
		background: var(--pca-red-700);
		color: #fff;
	}

	.nav-account__row {
		width: 100%;
	}

	.nav-account__row > a {
		flex: 1;
	}

	.nav-account__row > button {
		min-width: 46px;
	}

	.nav-submenu,
	.nav-account .nav-submenu {
		position: static;
		width: 100%;
		min-width: 0;
		max-height: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		opacity: 1;
		overflow: hidden;
		visibility: visible;
		transform: none;
		transition: max-height 260ms var(--pca-ease), padding 260ms ease;
	}

	.nav-item.is-open > .nav-submenu {
		max-height: 18rem;
		padding: 0 0 0.6rem 0.7rem;
	}

	.nav-submenu a {
		min-height: 42px;
	}

	.site-nav__social {
		display: flex;
		gap: 0.6rem;
		padding-top: 1rem;
		margin-top: auto;
	}

	.site-nav__social a {
		border-color: var(--pca-line);
		color: var(--pca-red-700);
	}

	.home-mission__layout,
	.home-feature__layout {
		grid-template-columns: 1fr;
	}

	.home-feature__copy {
		padding-bottom: 1rem;
	}

	.journey-grid,
	.pca-card-grid,
	.pca-event-categories,
	.pca-three-column-cards,
	.pca-account-benefits,
	.pca-admin-metric-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.journey-grid {
		grid-template-columns: 1fr;
	}

	.journey-card {
		grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.8fr);
	}

	.pca-registration-shell,
	.pca-council-admin-layout {
		grid-template-columns: 1fr;
	}

	.pca-registration-sidebar,
	.pca-council-editor {
		position: static;
	}

	.pca-registration-sidebar {
		display: grid;
		grid-template-columns: minmax(0, 1.2fr) minmax(14rem, 0.8fr);
		gap: 1.5rem;
		padding-bottom: 1.5rem;
		border-bottom: 1px solid var(--pca-line);
	}

	.pca-council-grid,
	.pca-council-grid.is-members {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.pca-council-grid:not(.is-members) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pca-admin-dashboard-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.pca-admin-workspace-nav,
	.pca-editor-layout aside {
		position: static;
	}

	.pca-admin-workspace-tabs {
		width: 100%;
		max-width: 100%;
		flex-direction: row;
		overflow-x: auto;
		white-space: nowrap;
	}

	.pca-admin-tab-group {
		display: none;
	}

	.pca-admin-workspace-tabs .button {
		width: auto;
	}

	.pca-participant-fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.site-footer__inner {
		grid-template-columns: 1fr 1.6fr;
	}

	.site-footer__connect {
		grid-column: 1 / -1;
	}
}

@media screen and (max-width: 760px) {
	h1 {
		font-size: clamp(2.2rem, 11vw, 3.5rem);
	}

	#main {
		width: min(calc(100% - 1.25rem), var(--pca-container));
		padding: 1.25rem 0 3.5rem;
	}

	#main > .post {
		padding: 1.35rem;
		border-radius: var(--pca-radius-md);
	}

	header.major {
		margin-bottom: 2rem;
		text-align: left;
	}

	header.major::after {
		margin-left: 0;
	}

	header.major p {
		margin-left: 0;
	}

	.pca-home-hero {
		min-height: 74svh;
	}

	.pca-home-hero__media img {
		object-position: 54% center;
	}

	.pca-home-hero__overlay {
		background: linear-gradient(0deg, rgba(16, 14, 15, 0.9) 0%, rgba(16, 14, 15, 0.54) 68%, rgba(16, 14, 15, 0.16) 100%);
	}

	.pca-home-hero__content {
		padding-top: 7rem;
		padding-bottom: 6.5rem;
	}

	.pca-home-hero h1 {
		max-width: 10ch;
		font-size: clamp(2.9rem, 14vw, 4.6rem);
	}

	.pca-home-hero .eyebrow,
	.home-mission .eyebrow {
		font-size: 0.68rem;
		letter-spacing: 0.09em;
	}

	.pca-home-hero .eyebrow::before,
	.home-mission .eyebrow::before {
		width: 1.25rem;
		margin-right: 0.4rem;
	}

	.pca-home-hero__scroll {
		right: 1rem;
		bottom: 1rem;
	}

	.home-section {
		padding: 3.75rem 0;
	}

	.home-section__inner {
		width: min(calc(100% - 1.25rem), var(--pca-container));
	}

	.home-mission__layout,
	.home-feature__layout {
		gap: 2rem;
	}

	.section-heading,
	.home-cta__inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 1.25rem;
	}

	.journey-grid,
	.pca-card-grid,
	.pca-event-categories,
	.pca-three-column-cards,
	.pca-account-benefits,
	.pca-admin-metric-grid,
	.pca-events-grid,
	.pca-dashboard-grid,
	.pca-profile-grid,
	.pca-saved-member-grid,
	.pca-blog-grid,
	#main > .posts,
	.pca-editor-layout {
		grid-template-columns: 1fr;
	}

	.journey-card {
		display: flex;
		flex-direction: column;
	}

	.journey-card:nth-child(even) .journey-card__media {
		order: 0;
	}

	.journey-card__body {
		padding: 1.5rem 0 2.25rem;
	}

	.pca-event-card.pca-event-agenda {
		grid-template-columns: 5.25rem minmax(0, 1fr);
	}

	.pca-event-agenda__date {
		min-height: 0;
		padding: 1rem 0.65rem;
	}

	.pca-event-agenda__day {
		font-size: 2.25rem;
	}

	.pca-event-agenda__actions {
		grid-column: 1 / -1;
		padding: 0 1rem 1rem;
		border-left: 0;
	}

	.pca-event-agenda__actions .actions,
	.pca-event-agenda__actions li,
	.pca-event-agenda__actions .button {
		width: 100%;
	}

	.pca-council-section__heading {
		grid-template-columns: 1fr;
		gap: 0.5rem;
	}

	.pca-blog-toolbar {
		grid-template-columns: 1fr;
	}

	.pca-blog-count {
		padding: 0;
	}

	.pca-blog-featured .pca-blog-card {
		display: flex;
	}

	.pca-blog-featured .pca-blog-cover {
		min-height: 0;
		aspect-ratio: 16 / 10;
	}

	.pca-blog-featured .pca-blog-card > *:not(.pca-blog-cover) {
		margin-right: 1.25rem;
		margin-left: 1.25rem;
	}

	.pca-registration-sidebar {
		display: block;
	}

	.pca-registration-path-card {
		grid-template-columns: 2.25rem minmax(0, 1fr);
	}

	.pca-registration-path-card .button {
		grid-column: 1 / -1;
		grid-row: auto;
		width: 100%;
	}

	.pca-registration-stage__actions {
		flex-direction: column-reverse;
	}

	.pca-registration-stage__actions .button {
		width: 100%;
	}

	.pca-council-grid,
	.pca-council-grid.is-members {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pca-council-grid:not(.is-members) {
		grid-template-columns: 1fr;
	}

	[data-council-static] .pca-card-grid {
		grid-template-columns: 1fr;
	}

	[data-council-static] .pca-member-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pca-volunteer-hours-summary {
		grid-template-columns: 1fr;
	}

	.pca-volunteer-hours-summary div + div {
		border-top: 1px solid var(--pca-line);
		border-left: 0;
	}

	.pca-admin-hours-review {
		grid-template-columns: 1fr;
		min-width: 14rem;
	}

	.pca-admin-hours-review__actions {
		grid-column: 1;
	}

	#main > .posts > article:nth-child(odd) {
		border-right: 0;
	}

	.fields,
	.pca-admin-event-fields,
	.pca-participant-fields,
	.pca-registration-details,
	.pca-admin-controls,
	.pca-admin-volunteer-review,
	.pca-admin-volunteer-details,
	.pca-account-use-options {
		grid-template-columns: 1fr;
	}

	.field.half,
	.pca-admin-event-fields .field:not(.pca-field-wide),
	.pca-participant-fields .field,
	.pca-registration-details .field {
		grid-column: 1;
	}

	.pca-profile-summary,
	.pca-volunteer-summary {
		grid-template-columns: 1fr;
	}

	.pca-profile-summary > div + div,
	.pca-volunteer-summary > div + div {
		border-top: 1px solid var(--pca-line);
		border-left: 0;
	}

	.pca-profile-card-wide {
		grid-column: auto;
	}

	.pca-event-details,
	.pca-stats {
		grid-template-columns: 1fr;
	}

	.pca-stats div + div {
		border-top: 1px solid var(--pca-line);
		border-left: 0;
	}

	.pca-registration-heading,
	.pca-admin-volunteer-item-header,
	.pca-admin-export,
	.pca-admin-create-panel summary {
		align-items: flex-start;
		flex-direction: column;
	}

	.pca-auth-tabs,
	.pca-dashboard-toolbar {
		overflow-x: auto;
	}

	.pca-auth-tabs .button,
	.pca-dashboard-toolbar .button {
		flex: 0 0 auto;
	}

	.actions .button,
	.actions input[type="submit"] {
		width: 100%;
	}

	.site-footer__inner,
	.site-footer__links {
		grid-template-columns: 1fr;
	}

	.site-footer__connect {
		grid-column: auto;
	}

	.site-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media screen and (max-width: 480px) {
	.site-brand span {
		font-size: 0.94rem;
	}

	.site-brand img {
		width: 38px;
		height: 39px;
	}

	.site-menu-toggle__label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.pca-home-hero__content,
	.home-section__inner,
	.site-footer__inner,
	.site-footer__bottom {
		width: min(calc(100% - 1.25rem), var(--pca-container));
	}

	.pca-council-grid.is-members {
		grid-template-columns: 1fr 1fr;
	}

	.pca-council-grid.is-members .pca-council-person__body {
		padding: 0;
	}

	.pca-council-admin-row {
		grid-template-columns: 2.75rem minmax(0, 1fr);
	}

	.pca-council-admin-row .button {
		grid-column: 1 / -1;
		width: 100%;
	}
}

/* 2026-07-29 full-bleed workspace and volunteer experience */

:root {
	--pca-page-gutter: clamp(1.25rem, 4vw, 4.5rem);
	--pca-content-gutter: clamp(1.25rem, 3.2vw, 3.5rem);
}

body {
	background: var(--pca-surface);
	overflow-x: clip;
}

.site-header__inner,
.pca-home-hero__content,
.home-section__inner,
.home-cta__inner,
.site-footer__inner,
.site-footer__bottom {
	width: 100%;
	max-width: none;
	padding-right: var(--pca-page-gutter);
	padding-left: var(--pca-page-gutter);
}

.nav-account:not(.has-account-actions) > .nav-submenu {
	display: none !important;
}

#wrapper,
#main {
	width: 100%;
	max-width: none;
	margin: 0;
}

#main {
	padding: clamp(2.5rem, 5vw, 5rem) 0 0;
}

#main > .post,
#main > .posts,
#main > .pca-band {
	width: 100%;
	max-width: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

#main > .post {
	padding: 0 var(--pca-page-gutter) clamp(4rem, 7vw, 7rem);
}

header.major {
	max-width: 78rem;
	margin-right: 0;
	margin-left: 0;
	text-align: left;
}

header.major::after {
	margin-left: 0;
}

.pca-events-grid,
.pca-blog-toolbar,
.pca-blog-featured,
.pca-blog-grid,
.pca-registration-shell,
.pca-editor-layout,
[data-volunteer-tools],
.pca-dashboard-page > .pca-dashboard-grid,
.pca-dashboard-page > .pca-paper-panel {
	width: 100%;
	max-width: none;
}

.pca-events-grid {
	gap: 0;
	border-top: 1px solid var(--pca-line);
}

.pca-event-card.pca-event-agenda {
	border: 0;
	border-bottom: 1px solid var(--pca-line);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.pca-event-card.pca-event-agenda:hover {
	box-shadow: none;
	transform: none;
}

.pca-event-agenda__actions .actions {
	align-items: stretch;
	flex-direction: column;
	gap: 0.6rem;
}

.pca-event-agenda__actions .button {
	width: 100%;
}

.pca-blog-featured {
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.pca-blog-featured .pca-blog-card,
.pca-blog-featured .pca-blog-card:not(.has-cover),
.pca-blog-grid .pca-blog-card {
	overflow: hidden;
	border: 1px solid var(--pca-line);
	border-radius: var(--pca-radius-md);
	background: var(--pca-surface);
}

.pca-blog-featured .pca-blog-card:not(.has-cover) {
	padding: clamp(1.5rem, 3vw, 2.5rem);
}

.pca-blog-grid {
	gap: clamp(1.5rem, 3vw, 2.5rem);
	background: transparent;
}

.pca-blog-grid .pca-blog-card {
	height: 100%;
}

.pca-button-danger {
	border-color: color-mix(in srgb, var(--pca-danger) 45%, var(--pca-line));
	color: var(--pca-danger);
}

.pca-button-danger:hover {
	border-color: var(--pca-danger);
	background: #fff5f5;
	color: var(--pca-danger);
}

/* Full-width administration workspace */

#main:has(.pca-admin-dashboard-page) {
	padding: 0;
}

#main > .post.pca-admin-dashboard-page {
	padding: 0;
	overflow: visible;
}

.pca-admin-dashboard-page > header.major {
	max-width: none;
	padding: clamp(2rem, 4vw, 3.5rem) var(--pca-page-gutter);
	margin: 0;
	border-bottom: 1px solid var(--pca-line);
}

.pca-admin-dashboard-page > header.major::after {
	display: none;
}

.pca-admin-dashboard-page > [data-platform-admin-status] {
	max-width: none !important;
	padding-right: var(--pca-page-gutter);
	padding-left: var(--pca-page-gutter);
}

.pca-admin-dashboard-layout {
	display: grid;
	grid-template-columns: 15rem minmax(0, 1fr);
	align-items: stretch;
	gap: 0;
	min-height: calc(100dvh - var(--pca-header-height));
}

.pca-admin-workspace-nav {
	position: sticky;
	top: var(--pca-header-height);
	height: calc(100dvh - var(--pca-header-height));
	padding: 1.25rem 0.9rem 2rem;
	overflow-y: auto;
	border-right: 1px solid var(--pca-line);
	background: #f7f2ef;
}

.pca-admin-workspace-tabs {
	border-top: 0;
}

.pca-admin-workspace-tabs .button {
	border: 1px solid transparent;
	border-radius: var(--pca-radius-sm);
}

.pca-admin-workspace-tabs .button.primary,
.pca-admin-workspace-tabs .button.is-selected {
	border-color: var(--pca-red);
	background: var(--pca-surface);
	box-shadow: none;
}

.pca-admin-workspace-content {
	min-width: 0;
	padding: clamp(2rem, 3.5vw, 3.75rem) var(--pca-content-gutter) 5rem;
}

.pca-admin-workspace-panel {
	width: 100%;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.pca-admin-workspace-panel > h2,
.pca-admin-workspace-panel > .pca-admin-panel-heading {
	margin-top: 0;
}

.pca-admin-panel-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1.5rem;
	margin-bottom: 1.75rem;
}

.pca-admin-panel-heading h2,
.pca-admin-panel-heading p {
	margin-bottom: 0;
}

.pca-admin-metric-grid {
	grid-template-columns: repeat(3, minmax(9rem, 1fr));
	gap: 1px;
	border-top: 1px solid var(--pca-line);
	border-bottom: 1px solid var(--pca-line);
	background: var(--pca-line);
}

.pca-admin-metric-grid .pca-card {
	padding: clamp(1.25rem, 2.5vw, 2rem);
}

.pca-admin-create-panel,
.pca-admin-workspace-panel .pca-paper-panel {
	border-width: 1px 0;
	border-radius: 0;
}

.pca-admin-workspace-panel .table-wrapper,
.pca-admin-workspace-panel .pca-admin-table-wrapper {
	width: 100%;
	max-width: none !important;
	margin-right: 0;
	margin-left: 0;
	overflow-x: auto;
	border-width: 1px 0;
}

.pca-admin-workspace-panel table {
	width: 100%;
	min-width: max-content;
}

.pca-admin-workspace-panel th,
.pca-admin-workspace-panel td {
	padding-right: clamp(0.75rem, 1.5vw, 1.35rem);
	padding-left: clamp(0.75rem, 1.5vw, 1.35rem);
	vertical-align: top;
}

.pca-admin-volunteer-request-details {
	min-width: 13rem;
}

.pca-admin-volunteer-request-details > * {
	display: block;
}

.pca-admin-volunteer-request-details span,
.pca-admin-workspace-panel td small {
	color: var(--pca-muted);
	font-size: 0.84rem;
}

.pca-admin-request-actions {
	min-width: 9rem;
}

.pca-admin-request-actions .button + .button,
.pca-admin-workspace-panel td .button + .button {
	margin-top: 0.45rem;
}

/* Get involved and account-free volunteer request */

.pca-involvement-paths {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 calc(-1 * var(--pca-page-gutter));
	border-top: 1px solid var(--pca-line);
	border-bottom: 1px solid var(--pca-line);
}

.pca-involvement-card {
	position: relative;
	display: flex;
	min-height: 25rem;
	padding: clamp(2rem, 4vw, 4rem) var(--pca-page-gutter);
	flex-direction: column;
	border-right: 1px solid var(--pca-line);
	background: var(--pca-surface);
	color: var(--pca-ink);
	text-decoration: none;
	transition: background-color 180ms ease, color 180ms ease;
}

.pca-involvement-card:last-child {
	border-right: 0;
}

.pca-involvement-card.is-featured {
	background: var(--pca-red-soft);
	color: var(--pca-ink);
}

.pca-involvement-card:hover {
	background: var(--pca-red-800);
	color: #fff;
}

.pca-involvement-card > .icon {
	margin-bottom: auto;
	font-size: 2rem;
}

.pca-involvement-card .eyebrow,
.pca-involvement-card p {
	color: inherit;
}

.pca-involvement-card h2 {
	margin: 1rem 0 0.75rem;
	font-size: clamp(1.75rem, 3vw, 2.5rem);
}

.pca-involvement-card strong {
	margin-top: 1rem;
}

.pca-process-band {
	display: grid;
	grid-template-columns: minmax(16rem, 0.75fr) minmax(22rem, 1fr);
	gap: clamp(2rem, 6vw, 6rem);
	padding: clamp(3rem, 7vw, 7rem) 0 0;
}

.pca-process-band .actions {
	grid-column: 1 / -1;
}

.pca-volunteer-request-layout,
.pca-account-application-layout {
	display: grid;
	grid-template-columns: minmax(16rem, 0.65fr) minmax(0, 1.35fr);
	gap: clamp(2rem, 6vw, 6rem);
	align-items: start;
}

.pca-volunteer-event-summary,
.pca-account-application-layout > aside {
	position: sticky;
	top: calc(var(--pca-header-height) + 2rem);
	padding: 0 0 2rem;
	border-bottom: 1px solid var(--pca-line);
}

.pca-volunteer-event-summary dl {
	margin: 2rem 0;
}

.pca-volunteer-event-summary dl div {
	padding: 0.9rem 0;
	border-top: 1px solid var(--pca-line);
}

.pca-volunteer-event-summary dt {
	color: var(--pca-muted);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.pca-volunteer-event-summary dd {
	margin: 0.25rem 0 0;
}

.pca-volunteer-request-workflow {
	max-width: 58rem;
}

.pca-email-consent {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.75rem;
	padding: 1.1rem 0;
	margin: 1rem 0 1.5rem;
	border-top: 1px solid var(--pca-line);
	border-bottom: 1px solid var(--pca-line);
}

.pca-email-consent input {
	margin-top: 0.2rem;
}

.pca-email-consent label,
.pca-email-consent label span {
	display: block;
}

.pca-email-consent label span {
	color: var(--pca-muted);
	font-size: 0.88rem;
}

.pca-volunteer-success {
	padding: clamp(2rem, 5vw, 4rem) 0;
	border-top: 1px solid var(--pca-line);
}

.pca-volunteer-success > .icon {
	color: var(--pca-success);
	font-size: 2.5rem;
}

.pca-account-application-layout > div {
	max-width: 42rem;
}

/* Independently scrolling council editor and accessible crop dialog */

.pca-council-editor {
	max-height: calc(100dvh - var(--pca-header-height) - 2rem);
	padding-right: 1rem;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
}

.pca-council-photo-actions,
.pca-council-admin-row__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

.pca-council-admin-row__actions {
	justify-content: flex-end;
	margin: 0;
}

.pca-image-crop-dialog {
	width: min(94vw, 54rem);
	max-height: 94dvh;
	padding: 0;
	border: 0;
	border-radius: var(--pca-radius-md);
	background: var(--pca-surface);
	box-shadow: var(--pca-shadow-md);
}

.pca-image-crop-dialog::backdrop {
	background: rgba(25, 21, 22, 0.72);
}

.pca-image-crop-dialog__frame {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(13rem, 0.45fr);
	gap: 1.5rem;
	padding: clamp(1.25rem, 3vw, 2.5rem);
}

.pca-image-crop-dialog__frame > h3,
.pca-image-crop-dialog__frame > p,
.pca-image-crop-dialog__frame > .pca-registration-stage__actions {
	grid-column: 1 / -1;
	margin: 0;
}

.pca-image-crop-dialog canvas {
	width: min(100%, 28rem);
	max-height: 58dvh;
	aspect-ratio: 4 / 5;
	background: var(--pca-soft);
	object-fit: contain;
}

.pca-image-crop-controls {
	display: grid;
	align-content: start;
	gap: 1.25rem;
}

.pca-image-crop-controls label,
.pca-image-crop-controls input {
	display: block;
	width: 100%;
}

@media screen and (max-width: 980px) {
	.site-header__inner {
		padding-right: 1.25rem;
		padding-left: 1.25rem;
	}

	.pca-admin-dashboard-layout {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
	}

	.pca-admin-workspace-nav {
		position: sticky;
		top: var(--pca-header-height);
		z-index: 5;
		height: auto;
		padding: 0 1rem;
		overflow: hidden;
		border-right: 0;
		border-bottom: 1px solid var(--pca-line);
	}

	.pca-admin-workspace-tabs {
		padding: 0.6rem 0;
	}

	.pca-admin-workspace-tabs .button.primary,
	.pca-admin-workspace-tabs .button.is-selected {
		box-shadow: inset 0 -2px var(--pca-red);
	}

	.pca-admin-workspace-content {
		padding: 2rem var(--pca-page-gutter) 4rem;
	}

	.pca-involvement-paths {
		grid-template-columns: 1fr;
	}

	.pca-involvement-card {
		min-height: 20rem;
		border-right: 0;
		border-bottom: 1px solid var(--pca-line);
	}

	.pca-involvement-card:last-child {
		border-bottom: 0;
	}

	.pca-process-band,
	.pca-volunteer-request-layout,
	.pca-account-application-layout {
		grid-template-columns: 1fr;
	}

	.pca-volunteer-event-summary,
	.pca-account-application-layout > aside,
	.pca-council-editor {
		position: static;
		max-height: none;
		overflow: visible;
	}
}

@media screen and (max-width: 760px) {
	:root {
		--pca-page-gutter: 1.15rem;
		--pca-content-gutter: 1.15rem;
	}

	#main {
		width: 100%;
		padding: 1.75rem 0 0;
	}

	#main > .post {
		padding: 0 var(--pca-page-gutter) 4rem;
		border-radius: 0;
	}

	.pca-admin-dashboard-page > header.major {
		padding: 1.75rem var(--pca-page-gutter);
	}

	.pca-admin-metric-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pca-admin-panel-heading {
		align-items: flex-start;
		flex-direction: column;
	}

	.pca-event-card.pca-event-agenda {
		grid-template-columns: 4.75rem minmax(0, 1fr);
	}

	.pca-event-agenda__actions {
		padding: 0 0 1.25rem;
	}

	.pca-image-crop-dialog__frame {
		grid-template-columns: 1fr;
	}

	.pca-image-crop-dialog canvas,
	.pca-image-crop-controls {
		grid-column: 1;
	}

	.pca-image-crop-dialog canvas {
		max-height: 48dvh;
	}

	.pca-council-admin-row__actions {
		grid-column: 1 / -1;
		justify-content: stretch;
	}

	.pca-council-admin-row__actions .button {
		flex: 1 1 auto;
	}
}

@media screen and (max-width: 480px) {
	.site-header__inner,
	.pca-home-hero__content,
	.home-section__inner,
	.home-cta__inner,
	.site-footer__inner,
	.site-footer__bottom {
		width: 100%;
		padding-right: 1rem;
		padding-left: 1rem;
	}

	.pca-admin-metric-grid {
		grid-template-columns: 1fr;
	}
}

/* 2026-07-29 responsive scale and wide-screen density */

.pca-about-intro__text {
	max-width: 74ch;
	margin-right: auto;
	margin-left: auto;
}

.pca-about-intro__text > :last-child {
	margin-bottom: 0;
}

@media screen and (min-width: 1440px) {
	:root {
		--pca-header-height: 82px;
		--pca-page-gutter: clamp(3.75rem, 3.6vw, 5.5rem);
		--pca-content-gutter: clamp(3rem, 3.2vw, 4.75rem);
		--pca-wide-body-size: clamp(1.0625rem, calc(0.85rem + 0.21vw), 1.15625rem);
		--pca-wide-label-size: clamp(0.84rem, calc(0.72rem + 0.1vw), 0.92rem);
		--pca-wide-section-space: clamp(4.25rem, 4vw, 5.25rem);
	}

	body {
		font-size: var(--pca-wide-body-size);
		line-height: 1.62;
	}

	.site-header__inner {
		gap: clamp(2rem, 2.5vw, 3rem);
	}

	.site-brand {
		gap: 0.85rem;
		font-size: 1.18rem;
	}

	.site-brand img {
		width: 48px;
		height: 49px;
	}

	.nav-item > a,
	.nav-item > button,
	.nav-account__row > a,
	.nav-account__row > button {
		min-height: 46px;
		padding-right: 0.9rem;
		padding-left: 0.9rem;
		font-size: clamp(0.95rem, calc(0.78rem + 0.18vw), 1.0625rem);
	}

	.nav-submenu {
		min-width: 14.5rem;
	}

	.nav-submenu a {
		min-height: 44px;
		font-size: 0.96rem;
	}

	#main:not(.home-main):not(:has(.pca-admin-dashboard-page)) {
		padding-top: clamp(3.5rem, 3.2vw, 4.25rem);
	}

	#main > .post {
		padding-bottom: clamp(4.5rem, 4.8vw, 6rem);
	}

	header.major {
		margin-bottom: clamp(2.25rem, 2.7vw, 3rem);
	}

	header.major p {
		max-width: 54rem;
		margin-right: 0;
		margin-left: 0;
		font-size: clamp(1.15rem, calc(1rem + 0.16vw), 1.3rem);
		line-height: 1.65;
	}

	header.major .date,
	.eyebrow,
	.pca-blog-meta,
	.pca-paper-panel header > span {
		font-size: var(--pca-wide-label-size);
		letter-spacing: 0.105em;
	}

	label,
	legend {
		font-size: 0.95rem;
	}

	.pca-form-help,
	.pca-field-help,
	.pca-optional-label,
	.pca-email-consent label span {
		font-size: 0.92rem;
	}

	table {
		font-size: 1.0625rem;
	}

	th {
		font-size: 0.84rem;
	}

	.pca-table-subtext,
	.pca-admin-volunteer-request-details span,
	.pca-admin-workspace-panel td small {
		font-size: 0.9rem;
	}

	.site-footer__bottom {
		font-size: 0.9rem;
	}

	/* About: place the introduction beside its media on genuinely wide screens. */
	.pca-about-intro {
		display: grid;
		grid-template-columns: minmax(28rem, 0.82fr) minmax(40rem, 1.18fr);
		grid-template-rows: auto 1fr;
		align-items: stretch;
		gap: 1.75rem clamp(3.5rem, 5vw, 6.5rem);
		margin-bottom: clamp(3.5rem, 5vw, 6rem);
	}

	.pca-about-intro > header.major {
		grid-column: 1;
		grid-row: 1;
		max-width: none;
		margin: 0;
	}

	.pca-about-intro > .pca-about-photo {
		grid-column: 2;
		grid-row: 1 / span 2;
		align-self: stretch;
		width: 100%;
		max-width: none;
		min-height: 36rem;
		max-height: 42rem;
		margin: 0;
		aspect-ratio: 16 / 10;
	}

	.pca-about-intro > .pca-about-photo img {
		width: 100%;
		height: 100%;
		max-height: none;
		object-fit: cover;
	}

	.pca-about-intro__text {
		grid-column: 1;
		grid-row: 2;
		align-self: start;
		max-width: 43rem;
		margin: 0;
	}

	.pca-about-intro__text p {
		margin-bottom: 1.1rem;
	}

	/* Home: larger copy with a compact card matrix instead of oversized bands. */
	.home-section {
		padding: var(--pca-wide-section-space) 0;
	}

	.home-mission__layout {
		grid-template-columns: minmax(32rem, 0.9fr) minmax(42rem, 1.1fr);
		align-items: center;
		gap: clamp(4rem, 5vw, 6rem);
	}

	.home-mission__copy > p:not(.eyebrow),
	.home-feature__copy > p:not(.eyebrow),
	.section-heading > p {
		font-size: 1em;
		line-height: 1.68;
	}

	.pca-stats div {
		padding: 1.55rem 1.1rem;
	}

	.pca-stats strong {
		font-size: clamp(2.25rem, 2.25vw, 2.7rem);
	}

	.pca-stats span {
		font-size: 0.88rem;
	}

	.home-journeys .section-heading {
		margin-bottom: 2rem;
	}

	.journey-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: clamp(1.5rem, 2vw, 2.25rem);
		border-top: 0;
	}

	.journey-card {
		display: flex;
		flex-direction: column;
		overflow: hidden;
		border: 1px solid var(--pca-line);
		border-radius: var(--pca-radius-md);
		background: var(--pca-surface);
	}

	.journey-card:nth-child(even) .journey-card__media {
		order: 0;
	}

	.journey-card__media {
		flex: 0 0 auto;
		width: 100%;
		aspect-ratio: 16 / 9;
	}

	.journey-card__body {
		justify-content: flex-start;
		padding: clamp(1.5rem, 1.75vw, 2rem);
	}

	.journey-card__body h3 {
		font-size: clamp(1.75rem, 1.65vw, 2.05rem);
	}

	/* Blog: prevent grid-row stretching and use the extra width for another story. */
	[data-blog-feed] > header.major {
		margin-bottom: 2.25rem;
	}

	.pca-blog-toolbar {
		margin-bottom: 2rem;
	}

	.pca-blog-count {
		font-size: 0.95rem;
	}

	.pca-blog-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-items: start;
		gap: clamp(1.5rem, 2vw, 2.25rem);
	}

	.pca-blog-grid .pca-blog-card {
		align-self: start;
		height: auto;
	}

	.pca-blog-card .pca-blog-cover,
	.pca-blog-card:not(.has-cover)::before {
		width: 100%;
		aspect-ratio: 16 / 9;
	}

	.pca-blog-card:not(.has-cover)::before {
		display: block;
		flex: 0 0 auto;
		background:
			linear-gradient(135deg, rgba(255, 255, 255, 0.12), transparent 48%),
			linear-gradient(145deg, var(--pca-red-800), var(--pca-red-950));
		content: "";
	}

	.pca-blog-card h3 {
		font-size: 1.8rem;
	}

	.pca-blog-card > p:not(.pca-blog-meta) {
		line-height: 1.68;
	}

	/* Administrative workspaces inherit the same readable desktop scale. */
	.pca-admin-dashboard-layout {
		grid-template-columns: 17rem minmax(0, 1fr);
	}

	.pca-admin-workspace-tabs .button {
		min-height: 44px;
		font-size: 0.96rem;
	}

	.pca-admin-tab-group {
		font-size: 0.78rem;
	}
}

@media screen and (min-width: 1900px) {
	.journey-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media screen and (min-width: 2350px) {
	.pca-blog-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* 2026-07-30 account, navigation, and workflow clarity */

.nav-item__row {
	display: flex;
	align-items: center;
}

.nav-item__row > a,
.nav-item__row > button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 0.78rem;
	border: 0;
	border-radius: 9px;
	background: transparent;
	color: var(--pca-ink);
	font-size: 0.91rem;
	font-weight: 700;
	text-decoration: none;
	transition: color 160ms ease, background-color 160ms ease;
}

.nav-item__row > a {
	padding-right: 0.35rem;
}

.nav-item__row > button {
	min-width: 32px;
	padding: 0 0.5rem;
}

.nav-item__row > a:hover,
.nav-item__row > button:hover,
.nav-item.is-current .nav-item__row > a {
	background: var(--pca-soft);
	color: var(--pca-red-700);
}

.pca-household-dashboard {
	--pca-dashboard-panel-padding: clamp(1.25rem, 2vw, 2rem);
}

#main > .post.pca-household-dashboard {
	padding-top: clamp(1.5rem, 3vw, 3rem);
}

.pca-dashboard-hero {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 2rem;
	padding-bottom: clamp(1.75rem, 3vw, 2.75rem);
}

.pca-dashboard-hero h1 {
	margin: 0.25rem 0 0.65rem;
	font-size: clamp(2.5rem, 4.5vw, 4rem);
}

.pca-dashboard-hero h2 {
	margin: 0 0 0.4rem;
	font-family: "Source Sans Pro", "Segoe UI", sans-serif;
	font-size: clamp(1.4rem, 2vw, 1.85rem);
	letter-spacing: -0.02em;
}

.pca-dashboard-hero p {
	max-width: 42rem;
	margin: 0;
	color: var(--pca-muted);
}

.pca-dashboard-quick-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.65rem;
	padding-bottom: 0.2rem;
}

.pca-dashboard-quick-actions .button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	white-space: nowrap;
}

.pca-household-dashboard > .pca-backend-status:empty {
	display: none;
}

.pca-household-dashboard-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(19rem, 0.95fr);
	gap: clamp(1rem, 2vw, 2rem);
	align-items: start;
}

.pca-dashboard-panel {
	min-width: 0;
	padding: var(--pca-dashboard-panel-padding);
	border: 1px solid var(--pca-line);
	border-radius: var(--pca-radius-md);
	background: var(--pca-surface);
}

.pca-dashboard-panel__heading {
	display: flex;
	align-items: flex-start;
	gap: 0.9rem;
	margin-bottom: 1.25rem;
}

.pca-dashboard-panel__heading > .icon {
	flex: 0 0 auto;
	width: 2.25rem;
	padding-top: 0.2rem;
	color: var(--pca-red-700);
	font-size: 1.25rem;
	text-align: center;
}

.pca-dashboard-panel__heading h2 {
	margin: 0 0 0.25rem;
	font-size: clamp(1.35rem, 2vw, 1.8rem);
}

.pca-dashboard-panel__heading p {
	margin: 0;
	color: var(--pca-muted);
	font-size: 0.92rem;
	line-height: 1.5;
}

.pca-dashboard-panel .pca-dashboard-toolbar {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0;
	padding: 0;
	margin: 0 0 1.25rem;
	border-width: 0 0 1px;
	border-radius: 0;
	background: transparent;
}

.pca-dashboard-panel .pca-dashboard-toolbar .button {
	min-height: 44px;
	padding: 0.55rem 0.4rem;
	border: 0;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	box-shadow: none;
	font-size: 0.85rem;
	letter-spacing: 0;
	text-transform: none;
}

.pca-dashboard-panel .pca-dashboard-toolbar .button.primary,
.pca-dashboard-panel .pca-dashboard-toolbar .button.is-selected {
	border-bottom-color: var(--pca-red);
	background: transparent;
	box-shadow: none;
}

.pca-dashboard-toolbar [data-registration-filter-count] {
	display: inline-grid;
	min-width: 1.45rem;
	height: 1.45rem;
	margin-left: 0.3rem;
	place-items: center;
	border-radius: 999px;
	background: var(--pca-soft);
	color: var(--pca-muted);
	font-size: 0.75rem;
	font-weight: 800;
}

.pca-dashboard-panel .pca-dashboard-grid,
.pca-dashboard-panel .pca-saved-member-grid {
	grid-template-columns: 1fr;
	gap: 0.85rem;
	max-width: none;
	margin: 0;
}

.pca-registration-card {
	padding: clamp(1.1rem, 2vw, 1.5rem);
	border-radius: var(--pca-radius-md);
}

.pca-registration-card:hover {
	box-shadow: none;
	transform: none;
}

.pca-registration-card__heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
}

.pca-registration-card__heading h3 {
	margin-bottom: 0.45rem;
	font-size: clamp(1.15rem, 2vw, 1.45rem);
}

.pca-registration-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1.2rem;
	padding-bottom: 0.9rem;
	margin-bottom: 0.9rem !important;
	border-bottom: 1px solid var(--pca-line);
	color: var(--pca-muted);
	font-size: 0.9rem;
}

.pca-registration-card__meta span + span::before {
	margin-right: 1.2rem;
	color: var(--pca-red-700);
	content: "•";
}

.pca-registration-card h4 {
	margin-bottom: 0.4rem;
	font-family: "Source Sans Pro", "Segoe UI", sans-serif;
	font-size: 0.9rem;
	letter-spacing: 0;
}

.pca-registration-card .pca-compact-list {
	margin-bottom: 0;
}

.pca-dashboard-members {
	position: sticky;
	top: calc(var(--pca-header-height) + 1rem);
}

.pca-dashboard-members .pca-empty-state {
	padding: clamp(2rem, 5vw, 4rem) 1.25rem;
	border: 1px dashed #cabfba;
	border-radius: var(--pca-radius-md);
	background: var(--pca-paper);
	text-align: center;
}

.pca-member-editor {
	margin-top: 1rem;
	border: 1px solid var(--pca-line);
	border-radius: var(--pca-radius-md);
}

.pca-member-editor summary {
	padding: 1rem;
}

.pca-member-editor form {
	padding: 0 1rem 1rem;
}

.pca-form-intro {
	margin-bottom: 1.25rem;
}

.pca-form-intro h2 {
	margin-bottom: 0.35rem;
	font-size: 1.6rem;
}

.pca-form-intro p {
	margin: 0;
	color: var(--pca-muted);
}

.pca-login-card {
	max-width: 56rem;
}

.pca-authenticated-panel {
	max-width: 34rem;
}

.pca-volunteer-signup-fields {
	padding: 1.2rem;
	margin: 0 0 1.4rem;
	border: 1px solid #e7c5c7;
	border-radius: var(--pca-radius-md);
	background: #fff8f6;
}

.pca-volunteer-signup-fields legend {
	padding: 0 0.4rem;
	font-weight: 800;
}

.pca-volunteer-signup-fields > p {
	margin-bottom: 1rem;
	color: var(--pca-muted);
	font-size: 0.9rem;
}

.pca-password-fields {
	margin-top: 0.25rem;
}

.pca-form-submit-actions {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-top: 1.35rem;
}

.pca-guest-conversion-form {
	padding-top: 0.25rem;
}

.pca-guest-conversion-form .pca-form-submit-actions {
	padding-top: 0.25rem;
	margin-top: 1rem;
}

.pca-registration-stage__actions {
	align-items: center;
	padding-top: 1.25rem;
	border-top: 1px solid var(--pca-line);
}

.pca-registration-stage__secondary-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.pca-admin-row-actions {
	display: flex;
	min-width: 10rem;
	flex-direction: column;
	align-items: stretch;
	gap: 0.45rem;
}

.pca-admin-row-actions .button,
.pca-admin-row-actions .button + .button {
	width: 100%;
	margin: 0;
}

.pca-account-detail-line {
	color: var(--pca-muted);
	font-size: 0.9rem;
}

@media screen and (max-width: 1120px) {
	.pca-dashboard-hero {
		align-items: flex-start;
		flex-direction: column;
	}

	.pca-dashboard-quick-actions {
		justify-content: flex-start;
	}

	.pca-household-dashboard-layout {
		grid-template-columns: minmax(0, 1.45fr) minmax(17rem, 0.8fr);
	}
}

@media screen and (max-width: 980px) {
	.site-nav {
		transition: opacity 160ms ease, visibility 160ms ease;
	}

	.site-nav__panel {
		opacity: 0;
		transform: translateX(1.25rem);
		transition: opacity 180ms ease, transform 180ms var(--pca-ease);
	}

	body.is-menu-open .site-nav__panel {
		opacity: 1;
		transform: translateX(0);
	}

	.nav-item__row {
		width: 100%;
	}

	.nav-item__row > a {
		flex: 1;
		justify-content: flex-start;
		min-height: 52px;
		padding: 0.75rem 0.65rem;
		font-size: 1rem;
	}

	.nav-item__row > button {
		min-width: 48px;
		min-height: 52px;
	}

	.pca-household-dashboard-layout {
		grid-template-columns: 1fr;
	}

	.pca-dashboard-members {
		position: static;
	}
}

@media screen and (max-width: 736px) {
	.pca-dashboard-hero {
		gap: 1.25rem;
	}

	.pca-dashboard-quick-actions,
	.pca-dashboard-quick-actions .button {
		width: 100%;
	}

	.pca-dashboard-quick-actions .button {
		justify-content: center;
	}

	.pca-dashboard-panel {
		padding: 1rem;
	}

	.pca-dashboard-panel .pca-dashboard-toolbar {
		display: flex;
		padding-bottom: 0.25rem;
		overflow-x: auto;
		scrollbar-width: thin;
	}

	.pca-dashboard-panel .pca-dashboard-toolbar .button {
		flex: 0 0 auto;
		min-width: 7.5rem;
	}

	.pca-registration-card__heading,
	.pca-registration-stage__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.pca-registration-stage__secondary-actions {
		width: 100%;
		flex-direction: column;
	}

	.pca-registration-stage__actions .button,
	.pca-registration-stage__secondary-actions .button {
		width: 100%;
	}

	.pca-account-use-options {
		grid-template-columns: 1fr;
	}
}

.pca-empty-state--events {
	position: relative;
	max-width: 68rem;
	overflow: hidden;
	border-style: solid;
	background:
		radial-gradient(circle at 88% 15%, rgba(228, 166, 44, 0.2), transparent 12rem),
		linear-gradient(130deg, #faf9f7 0%, #fff 65%);
}

.pca-empty-state--events::after {
	position: absolute;
	top: -6.5rem;
	right: -5rem;
	width: 16rem;
	height: 16rem;
	border: 1px solid rgba(169, 15, 24, 0.15);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.pca-empty-state--events h2 {
	max-width: 18ch;
	margin-bottom: 1rem;
	font-size: clamp(2rem, 4vw, 3.5rem);
}

.pca-empty-state--events > p:not(.eyebrow) {
	max-width: 42rem;
	margin-bottom: 1.75rem;
}

.pca-editor-layout {
	grid-template-columns: minmax(14rem, 0.42fr) minmax(0, 1.58fr);
	gap: clamp(1.5rem, 4vw, 3.5rem);
}

.pca-editor-layout > .pca-paper-panel {
	padding: clamp(1.25rem, 3vw, 2.25rem);
	border: 1px solid var(--pca-line);
	border-radius: var(--pca-radius-md);
	background: #fff;
	box-shadow: var(--pca-shadow-sm);
}

.pca-editor-layout aside {
	background: var(--pca-paper);
}

.pca-editor-layout code {
	padding: 0.16rem 0.35rem;
	border-radius: 4px;
	background: #ede9e5;
	color: var(--pca-ink);
	font-size: 0.9em;
	word-break: break-all;
}

.pca-editor-layout label > span,
.pca-editor-layout #post-published + label > span {
	display: block;
	color: var(--pca-muted);
	font-size: 0.85rem;
	font-weight: 500;
	letter-spacing: normal;
	text-transform: none;
}

.pca-editor-block {
	padding: 1.25rem;
	border: 1px solid var(--pca-line);
	border-radius: var(--pca-radius-md);
	background: var(--pca-paper);
}

.pca-editor-block legend {
	padding: 0 0.45rem;
	font-weight: 800;
}

.pca-editor-block .pca-blog-inline-image {
	max-height: 24rem;
	border-radius: var(--pca-radius-sm);
	object-fit: contain;
}

.pca-admin-dashboard-page > header.major {
	background: linear-gradient(115deg, #fff 0%, #faf5f2 100%);
}

.pca-admin-workspace-nav {
	background: #f6f1ed;
}

.pca-admin-workspace-tabs .button {
	min-height: 44px;
	padding: 0.65rem 0.8rem;
	border-color: transparent;
	background: transparent;
	color: #332c2e;
	box-shadow: none;
	text-transform: none;
}

.pca-admin-workspace-tabs .button.primary,
.pca-admin-workspace-tabs .button.is-selected {
	border-color: #e3c5c7;
	background: #fff;
	color: var(--pca-red-800);
	box-shadow: 0 6px 20px rgba(79, 39, 42, 0.06);
}

.pca-admin-workspace-content {
	background: #fff;
}

.pca-admin-workspace-panel {
	padding: 0;
	border: 0;
	background: transparent;
}

.pca-admin-metric-grid .pca-card {
	min-height: 10rem;
	background: #fff;
}

.pca-admin-metric-grid strong {
	color: var(--pca-red-800);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.4rem, 4vw, 4rem);
}

.pca-admin-panel-heading .button {
	flex: 0 0 auto;
}

.pca-checkin-card,
.pca-checkin-tool {
	padding: 1rem;
	margin: 1.25rem 0;
	border: 1px solid #e3c5c7;
	border-radius: var(--pca-radius-md);
	background: #fff9f7;
}

.pca-checkin-card summary,
.pca-checkin-tool summary {
	color: var(--pca-ink);
	font-weight: 800;
}

.pca-checkin-code {
	display: block;
	padding: 0.9rem;
	margin: 1rem 0;
	overflow-wrap: anywhere;
	border: 1px dashed var(--pca-red-700);
	border-radius: var(--pca-radius-sm);
	background: #fff;
	color: var(--pca-ink);
	font-family: Consolas, "Courier New", monospace;
	font-size: clamp(0.78rem, 1.5vw, 1rem);
	font-weight: 700;
	letter-spacing: 0.08em;
	user-select: all;
}

.pca-checkin-tool > section {
	padding-top: 1rem;
	border-top: 1px solid var(--pca-line);
}

/* Final production visual layer. Kept last so legacy template rules cannot win. */

body {
	background: #fff;
	font-family: "Segoe UI", Arial, sans-serif;
}

h1,
h2 {
	font-family: Georgia, "Times New Roman", serif;
}

.site-header__inner {
	width: 100%;
	max-width: none;
}

.pca-home-hero {
	display: grid;
	grid-template-columns: minmax(25rem, 0.86fr) minmax(32rem, 1.14fr);
	min-height: min(47rem, calc(100svh - var(--pca-header-height)));
	background: #fff;
}

.pca-home-hero__media {
	position: relative;
	inset: auto;
	grid-column: 2;
	grid-row: 1;
	width: auto;
	height: auto;
	clip-path: ellipse(88% 78% at 89% 50%);
}

.pca-home-hero__media::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0) 14%);
	content: "";
	pointer-events: none;
}

.pca-home-hero__media img {
	width: 100%;
	height: 100%;
	filter: none;
	object-fit: cover;
	object-position: 58% center;
}

.pca-home-hero__content {
	position: relative;
	grid-column: 1;
	grid-row: 1;
	align-self: center;
	width: auto;
	max-width: 48rem;
	padding: clamp(3rem, 6vw, 6.5rem) 1.5rem clamp(3rem, 6vw, 6.5rem) var(--pca-page-gutter);
	color: var(--pca-ink);
}

.pca-home-hero .eyebrow {
	color: var(--pca-red-700);
}

.pca-home-hero h1 {
	max-width: 10ch;
	margin: 0.55rem 0 1.25rem;
	color: var(--pca-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(4rem, 6.2vw, 6.8rem);
	line-height: 0.98;
}

.pca-home-hero__lede {
	max-width: 35rem;
	color: #3e383a !important;
	font-family: "Segoe UI", Arial, sans-serif;
	font-size: clamp(1.1rem, 1.5vw, 1.35rem);
	line-height: 1.55;
}

.pca-home-hero .button--light {
	border-color: var(--pca-line);
	background: #fff;
	color: var(--pca-ink);
	box-shadow: var(--pca-shadow-sm);
}

.pca-home-hero__scroll {
	display: none;
}

.home-mission {
	border-top: 1px solid var(--pca-line);
	background: var(--pca-paper);
}

.home-mission__layout {
	display: grid;
	grid-template-columns: minmax(20rem, 0.82fr) minmax(28rem, 1.18fr);
	align-items: center;
	gap: clamp(3rem, 6vw, 7rem);
}

.home-mission__media {
	position: relative;
	overflow: hidden;
	border-radius: var(--pca-radius-lg);
	box-shadow: var(--pca-shadow-sm);
}

.home-mission__media::after {
	position: absolute;
	top: 0;
	right: 1.25rem;
	width: 4.5rem;
	height: 4.5rem;
	border-top: 2px solid var(--pca-gold);
	border-right: 2px solid var(--pca-gold);
	content: "";
}

.home-mission__media img {
	width: 100%;
	height: 100%;
	min-height: 26rem;
	object-fit: cover;
}

.home-journeys {
	background: #fff;
}

.journey-card,
.journey-card:nth-child(even) {
	grid-template-columns: minmax(18rem, 0.9fr) minmax(20rem, 1.1fr);
}

.journey-card:nth-child(even) .journey-card__media {
	order: 0;
}

.journey-card__media {
	margin: 1rem 0;
	overflow: hidden;
	border-radius: var(--pca-radius-md);
}

.journey-card__body {
	padding: clamp(2rem, 4vw, 3.5rem);
}

.home-cta {
	background: linear-gradient(115deg, #a90f18, #d21b21);
}

.pca-empty-state {
	padding: clamp(2.5rem, 6vw, 5rem);
	border: 1px dashed #cfc9c4;
	border-radius: var(--pca-radius-lg);
	background: var(--pca-paper);
	color: var(--pca-muted);
	font-size: 1.05rem;
}

@media screen and (max-width: 980px) {
	.pca-home-hero {
		display: flex;
		min-height: 0;
		flex-direction: column;
	}

	.pca-home-hero__content {
		order: 1;
		max-width: none;
		padding: clamp(3rem, 8vw, 5rem) var(--pca-page-gutter) 2rem;
	}

	.pca-home-hero__media {
		order: 2;
		width: calc(100% - (2 * var(--pca-page-gutter)));
		margin: 0 var(--pca-page-gutter) 3rem;
		clip-path: ellipse(92% 82% at 55% 48%);
		aspect-ratio: 16 / 10;
	}

	.pca-home-hero__media::after {
		display: none;
	}

	.home-mission__layout {
		grid-template-columns: 1fr;
	}

	.journey-card,
	.journey-card:nth-child(even) {
		grid-template-columns: minmax(15rem, 0.9fr) minmax(16rem, 1.1fr);
	}
}

@media screen and (max-width: 736px) {
	.pca-home-hero__content {
		padding-top: 3rem;
		padding-bottom: 1.5rem;
	}

	.pca-home-hero h1 {
		font-size: clamp(3.25rem, 15vw, 4.5rem);
	}

	.pca-home-hero__content .actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.pca-home-hero__content .button {
		width: 100%;
		justify-content: center;
	}

	.pca-home-hero__media {
		aspect-ratio: 4 / 3;
	}

	.journey-card,
	.journey-card:nth-child(even) {
		display: flex;
		flex-direction: column;
	}

	.journey-card__media {
		order: 0;
		margin: 1rem 0 0;
	}

	.journey-card__body {
		padding: 1.5rem 0 2.25rem;
	}
}
