/* ==========================================================================
   Subpages (page, page-document, page-resources, page-no-talk templates).
   Loaded on non-front pages and in the editor. Rules for constrained-layout
   children only ever reset margin-block (see CLAUDE.md "margins" gotcha).
   ========================================================================== */

/* --- Page hero ------------------------------------------------------------- */
.ouaaup-page-hero {
	padding-top: var(--wp--preset--spacing--7);
	padding-bottom: var(--wp--preset--spacing--8);
	border-bottom: 1px solid var(--wp--preset--color--warm-100);
}
.ouaaup-page-hero .ouaaup-crumbs { margin-block: 0 var(--wp--preset--spacing--5) !important; }
.ouaaup-page-hero .ouaaup-eyebrow { margin: 0; }
.ouaaup-page-title {
	margin: 0;
	font-size: clamp(2.5rem, 1.6rem + 2.4vw, 3.75rem);
	font-weight: 700;
	line-height: 1.04;
	letter-spacing: -0.025em;
}
.ouaaup-page-lead {
	max-width: 62ch;
	margin: var(--wp--preset--spacing--5) 0 0;
}
.ouaaup-page-hero__cols {
	margin-block: 0 !important;
	align-items: flex-end !important;
	gap: var(--wp--preset--spacing--7) !important;
}
.ouaaup-page-hero__aside {
	display: flex;
	justify-content: flex-end;
	flex-basis: 360px !important;
	flex-grow: 0 !important;
}
.ouaaup-page-hero__aside > * { margin: 0; }
@media (max-width: 781px) {
	.ouaaup-page-hero__aside { justify-content: flex-start; flex-basis: 100% !important; }
}

/* --- Body sections ------------------------------------------------------------ */
.ouaaup-body { padding-top: var(--wp--preset--spacing--8); }
.ouaaup-body.is-roomy { padding-block: var(--wp--preset--spacing--9); }
.ouaaup-body.is-band {
	border-top: 1px solid var(--wp--preset--color--warm-100);
	border-bottom: 1px solid var(--wp--preset--color--warm-100);
}
.ouaaup-body.is-roomy + .ouaaup-body.is-roomy:not(.is-band) { padding-top: var(--wp--preset--spacing--9); }
.ouaaup-body h2 { margin-block: 0 var(--wp--preset--spacing--4); }
.ouaaup-body > .wp-block-heading + * { margin-top: 0; }
.ouaaup-body .ouaaup-eyebrow { margin-block: 0 6px; }
.ouaaup-body.is-narrow > * { max-width: 672px; }
/* Last body section before Talk To Us / footer gets bottom breathing room */
.ouaaup-page .wp-block-post-content > .ouaaup-body:last-child:not(.is-roomy) { padding-bottom: var(--wp--preset--spacing--8); }

.ouaaup-lead.is-strong { color: var(--wp--preset--color--ink-900); margin-block: 0 var(--wp--preset--spacing--4); }
.ouaaup-body-copy { color: var(--wp--preset--color--ink-700); line-height: 1.75; margin-block: 0 var(--wp--preset--spacing--4); }
.ouaaup-body-copy:last-child { margin-bottom: 0; }
.ouaaup-measure { max-width: 60ch; margin: 0 0 var(--wp--preset--spacing--7) !important; }

/* Two-column text/media split */
.ouaaup-split { margin-block: 0 !important; align-items: center !important; gap: var(--wp--preset--spacing--8) !important; }
.ouaaup-split h2 { line-height: 1.2; }
.ouaaup-media { margin: 0; }
.ouaaup-media img {
	display: block;
	width: 100%;
	height: 340px;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--lg);
}
.ouaaup-media.is-tall img { height: 380px; }

/* Sticky side column (resources menu, bylaws TOC) */
.ouaaup-with-side { margin-block: 0 !important; gap: var(--wp--preset--spacing--8) !important; align-items: flex-start !important; }
.ouaaup-side { position: sticky; top: var(--wp--preset--spacing--5); flex-grow: 0 !important; }
.ouaaup-side-main { min-width: 0; }
.ouaaup-with-side:not(.is-toc) .ouaaup-side-main > * { max-width: 76ch; }
@media (max-width: 899px) {
	.ouaaup-with-side { flex-wrap: wrap !important; }
	.ouaaup-with-side > .wp-block-column { flex-basis: 100% !important; }
	.ouaaup-side { position: static; }
}

/* Member Resources side nav (synced pattern) */
.ouaaup-side-nav__label { margin: 0 0 var(--wp--preset--spacing--2) !important; padding-inline: var(--wp--preset--spacing--3); }
.ouaaup-side-nav.wp-block-navigation { gap: 2px; }
.ouaaup-side-nav .wp-block-navigation-item { width: 100%; }
.ouaaup-side-nav .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 9px var(--wp--preset--spacing--3) !important;
	border-left: 2px solid transparent;
	border-radius: var(--wp--custom--radius--md);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 400;
	color: var(--wp--preset--color--ink-700);
	text-decoration: none;
}
.ouaaup-side-nav .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--warm-100);
	color: var(--wp--preset--color--ink-900);
	text-decoration: none;
}
.ouaaup-side-nav .current-menu-item > .wp-block-navigation-item__content {
	border-left-color: var(--wp--preset--color--union-red);
	background: var(--wp--preset--color--paper);
	color: var(--wp--preset--color--ink-900);
	font-weight: 600;
}
@media (max-width: 899px) {
	.ouaaup-side-nav.wp-block-navigation .wp-block-navigation__container { flex-direction: row !important; flex-wrap: wrap; }
	.ouaaup-side-nav .wp-block-navigation-item { width: auto; }
}

/* --- Resource items: auto-numbered 01, 02 … ------------------------------------ */
.ouaaup-res-list { counter-reset: ouaaup-res; }
.ouaaup-res-item {
	counter-increment: ouaaup-res;
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	column-gap: var(--wp--preset--spacing--4);
	margin: 0 !important;
	padding: var(--wp--preset--spacing--6) 0;
	border-top: 1px solid var(--wp--preset--color--warm-200);
}
.ouaaup-res-item:first-child { border-top: 0; padding-top: 0; }
.ouaaup-res-item::before {
	content: counter(ouaaup-res, decimal-leading-zero);
	grid-row: 1 / span 3;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 800;
	font-size: var(--wp--preset--font-size--2-xl);
	line-height: 1;
	color: var(--wp--preset--color--ou-blue);
}
.ouaaup-res-item > * { grid-column: 2; margin: 0 !important; }
.ouaaup-res-item h2 { line-height: 1.25; margin-bottom: var(--wp--preset--spacing--2) !important; }
.ouaaup-res-item p { color: var(--wp--preset--color--ink-700); line-height: 1.7; }
.ouaaup-res-item p + p { margin-top: var(--wp--preset--spacing--3) !important; }
/* Heading-only items (Employee Resource Groups): a compact list, number aligned with the title */
.ouaaup-res-item.is-title-only { align-items: center; padding: var(--wp--preset--spacing--4) 0; }
.ouaaup-res-item.is-title-only:first-child { padding-top: 0; }
.ouaaup-res-item.is-title-only::before { grid-row: auto; font-size: var(--wp--preset--font-size--xl); }
.ouaaup-res-item.is-title-only h2 { margin-bottom: 0 !important; }
/* The sign-in note above the list */
.ouaaup-side-main > .ouaaup-measure { max-width: 72ch; }

/* External link with ↗ */
.ouaaup-ext-link a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-weight: 600; font-size: var(--wp--preset--font-size--sm); }
.ouaaup-ext-link a::after {
	content: "";
	flex: none;
	width: 14px;
	height: 14px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Info callout */
.ouaaup-callout {
	margin: 0 0 var(--wp--preset--spacing--6) !important;
	padding: var(--wp--preset--spacing--5) var(--wp--preset--spacing--6);
	border-radius: var(--wp--custom--radius--lg);
	border: 1px solid var(--wp--preset--color--ou-blue-100);
	background: var(--wp--preset--color--ou-blue-050);
	color: var(--wp--preset--color--ink-900);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.65;
}
.ouaaup-callout p { margin: 0; }
.ouaaup-callout a { color: var(--wp--preset--color--ou-blue-700); text-decoration: underline; }

/* --- FAQ (core Details) ------------------------------------------------------------ */
.ouaaup-faq-list { counter-reset: ouaaup-faq; display: flex; flex-direction: column; gap: var(--wp--preset--spacing--3); }
.ouaaup-faq-list > * { margin: 0 !important; }
.wp-block-details.ouaaup-faq {
	counter-increment: ouaaup-faq;
	padding: 0;
	border: 1px solid var(--wp--preset--color--warm-100);
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--paper);
	box-shadow: var(--wp--preset--shadow--sm);
}
.ouaaup-faq summary {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--4);
	min-height: 44px;
	padding: var(--wp--preset--spacing--5) var(--wp--preset--spacing--6);
	border-radius: var(--wp--custom--radius--lg);
	list-style: none;
	cursor: pointer;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.3;
	color: var(--wp--preset--color--ink-900);
}
.ouaaup-faq summary::-webkit-details-marker { display: none; }
.ouaaup-faq summary::before {
	content: counter(ouaaup-faq, decimal-leading-zero);
	flex: none;
	min-width: 28px;
	font-weight: 800;
	color: var(--wp--preset--color--ou-blue);
}
.ouaaup-faq summary::after {
	content: "";
	flex: none;
	width: 18px;
	height: 18px;
	margin-left: auto;
	background: var(--wp--preset--color--ink-500);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform var(--wp--custom--duration--base) var(--wp--custom--ease--standard);
}
.ouaaup-faq[open] summary::after { transform: rotate(90deg); }
.ouaaup-faq summary:focus-visible { outline: none; box-shadow: var(--wp--custom--focus-ring); }
.ouaaup-faq > :not(summary) {
	margin: 0 !important;
	padding: 0 var(--wp--preset--spacing--6) 0 calc(var(--wp--preset--spacing--6) + 28px + var(--wp--preset--spacing--4));
	color: var(--wp--preset--color--ink-700);
	line-height: 1.7;
}
.ouaaup-faq > :last-child { padding-bottom: var(--wp--preset--spacing--6); }
.ouaaup-faq ul {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: var(--wp--preset--spacing--3) !important;
	padding-left: calc(var(--wp--preset--spacing--6) + 28px + var(--wp--preset--spacing--4) + 1.3em) !important;
}
@media (max-width: 599px) {
	.ouaaup-faq > :not(summary) { padding-left: var(--wp--preset--spacing--6); }
	.ouaaup-faq ul { padding-left: calc(var(--wp--preset--spacing--6) + 1.3em) !important; }
}

/* --- Bylaws: sticky TOC + articles ------------------------------------------------ */
.ouaaup-toc { display: flex; flex-direction: column; gap: 2px; max-height: calc(100vh - 40px); overflow: auto; }
.ouaaup-toc .ouaaup-eyebrow { margin: 0 0 var(--wp--preset--spacing--2) !important; padding-inline: var(--wp--preset--spacing--3); }
.ouaaup-toc__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.ouaaup-toc__list li { margin: 0; }
.ouaaup-toc__list a {
	display: grid;
	grid-template-columns: 36px 1fr;
	gap: 4px;
	padding: 8px var(--wp--preset--spacing--3);
	border-left: 2px solid transparent;
	border-radius: var(--wp--custom--radius--md);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.35;
	color: var(--wp--preset--color--ink-700);
	text-decoration: none;
}
.ouaaup-toc__list a strong { font-weight: 700; color: var(--wp--preset--color--ou-blue-700); }
.ouaaup-toc__list a:hover { background: var(--wp--preset--color--warm-100); color: var(--wp--preset--color--ink-900); text-decoration: none; }
.ouaaup-toc__list a.is-on {
	border-left-color: var(--wp--preset--color--union-red);
	background: var(--wp--preset--color--paper);
	color: var(--wp--preset--color--ink-900);
	font-weight: 600;
}
@media (max-width: 899px) { .ouaaup-toc { max-height: none; } }

.ouaaup-art {
	max-width: 72ch;
	margin: 0 !important;
	padding: var(--wp--preset--spacing--7) 0;
	border-top: 1px solid var(--wp--preset--color--warm-200);
	scroll-margin-top: 24px;
}
.ouaaup-art:first-child { border-top: 0; padding-top: 0; }
.ouaaup-art__num {
	margin: 0 0 4px !important;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ou-blue-700);
}
.ouaaup-art h2 { margin: 0 0 var(--wp--preset--spacing--4) !important; letter-spacing: -0.01em; }
.ouaaup-art p { color: var(--wp--preset--color--ink-700); line-height: 1.75; margin: 0; }
.ouaaup-art ol,
.ouaaup-art ul { display: flex; flex-direction: column; margin: 0; }
.ouaaup-art > ol { gap: var(--wp--preset--spacing--3); padding-left: 1.6em; }
.ouaaup-art ol ol { list-style: lower-alpha; gap: var(--wp--preset--spacing--2); margin-top: var(--wp--preset--spacing--3); padding-left: 1.6em; }
.ouaaup-art ol ol ol { list-style: lower-roman; }
.ouaaup-art ul { gap: 4px; margin-top: var(--wp--preset--spacing--2); padding-left: 1.4em; }
.ouaaup-art li { padding-left: 4px; color: var(--wp--preset--color--ink-700); line-height: 1.75; }
.ouaaup-art li::marker { color: var(--wp--preset--color--ou-blue-700); font-weight: 700; font-family: var(--wp--preset--font-family--body); }

/* --- Documents: Agreement + Workload ----------------------------------------------- */
.ouaaup-doc-head { margin-block: 0 var(--wp--preset--spacing--4) !important; gap: var(--wp--preset--spacing--4); }
.ouaaup-doc-current { margin: 0 !important; letter-spacing: -0.02em; }
.ouaaup-doc-current a { color: inherit; text-decoration: none; }
.ouaaup-doc-current a:hover { color: var(--wp--preset--color--ou-blue-700); text-decoration: underline; }
.ouaaup-doc-actions { gap: var(--wp--preset--spacing--5) !important; }
.ouaaup-icon-link { margin: 0; }
.ouaaup-icon-link a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: var(--wp--preset--font-size--sm); font-weight: 600; }
.ouaaup-icon-link a::before {
	content: "";
	width: 15px;
	height: 15px;
	background: currentColor;
	-webkit-mask: var(--ouaaup-ico) center / contain no-repeat;
	mask: var(--ouaaup-ico) center / contain no-repeat;
}
.ouaaup-pdf-card { overflow: hidden; padding: 0; background: var(--wp--preset--color--warm-100); }
.ouaaup-pdf-card .wp-block-file { margin: 0; }
.ouaaup-pdf-card .wp-block-file__embed { display: block; width: 100% !important; height: min(80vh, 880px) !important; border: 0; }
/* The File block adds a text link when it has a file name (needed for the viewer's accessible name); the "Open in New Tab" / "Download PDF" links above already do that job. */
.ouaaup-pdf-card .wp-block-file > a:not(.wp-block-file__button) { display: none; }

/* Document rows (Agreement archive): tile · title · [Current] · PDF */
.ouaaup-doc-list { overflow: hidden; padding: 0; background: var(--wp--preset--color--paper); }
.ouaaup-doc-row { position: relative; margin: 0 !important; border-top: 1px solid var(--wp--preset--color--warm-100); }
.ouaaup-doc-row:first-child { border-top: 0; }
.ouaaup-doc-row a {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--4);
	min-height: 72px;
	padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--5) var(--wp--preset--spacing--4) calc(var(--wp--preset--spacing--5) + 40px + var(--wp--preset--spacing--4));
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--lg);
	color: var(--wp--preset--color--ink-900);
	text-decoration: none;
	transition: background-color var(--wp--custom--duration--fast) var(--wp--custom--ease--standard);
}
.ouaaup-doc-row a:hover { background: var(--wp--preset--color--warm-050); color: var(--wp--preset--color--ink-900); text-decoration: none; }
.ouaaup-doc-row::before,
.ouaaup-doc-tile::before {
	content: "";
	position: absolute;
	left: var(--wp--preset--spacing--5);
	top: 50%;
	width: 40px;
	height: 40px;
	margin-top: -20px;
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--ou-blue-050);
	pointer-events: none;
}
.ouaaup-doc-row::after,
.ouaaup-doc-tile::after {
	content: "";
	position: absolute;
	left: calc(var(--wp--preset--spacing--5) + 10px);
	top: 50%;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	background: var(--wp--preset--color--ou-blue);
	-webkit-mask: var(--ouaaup-ico) center / contain no-repeat;
	mask: var(--ouaaup-ico) center / contain no-repeat;
	pointer-events: none;
}
/* "Current" badge on the first row, then the PDF label */
.ouaaup-doc-row a::after {
	content: "PDF";
	margin-left: auto;
	padding-left: 20px;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	color: var(--wp--preset--color--ou-blue-text);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230072AD' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E") left center / 16px no-repeat;
}
.ouaaup-doc-row.is-current a::before {
	content: "Current";
	order: 2;
	margin-left: auto;
	padding: 4px 10px;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--ou-blue-050);
	color: var(--wp--preset--color--ou-blue-700);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
}
.ouaaup-doc-row.is-current a::after { order: 3; margin-left: 0; }

/* Workload tiles */
.ouaaup-doc-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
	gap: var(--wp--preset--spacing--3);
}
.ouaaup-doc-grid > * { margin: 0 !important; }
.ouaaup-doc-tile {
	position: relative;
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--3);
	min-height: 72px;
	padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--4) var(--wp--preset--spacing--4) calc(var(--wp--preset--spacing--4) + 40px + var(--wp--preset--spacing--3));
	border: 1px solid var(--wp--preset--color--warm-100);
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--paper);
	transition: transform var(--wp--custom--duration--base) var(--wp--custom--ease--standard), box-shadow var(--wp--custom--duration--base) var(--wp--custom--ease--standard);
}
.ouaaup-doc-tile::before { left: var(--wp--preset--spacing--4); }
.ouaaup-doc-tile::after { left: calc(var(--wp--preset--spacing--4) + 10px); }
.ouaaup-doc-tile:hover,
.ouaaup-doc-tile:focus-within { transform: translateY(-2px); box-shadow: var(--wp--preset--shadow--md); }
.ouaaup-doc-tile a {
	flex: 1;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	line-height: 1.35;
	color: var(--wp--preset--color--ink-900);
	text-decoration: none;
}
/* Whole tile is the click target */
.ouaaup-doc-tile a::before { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.ouaaup-doc-tile a:focus-visible { box-shadow: none; }
.ouaaup-doc-tile:has(a:focus-visible) { box-shadow: var(--wp--custom--focus-ring); }
.ouaaup-doc-tile__dl {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex: none;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	color: var(--wp--preset--color--ou-blue-text);
	white-space: nowrap;
}
.ouaaup-doc-tile__dl::before {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* --- Why Join: What We Do cards + contact cards ------------------------------------ */
.ouaaup-do-grid.is-layout-grid,
.ouaaup-hub-grid.is-layout-grid,
.ouaaup-grid-3.is-layout-grid,
.ouaaup-grid-2.is-layout-grid { gap: var(--wp--preset--spacing--4); }
.ouaaup-do-grid.is-layout-grid { grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)) !important; }
.ouaaup-grid-3.is-layout-grid { grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)) !important; }
/* A lone card (e.g. the Advisory Forum Chair) keeps card width instead of spanning the row. */
.ouaaup-grid-3.is-layout-grid:has(> :only-child) { grid-template-columns: minmax(0, 420px) !important; }
.ouaaup-grid-2.is-layout-grid { grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)) !important; gap: var(--wp--preset--spacing--5); }
.ouaaup-do-card { padding: var(--wp--preset--spacing--5); }
.ouaaup-do-card p { margin: 0; color: var(--wp--preset--color--ink-700); line-height: 1.6; }
.ouaaup-tile-title {
	position: relative;
	margin: 0 0 var(--wp--preset--spacing--2) !important;
	padding-top: calc(44px + var(--wp--preset--spacing--4));
	letter-spacing: -0.01em;
}
.ouaaup-tile-title::before,
.ouaaup-tile-title::after { content: ""; position: absolute; left: 0; top: 0; }
.ouaaup-tile-title::before { width: 44px; height: 44px; border-radius: var(--wp--custom--radius--md); background: var(--wp--preset--color--ou-blue-050); }
.ouaaup-tile-title::after {
	width: 22px;
	height: 22px;
	margin: 11px;
	background: var(--wp--preset--color--ou-blue);
	-webkit-mask: var(--ouaaup-ico) center / contain no-repeat;
	mask: var(--ouaaup-ico) center / contain no-repeat;
}
.ouaaup-contact-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--5);
	padding: var(--wp--preset--spacing--6);
}
.ouaaup-contact-card > * { margin: 0 !important; }
.ouaaup-contact-card h3 { line-height: 1.3; }
.ouaaup-contact-card .wp-block-buttons { margin-top: auto !important; }

/* Secondary (outline) button: white, red border + text */
.wp-block-button.is-style-outline .wp-block-button__link {
	border: 1px solid var(--wp--preset--color--union-red);
	background: var(--wp--preset--color--paper);
	color: var(--wp--preset--color--union-red);
	padding: 0.7rem 1.5rem;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--union-red-050);
	color: var(--wp--preset--color--union-red-700);
}

/* --- Advisory Forum ------------------------------------------------------------------ */
.ouaaup-officer-card { padding: var(--wp--preset--spacing--5); border-top: 3px solid var(--wp--preset--color--ou-blue); }
.ouaaup-officer-card p { margin: 0; }
.ouaaup-role {
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ou-blue-700);
}
.ouaaup-person {
	margin-top: 6px !important;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--xl);
	line-height: 1.2;
}
.ouaaup-sec-head { margin-block: 0 var(--wp--preset--spacing--5) !important; gap: var(--wp--preset--spacing--5); }
.ouaaup-sec-head h2 { margin: 0 !important; }
.ouaaup-units { column-width: 300px; column-gap: var(--wp--preset--spacing--5); }
.ouaaup-units > * { margin: 0 !important; }
.ouaaup-unit {
	break-inside: avoid;
	margin-bottom: var(--wp--preset--spacing--4) !important;
	padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--5);
	border: 1px solid var(--wp--preset--color--warm-100);
	border-radius: var(--wp--custom--radius--md);
}
.ouaaup-unit__name { margin: 0 0 var(--wp--preset--spacing--2) !important; font-size: var(--wp--preset--font-size--sm); font-weight: 700; line-height: 1.35; }
.ouaaup-unit__people { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.ouaaup-unit__people li { margin: 0; padding-left: var(--wp--preset--spacing--3); border-left: 2px solid var(--wp--preset--color--ou-gold); font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--ink-700); }

/* --- Member Resources hub ------------------------------------------------------------ */
.ouaaup-hub-grid.is-layout-grid { grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)) !important; }
.ouaaup-hub-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--4);
	padding: calc(var(--wp--preset--spacing--6) + 44px + var(--wp--preset--spacing--4)) var(--wp--preset--spacing--6) var(--wp--preset--spacing--6);
	transition: transform var(--wp--custom--duration--base) var(--wp--custom--ease--standard), box-shadow var(--wp--custom--duration--base) var(--wp--custom--ease--standard);
}
.ouaaup-hub-card::before,
.ouaaup-hub-card::after { content: ""; position: absolute; left: var(--wp--preset--spacing--6); top: var(--wp--preset--spacing--6); pointer-events: none; }
.ouaaup-hub-card::before { width: 44px; height: 44px; border-radius: var(--wp--custom--radius--md); background: var(--wp--preset--color--ou-blue-050); }
.ouaaup-hub-card::after {
	width: 22px;
	height: 22px;
	margin: 11px;
	background: var(--wp--preset--color--ou-blue);
	-webkit-mask: var(--ouaaup-ico) center / contain no-repeat;
	mask: var(--ouaaup-ico) center / contain no-repeat;
}
.ouaaup-hub-card:hover,
.ouaaup-hub-card:focus-within { transform: translateY(-2px); box-shadow: var(--wp--preset--shadow--md); }
.ouaaup-hub-card > * { margin: 0 !important; }
.ouaaup-hub-card__title { line-height: 1.2; }
.ouaaup-hub-card__title a { color: var(--wp--preset--color--ink-900); text-decoration: none; }
.ouaaup-hub-card__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.ouaaup-hub-card__title a:focus-visible { box-shadow: none; }
.ouaaup-hub-card:has(a:focus-visible) { box-shadow: var(--wp--custom--focus-ring); }
.ouaaup-hub-card__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: auto !important;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	color: var(--wp--preset--color--ou-blue-text);
}
.ouaaup-hub-card__more::after {
	content: "";
	width: 15px;
	height: 15px;
	background: currentColor;
	-webkit-mask: var(--ouaaup-arrow) center / contain no-repeat;
	mask: var(--ouaaup-arrow) center / contain no-repeat;
}

/* --- Join Us ----------------------------------------------------------------------- */

.ouaaup-join-card {
	position: relative;
	padding: var(--wp--preset--spacing--7);
	padding-left: calc(var(--wp--preset--spacing--7) + 52px + var(--wp--preset--spacing--5));
	border-top: 3px solid var(--wp--preset--color--union-red);
}
.ouaaup-join-card::before,
.ouaaup-join-card::after { content: ""; position: absolute; left: var(--wp--preset--spacing--7); top: var(--wp--preset--spacing--7); }
.ouaaup-join-card::before { width: 52px; height: 52px; border-radius: var(--wp--custom--radius--md); background: var(--wp--preset--color--union-red-050); }
.ouaaup-join-card::after {
	width: 24px;
	height: 24px;
	margin: 14px;
	background: var(--wp--preset--color--union-red);
	-webkit-mask: var(--ouaaup-ico) center / contain no-repeat;
	mask: var(--ouaaup-ico) center / contain no-repeat;
}
.ouaaup-join-card > * { margin: 0 !important; }
.ouaaup-join-card h2 { margin-bottom: var(--wp--preset--spacing--3) !important; line-height: 1.25; }
.ouaaup-join-card p { margin-bottom: var(--wp--preset--spacing--5) !important; color: var(--wp--preset--color--ink-700); }
@media (max-width: 599px) {
	.ouaaup-join-card { padding: calc(var(--wp--preset--spacing--6) + 52px + var(--wp--preset--spacing--4)) var(--wp--preset--spacing--5) var(--wp--preset--spacing--6); }
	.ouaaup-join-card::before,
	.ouaaup-join-card::after { left: var(--wp--preset--spacing--5); top: var(--wp--preset--spacing--6); }
}

/* --- Talk To Us (template) -------------------------------------------------------- */
.ouaaup-talk { padding-block: var(--wp--preset--spacing--8); }
.ouaaup-talk__card {
	position: relative;
	gap: var(--wp--preset--spacing--6) !important;
	padding: var(--wp--preset--spacing--6) var(--wp--preset--spacing--7);
	padding-left: calc(var(--wp--preset--spacing--7) + 52px + var(--wp--preset--spacing--6));
	border-top: 3px solid var(--wp--preset--color--ou-blue) !important;
}
.ouaaup-talk__card::before,
.ouaaup-talk__card::after { content: ""; position: absolute; left: var(--wp--preset--spacing--7); top: 50%; }
.ouaaup-talk__card::before { width: 52px; height: 52px; margin-top: -26px; border-radius: var(--wp--custom--radius--md); background: var(--wp--preset--color--ou-blue-050); }
.ouaaup-talk__card::after {
	width: 24px;
	height: 24px;
	margin: -12px 0 0 14px;
	background: var(--wp--preset--color--ou-blue);
	-webkit-mask: var(--ouaaup-ico) center / contain no-repeat;
	mask: var(--ouaaup-ico) center / contain no-repeat;
}
.ouaaup-talk__text { flex: 1 1 360px; }
.ouaaup-talk__text > * { margin: 0 !important; }
.ouaaup-talk__text h2 { margin: 4px 0 var(--wp--preset--spacing--2) !important; }
.ouaaup-talk__text p:not(.ouaaup-eyebrow) { max-width: 64ch; color: var(--wp--preset--color--ink-700); line-height: 1.6; }
@media (max-width: 781px) {
	.ouaaup-talk__card { padding: calc(var(--wp--preset--spacing--6) + 52px + var(--wp--preset--spacing--4)) var(--wp--preset--spacing--5) var(--wp--preset--spacing--6); }
	.ouaaup-talk__card::before,
	.ouaaup-talk__card::after { left: var(--wp--preset--spacing--5); top: var(--wp--preset--spacing--6); margin-top: 0; }
	.ouaaup-talk__card::after { margin: 14px; }
}
