/* =========================================================================
   Michigan PTA — main stylesheet
   Color tokens come from theme.json (so the editor stays palette-locked);
   type scale lives here in :root so we can audit and tune it as one system
   rather than fighting WordPress's preset slug hyphenation.
   ========================================================================= */

:root {
	/* Type scale — clamp(min, fluid, max) */
	--mipta-fs-small:   clamp(0.875rem, 0.85vw, 0.9375rem);          /* 14 → 15 px */
	--mipta-fs-body:    clamp(1rem, 1.1vw, 1.0625rem);                /* 16 → 17 px */
	--mipta-fs-large:   clamp(1.0625rem, 1.35vw, 1.1875rem);          /* 17 → 19 px (intros / lede) */
	--mipta-fs-x-large: clamp(1.1875rem, 1.7vw, 1.375rem);            /* 19 → 22 px */
	--mipta-fs-h3:      clamp(1.375rem, 2vw, 1.75rem);                /* 22 → 28 px (card titles) */
	--mipta-fs-h2:      clamp(1.875rem, 3.5vw, 2.875rem);             /* 30 → 46 px (section headings) */
	--mipta-fs-h1:      clamp(2.25rem, 4.5vw, 3.75rem);               /* 36 → 60 px (hero) */

	/* Container — the single source of truth for left/right alignment site-wide.
	   Header, footer, and every section's `__inner` container use these so the
	   outer edges of content stay vertically aligned at every breakpoint. */
	--mipta-container-max: 1200px;
	--mipta-container-pad: clamp(1.25rem, 4vw, 3rem);

	/* Reading width — body text constrained to this for legibility, left-aligned
	   inside the wider container (so its left edge matches the container's). */
	--mipta-prose-max:     820px;

	/* Vertical rhythm — every full-bleed section uses this top/bottom padding
	   so the page reads as a consistent stack. Tune in one place. */
	--mipta-section-pad-y: clamp(3rem, 6vw, 5rem);
}

/* -------------------------- 1. Base + reset polish ----------------------- */

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

html { scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
}

body {
	font-family: var(--wp--preset--font-family--sans);
	color: var(--wp--preset--color--body-ink);
	background: var(--wp--preset--color--white);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
}

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

/* Sticky-header-aware anchor offsets — keep section tops visible below the
   sticky header when navigating via in-page links. */
:where(section, h1, h2, h3, [id]) { scroll-margin-top: 88px; }

/* WordPress's default blockGap inserts top margins between layout-flow children.
   Our full-bleed <section> blocks are designed to butt — they own their own
   padding and backgrounds. Kill the inherited margins everywhere they apply. */
.wp-site-blocks > *,
.wp-block-post-content > *,
.is-layout-flow > section,
.wp-block-post-content > section,
section { margin-block-start: 0; }
section + section { margin-block-start: 0; }

a { color: var(--wp--preset--color--pta-blue); text-underline-offset: 0.15em; }
a:hover, a:focus { color: var(--wp--preset--color--pta-blue-dark); }

/* Focus indicator — WCAG 1.4.11 (Non-text Contrast) & 2.4.7 (Focus Visible).
   Default PTA Blue against light backgrounds (13:1). On dark/photo backgrounds
   we switch to PTA Gold (8:1+ against blues, visible on photos via the box-shadow). */
:focus-visible {
	outline: 3px solid var(--wp--preset--color--pta-blue);
	outline-offset: 2px;
	border-radius: 3px;
}
.mipta-hero :focus-visible,
.mipta-stats--pta-blue :focus-visible,
.mipta-footer :focus-visible,
.mipta-cta-card :focus-visible,
.mipta-cta-card--pta-blue :focus-visible,
.mipta-cta-card--pta-purple :focus-visible,
.mipta-cta-card--pta-teal :focus-visible,
.mipta-cta-card--pta-orange :focus-visible {
	outline-color: var(--wp--preset--color--pta-gold);
	box-shadow: 0 0 0 6px rgba(0, 0, 0, 0.35);
}

/* -------------------------- 2. Accessibility helpers --------------------- */

.mipta-skip-link {
	position: absolute;
	left: 1rem; top: 1rem;
	background: var(--wp--preset--color--pta-blue);
	color: var(--wp--preset--color--white);
	padding: 0.75rem 1rem;
	border-radius: 4px;
	text-decoration: none;
	font-weight: 700;
	transform: translateY(-200%);
	transition: transform 0.15s ease-in-out;
	z-index: 10000;
}
.mipta-skip-link:focus { transform: translateY(0); }

.screen-reader-text {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px);
	width: 1px; height: 1px;
	overflow: hidden;
	white-space: nowrap;
	border: 0; padding: 0;
}

/* -------------------------- 3. Layout helpers --------------------------- */

.mipta-main { padding-block: 0; }
.mipta-main--front { padding-block-start: 0; padding-inline: 0; }

/* Plain pages (Privacy Policy, etc.) have no hero, so the title + content would
   otherwise sit flush against the header and footer. Give them breathing room.
   Scoped to .mipta-page so hero templates (About, Membership…) are unaffected. */
.mipta-page { padding-block: clamp(2.5rem, 6vw, 5rem); }
.mipta-page .mipta-page__title { margin-block-end: clamp(1rem, 3vw, 1.75rem); }

.mipta-container {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
}

/* -------------------------- 4. Buttons ---------------------------------- */

.mipta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	padding: 0.625rem 1.4rem;
	line-height: 1.25;        /* keep button height tight regardless of inherited body line-height */
	border: 2px solid transparent;
	border-radius: 10px;
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 700;
	font-size: var(--mipta-fs-body);
	letter-spacing: 0.01em;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 150ms ease, color 150ms ease, transform 150ms ease;
	background: var(--wp--preset--color--pta-blue);
	color: var(--wp--preset--color--white);
}
.mipta-btn:hover, .mipta-btn:focus-visible {
	background: var(--wp--preset--color--pta-blue-dark);
	color: var(--wp--preset--color--white);
	text-decoration: none;
}
.mipta-btn--gold {
	background: var(--wp--preset--color--pta-gold);
	color: var(--wp--preset--color--body-ink);
}
.mipta-btn--gold:hover, .mipta-btn--gold:focus-visible {
	background: var(--wp--preset--color--pta-gold-dark);
	color: var(--wp--preset--color--white);
}
.mipta-btn--white {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--body-ink);
}
.mipta-btn--white:hover, .mipta-btn--white:focus-visible {
	background: var(--wp--preset--color--off-white);
	color: var(--wp--preset--color--pta-blue-dark);
}
.mipta-btn--ghost {
	background: transparent;
	color: var(--wp--preset--color--pta-blue);
	border-color: currentColor;
}
.mipta-btn--ghost:hover, .mipta-btn--ghost:focus-visible {
	background: var(--wp--preset--color--pta-blue);
	color: var(--wp--preset--color--white);
}

/* -------------------------- 5. Header ----------------------------------- */

.mipta-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: saturate(180%) blur(10px);
	-webkit-backdrop-filter: saturate(180%) blur(10px);
	border-bottom: 1px solid transparent;
	transition: border-color 200ms ease, box-shadow 200ms ease, background-color 200ms ease;
}
.mipta-header.is-stuck {
	border-bottom-color: rgba(0, 47, 108, 0.08);
	box-shadow: 0 4px 16px rgba(0, 47, 108, 0.06);
	background: rgba(255, 255, 255, 0.97);
}
.mipta-header__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding: 0.25rem var(--mipta-container-pad);
	display: flex;
	align-items: center;
	gap: clamp(1rem, 3vw, 2.5rem);
	min-height: 0;
	/* Note: position: relative removed so the mobile drawer panel positions
	   against .mipta-header (full viewport width) instead of being constrained
	   to the 1200px inner container. .mipta-header is already position:sticky
	   which provides the containing block. */
}

/* Logo */
.mipta-header__logo {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	line-height: 0;
}
.mipta-header__logo img {
	max-height: 68px;
	width: auto;
	height: auto;
	display: block;
}

/* Right-side group: nav + CTA */
.mipta-header__panel {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: clamp(1rem, 2.5vw, 2.5rem);
}

/* Nav */
.mipta-header__nav { display: flex; }
.mipta-header__menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: clamp(0.25rem, 1.4vw, 1.5rem);
	flex-wrap: nowrap;
	align-items: center;
}
.mipta-header__menu a {
	display: inline-block;
	text-decoration: none;
	color: var(--wp--preset--color--body-ink);
	font-weight: 600;
	padding: 0.375rem 0.5rem;
	border-bottom: 2px solid transparent;
	border-radius: 4px;
	transition: border-color 150ms ease, color 150ms ease;
	white-space: nowrap;
}
.mipta-header__menu a:hover,
.mipta-header__menu a:focus-visible,
.mipta-header__menu .current-menu-item > a,
.mipta-header__menu .current_page_item > a {
	color: var(--wp--preset--color--pta-blue);
	border-bottom-color: var(--wp--preset--color--pta-gold);
}

/* CTA */
.mipta-header__cta { flex-shrink: 0; }
.mipta-header__cta .mipta-btn {
	padding: 0.625rem 1.25rem;
	font-size: var(--mipta-fs-small);
}

/* Hamburger toggle — hidden at desktop. Icon-only; label is sr-only. */
.mipta-header__toggle {
	display: none;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 0;
	cursor: pointer;
	padding: 0.625rem;
	margin-left: auto;
	border-radius: 8px;
	color: var(--wp--preset--color--body-ink);
	width: 48px;
	height: 48px;
}
.mipta-header__toggle:hover { background: var(--wp--preset--color--neutral-100); }
.mipta-header__toggle-icon {
	width: 26px; height: 20px;
	position: relative;
	display: inline-block;
}
.mipta-header__toggle-icon span {
	position: absolute; left: 0; right: 0;
	height: 2.5px;
	background: currentColor;
	border-radius: 2px;
	transition: transform 200ms ease, opacity 200ms ease, top 200ms ease;
}
.mipta-header__toggle-icon span:nth-child(1) { top: 0; }
.mipta-header__toggle-icon span:nth-child(2) { top: 9px; }
.mipta-header__toggle-icon span:nth-child(3) { top: 18px; }
.mipta-header__toggle[aria-expanded="true"] .mipta-header__toggle-icon span:nth-child(1) { top: 9px; transform: rotate(45deg); }
.mipta-header__toggle[aria-expanded="true"] .mipta-header__toggle-icon span:nth-child(2) { opacity: 0; }
.mipta-header__toggle[aria-expanded="true"] .mipta-header__toggle-icon span:nth-child(3) { top: 9px; transform: rotate(-45deg); }

/* ---------- Mobile header (≤ 899px): hamburger on, panel becomes drawer ---------- */
@media (max-width: 899px) {
	.mipta-header__logo img { max-height: 52px; }
	.mipta-header__toggle { display: inline-flex; }
	.mipta-header__panel {
		position: fixed;             /* viewport-fixed so it spans the full screen width AND sticks while scrolling */
		top: var(--mipta-header-h, 60px);
		left: 0;
		right: 0;
		bottom: auto;
		margin-left: 0;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 0;
		padding: 0;
		background: var(--wp--preset--color--white);
		border-top: 1px solid var(--wp--preset--color--neutral-200);
		box-shadow: 0 12px 28px rgba(0, 47, 108, 0.12);
		max-height: 0;
		overflow: hidden;
		opacity: 0;
		visibility: hidden;
		transition: max-height 250ms ease, opacity 200ms ease, visibility 0s linear 250ms;
		z-index: 49;                 /* under the sticky header (z-50) so the header sits above */
	}
	.mipta-header__panel.is-open {
		/* Stretch the drawer from below the header all the way to the bottom
		   of the viewport so it always looks like a full-screen menu, even
		   when there are only a handful of items. dvh handles mobile browser
		   chrome (Safari address bar etc.) without leaving a gap. */
		bottom: 0;
		max-height: calc(100dvh - var(--mipta-header-h, 60px));
		height: calc(100dvh - var(--mipta-header-h, 60px));
		overflow-y: auto;
		opacity: 1;
		visibility: visible;
		transition: max-height 250ms ease, opacity 200ms ease, visibility 0s linear 0s;
	}
	.mipta-header__nav { width: 100%; padding: 0.5rem 0; }
	.mipta-header__menu {
		flex-direction: column;
		gap: 0;
		align-items: stretch;
		width: 100%;
	}
	.mipta-header__menu li {
		display: block;
		width: 100%;
		border-bottom: 1px solid var(--wp--preset--color--neutral-100);
	}
	.mipta-header__menu li:last-child { border-bottom: 0; }
	.mipta-header__menu a {
		display: block;
		width: 100%;
		padding: 1rem clamp(1rem, 3vw, 2rem);
		font-size: var(--mipta-fs-large);
		border-radius: 0;
		border-bottom: 0;
	}
	.mipta-header__menu a:hover,
	.mipta-header__menu .current-menu-item > a,
	.mipta-header__menu .current_page_item > a {
		background: var(--wp--preset--color--off-white);
		border-bottom: 0;
	}
	.mipta-header__cta { padding: 1rem clamp(1rem, 3vw, 2rem) 1.5rem; }
	.mipta-header__cta .mipta-btn { width: 100%; padding: 1rem 1.5rem; font-size: var(--mipta-fs-body); }
}

/* Stop body scroll while mobile menu open */
body.mipta-nav-open { overflow: hidden; }

/* -------------------------- 6. Hero ------------------------------------- */

.mipta-hero {
	position: relative;
	display: flex;
	align-items: center;
	overflow: hidden;
	color: var(--wp--preset--color--white);
	isolation: isolate;
}
.mipta-hero__bg {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	object-position: center 40%; /* keep faces in frame when the band is short */
	z-index: -2;
}
.mipta-hero__overlay { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.mipta-hero__overlay-tint,
.mipta-hero__overlay-grad { position: absolute; inset: 0; }
.mipta-hero__overlay-grad--left {
	background:
		linear-gradient(90deg, rgba(0, 47, 108, 0.75) 0%, rgba(0, 47, 108, 0.5) 35%, rgba(0, 47, 108, 0.15) 65%, rgba(0, 47, 108, 0) 90%),
		linear-gradient(180deg, rgba(0, 47, 108, 0) 50%, rgba(0, 47, 108, 0.35) 100%);
}
.mipta-hero__overlay-grad--center {
	background: linear-gradient(180deg, rgba(0, 47, 108, 0) 0%, rgba(0, 47, 108, 0.25) 40%, rgba(0, 47, 108, 0.55) 100%);
}
.mipta-hero__inner {
	max-width: var(--mipta-container-max);
	width: 100%;
	margin-inline: auto;
	padding: var(--mipta-section-pad-y) var(--mipta-container-pad);
	display: flex;
	flex-direction: column;
	gap: clamp(0.75rem, 1.5vw, 1.25rem);
}
.mipta-hero--center .mipta-hero__inner { text-align: center; align-items: center; }
.mipta-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	font-size: var(--mipta-fs-small);
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin: 0;
	color: var(--wp--preset--color--white);
	opacity: 0.95;
}
.mipta-hero__eyebrow::before {
	content: "";
	width: 36px;
	height: 2px;
	background: var(--wp--preset--color--pta-gold);
	flex-shrink: 0;
}
.mipta-hero--center .mipta-hero__eyebrow::before { display: none; }
.mipta-hero__headline {
	font-size: clamp(2.25rem, 4.5vw, 3.75rem);  /* 36 → 60 px */
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.02em;
	margin: 0;
	max-width: 18ch;
	color: var(--wp--preset--color--white);
	text-wrap: balance;
	text-shadow: 0 2px 14px rgba(0, 12, 30, 0.35);
}
.mipta-hero--center .mipta-hero__headline { margin-inline: auto; }
.mipta-hero__body {
	margin: 0;
	font-size: var(--mipta-fs-large);
	max-width: 52ch;
	line-height: 1.5;
	opacity: 0.96;
	text-shadow: 0 1px 8px rgba(0, 12, 30, 0.4);
}
.mipta-hero--center .mipta-hero__body { margin-inline: auto; }
.mipta-hero__cta { margin: 0.75rem 0 0; }

/* -------------------------- 7. Pathways --------------------------------- */

.mipta-pathways {
	background: var(--wp--preset--color--off-white);
	padding: var(--mipta-section-pad-y) 0;
	position: relative;
	z-index: 1;
}
.mipta-pathways__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
}
.mipta-pathways__heading {
	font-size: var(--mipta-fs-h2);
	font-weight: 800;
	line-height: 1.1;
	margin: 0 0 2rem;
	text-align: center;
	color: var(--wp--preset--color--body-ink);
	text-wrap: balance;
}
.mipta-pathways__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1rem, 3vw, 2rem);
}
@media (min-width: 800px) {
	.mipta-pathways__grid { grid-template-columns: 1fr 1fr; }
}

.mipta-pathway-card {
	background: var(--wp--preset--color--white);
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 4px 24px rgba(0, 47, 108, 0.08);
	display: flex;
	flex-direction: column;
	border-block-start: 6px solid var(--wp--preset--color--pta-blue);
	transition: transform 200ms ease, box-shadow 200ms ease;
}
.mipta-pathway-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 36px rgba(0, 47, 108, 0.16);
}
.mipta-pathway-card--pta-purple { border-block-start-color: var(--wp--preset--color--pta-purple); }
.mipta-pathway-card--pta-teal   { border-block-start-color: var(--wp--preset--color--pta-teal); }
.mipta-pathway-card--pta-orange { border-block-start-color: var(--wp--preset--color--pta-orange); }
.mipta-pathway-card--pta-green  { border-block-start-color: var(--wp--preset--color--pta-green); }

.mipta-pathway-card__media {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--wp--preset--color--neutral-100);
}
.mipta-pathway-card__media img {
	width: 100%; height: 100%;
	object-fit: cover;
}
.mipta-pathway-card__body {
	padding: clamp(1.5rem, 3vw, 2.25rem);
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
}
.mipta-pathway-card__eyebrow {
	font-size: var(--mipta-fs-small);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--pta-blue);
	margin: 0;
}
.mipta-pathway-card--pta-purple .mipta-pathway-card__eyebrow { color: var(--wp--preset--color--pta-purple); }
.mipta-pathway-card--pta-teal   .mipta-pathway-card__eyebrow { color: var(--wp--preset--color--pta-teal); }
.mipta-pathway-card--pta-orange .mipta-pathway-card__eyebrow { color: var(--wp--preset--color--pta-orange); }
.mipta-pathway-card--pta-green  .mipta-pathway-card__eyebrow { color: var(--wp--preset--color--pta-green); }
.mipta-pathway-card__title {
	font-size: var(--mipta-fs-h3);
	font-weight: 800;
	line-height: 1.1;
	margin: 0;
	color: var(--wp--preset--color--body-ink);
}
.mipta-pathway-card__desc {
	font-size: var(--mipta-fs-body);
	line-height: 1.55;
	color: var(--wp--preset--color--neutral-600);
	margin: 0;
}
.mipta-pathway-card__chips {
	list-style: none;
	margin: 0.25rem 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.mipta-pathway-card__chips li {
	background: var(--wp--preset--color--neutral-100);
	color: var(--wp--preset--color--neutral-800);
	font-size: var(--mipta-fs-small);
	font-weight: 600;
	padding: 0.4rem 0.85rem;
	border-radius: 999px;
	line-height: 1;
}
.mipta-pathway-card--pta-purple .mipta-pathway-card__chips li { background: rgba(131, 49, 119, 0.08); color: var(--wp--preset--color--pta-purple); }
.mipta-pathway-card--pta-teal   .mipta-pathway-card__chips li { background: rgba(0, 119, 139, 0.08); color: var(--wp--preset--color--pta-teal); }
.mipta-pathway-card--pta-orange .mipta-pathway-card__chips li { background: rgba(216, 96, 24, 0.10); color: var(--wp--preset--color--pta-orange); }
.mipta-pathway-card--pta-green  .mipta-pathway-card__chips li { background: rgba(71, 162, 63, 0.10); color: #2f7029; }
.mipta-pathway-card__chips li:hover {
	filter: brightness(0.95);
}
.mipta-pathway-card .mipta-btn {
	margin-block-start: auto;
	align-self: flex-start;
}

/* -------------------------- 8. Mission ---------------------------------- */

.mipta-mission {
	padding: var(--mipta-section-pad-y) 0;
	position: relative;
	text-align: center;
}
.mipta-mission--white { background: var(--wp--preset--color--white); }
.mipta-mission--off-white { background: var(--wp--preset--color--off-white); }
.mipta-mission--pta-blue { background: var(--wp--preset--color--pta-blue); color: var(--wp--preset--color--white); }
.mipta-mission__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
	position: relative;
}
.mipta-mission__inner::before {
	content: "";
	display: block;
	width: 56px;
	height: 4px;
	border-radius: 2px;
	background: var(--wp--preset--color--pta-gold);
	margin: 0 auto 1.5rem;        /* centered above the eyebrow */
}
.mipta-mission__eyebrow {
	font-size: var(--mipta-fs-small);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin: 0 0 1rem;
	color: var(--wp--preset--color--pta-blue);
}
.mipta-mission--pta-blue .mipta-mission__eyebrow { color: var(--wp--preset--color--pta-gold); }
.mipta-mission__body {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: clamp(1.125rem, 1.8vw, 1.5rem);  /* 18 → 24 px — under H2, above body */
	line-height: 1.5;
	margin: 0 auto;                            /* centered horizontally */
	color: var(--wp--preset--color--neutral-800);
	max-width: var(--mipta-prose-max);
	text-wrap: balance;
}
.mipta-mission--pta-blue .mipta-mission__body { color: var(--wp--preset--color--white); }

/* -------------------------- 9. Impact Stats ----------------------------- */

.mipta-stats {
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-stats--off-white { background: var(--wp--preset--color--off-white); color: var(--wp--preset--color--body-ink); }
.mipta-stats--white     { background: var(--wp--preset--color--white); }
.mipta-stats--pta-blue  { background: var(--wp--preset--color--pta-blue); color: var(--wp--preset--color--white); }
.mipta-stats__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
	text-align: center;
}
.mipta-stats__eyebrow {
	font-size: var(--mipta-fs-small);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0 0 0.5rem;
	color: var(--wp--preset--color--pta-gold);
}
.mipta-stats__heading {
	font-size: var(--mipta-fs-h2);
	font-weight: 800;
	line-height: 1.1;
	margin: 0 0 1rem;
	text-wrap: balance;
}
.mipta-stats__intro {
	font-size: var(--mipta-fs-large);
	max-width: 60ch;
	margin: 0 auto 3rem;
	opacity: 0.92;
}
.mipta-stats__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	margin: 0;
}
/* Default count (3 or 5+): 3 across on tablet+ */
@media (min-width: 640px) { .mipta-stats__grid { grid-template-columns: repeat(3, 1fr); } }

/* Count-aware overrides — keep every row visually balanced.
   - 2 stats: 2 across at all widths
   - 4 stats: 2x2 on tablet, 4 across on desktop
   - 6 stats: 3x2 on tablet, 6 across on desktop */
.mipta-stats__grid--count-2 { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 640px) {
	.mipta-stats__grid--count-2 { grid-template-columns: repeat(2, 1fr); }
	.mipta-stats__grid--count-4 { grid-template-columns: repeat(2, 1fr); }
	.mipta-stats__grid--count-6 { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 980px) {
	.mipta-stats__grid--count-4 { grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
	.mipta-stats__grid--count-6 { grid-template-columns: repeat(6, 1fr); gap: 1.25rem; }
}
.mipta-stat {
	text-align: center;
	padding: 1rem 0.5rem;
	border-radius: 12px;
	transition: background-color 200ms ease, transform 200ms ease;
}
.mipta-stat:hover {
	background: rgba(255, 255, 255, 0.06);
	transform: translateY(-2px);
}
.mipta-stat__value {
	font-family: var(--wp--preset--font-family--sans);
	font-size: clamp(2.75rem, 7vw, 5.5rem);
	font-weight: 900;
	line-height: 1;
	color: var(--wp--preset--color--pta-gold);
	letter-spacing: -0.03em;
	display: block;
	margin: 0;
	font-variant-numeric: tabular-nums;
}
.mipta-stat__label {
	font-size: var(--mipta-fs-body);
	font-weight: 500;
	line-height: 1.4;
	margin: 0.75rem 0 0;
	opacity: 0.92;
	max-width: 24ch;
	margin-inline: auto;
}

/* -------------------------- 10. Advocacy Wins --------------------------- */

.mipta-wins {
	background: var(--wp--preset--color--white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-wins__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
	text-align: center;
}
.mipta-wins__eyebrow {
	font-size: var(--mipta-fs-small);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0 0 0.5rem;
	color: var(--wp--preset--color--pta-blue);
}
.mipta-wins__heading {
	font-size: var(--mipta-fs-h2);
	font-weight: 800;
	line-height: 1.1;
	margin: 0 0 3rem;
	max-width: 22ch;
	margin-inline: auto;
	text-wrap: balance;
}
.mipta-wins__grid {
	list-style: none;
	padding: 0; margin: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
	margin-block-start: 2.5rem;
}
@media (min-width: 640px) { .mipta-wins__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 980px) { .mipta-wins__grid { grid-template-columns: repeat(6, 1fr); gap: 1rem; } }
.mipta-win {
	background: var(--wp--preset--color--off-white);
	border-radius: 14px;
	padding: 1.5rem 1rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.875rem;
	text-align: center;
	transition: background-color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
	border: 1px solid transparent;
}
.mipta-win:hover {
	background: var(--wp--preset--color--white);
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(0, 47, 108, 0.08);
	border-color: var(--wp--preset--color--neutral-200);
}
.mipta-win__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px; height: 52px;
	border-radius: 50%;
	background: var(--wp--preset--color--pta-blue);
	color: var(--wp--preset--color--white);
	flex-shrink: 0;
	transition: background-color 200ms ease;
}
.mipta-win:hover .mipta-win__icon {
	background: var(--wp--preset--color--pta-gold);
	color: var(--wp--preset--color--pta-blue-dark);
}
.mipta-win__icon svg { width: 28px; height: 28px; fill: currentColor; }
.mipta-win__label {
	font-size: var(--mipta-fs-small);
	font-weight: 600;
	line-height: 1.3;
	color: var(--wp--preset--color--body-ink);
}

/* -------------------------- 11. Featured / Programs --------------------- */

.mipta-featured {
	background: var(--wp--preset--color--off-white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-featured__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
}
.mipta-featured__eyebrow {
	font-size: var(--mipta-fs-small);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0 0 0.5rem;
	color: var(--wp--preset--color--pta-blue);
	text-align: center;
}
.mipta-featured__heading {
	font-size: var(--mipta-fs-h2);
	font-weight: 800;
	line-height: 1.1;
	margin: 0 0 1rem;
	text-align: center;
	text-wrap: balance;
}
.mipta-featured__intro {
	font-size: var(--mipta-fs-large);
	max-width: 60ch;
	margin: 0 auto 3rem;
	text-align: center;
	color: var(--wp--preset--color--neutral-600);
}
.mipta-featured__grid {
	list-style: none;
	padding: 0; margin: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1rem, 3vw, 2rem);
}
@media (min-width: 740px) {
	.mipta-featured--count-2 .mipta-featured__grid { grid-template-columns: 1fr 1fr; }
	.mipta-featured--count-3 .mipta-featured__grid { grid-template-columns: repeat(3, 1fr); }
	.mipta-featured--count-4 .mipta-featured__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1080px) {
	.mipta-featured--count-4 .mipta-featured__grid { grid-template-columns: repeat(4, 1fr); }
}

.mipta-featured-card {
	background: var(--wp--preset--color--white);
	border-radius: 18px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 4px 20px rgba(0, 47, 108, 0.06);
	transition: transform 200ms ease, box-shadow 200ms ease;
}
.mipta-featured-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 36px rgba(0, 47, 108, 0.12);
}
.mipta-featured-card__media { aspect-ratio: 4 / 3; overflow: hidden; background: var(--wp--preset--color--neutral-100); }
.mipta-featured-card__media img { width: 100%; height: 100%; object-fit: cover; }
.mipta-featured-card__body {
	padding: clamp(1.25rem, 2vw, 2rem);
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	flex: 1;
}
.mipta-featured-card__title {
	font-size: var(--mipta-fs-x-large);
	font-weight: 800;
	line-height: 1.15;
	margin: 0;
	color: var(--wp--preset--color--body-ink);
}
.mipta-featured-card__desc {
	margin: 0;
	color: var(--wp--preset--color--neutral-600);
	line-height: 1.55;
}
.mipta-featured-card__link {
	font-weight: 700;
	margin-block-start: auto;
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	text-decoration: none;
	color: var(--wp--preset--color--pta-blue);
}
.mipta-featured-card__link:hover { text-decoration: underline; }

/* -------------------------- 12. Twin CTA cards -------------------------- */

.mipta-cta-pair {
	padding: var(--mipta-section-pad-y) 0;
	background: var(--wp--preset--color--white);
}
.mipta-cta-pair__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
}
.mipta-cta-pair__heading {
	font-size: var(--mipta-fs-h2);
	font-weight: 800;
	line-height: 1.1;
	margin: 0 0 2rem;
	text-align: center;
	color: var(--wp--preset--color--body-ink);
	text-wrap: balance;
}
.mipta-cta-pair__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1rem, 3vw, 2rem);
}
@media (min-width: 800px) {
	.mipta-cta-pair__grid { grid-template-columns: 1fr 1fr; }
}

.mipta-cta-card {
	color: var(--wp--preset--color--white);
	border-radius: 20px;
	padding: clamp(2rem, 4vw, 3rem);
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	min-height: 280px;
	background: var(--wp--preset--color--pta-blue);
	position: relative;
	overflow: hidden;
}
.mipta-cta-card::after {
	content: '';
	position: absolute;
	right: -40px; top: -40px;
	width: 200px; height: 200px;
	border-radius: 50%;
	background: rgba(255,255,255,0.07);
	pointer-events: none;
}
.mipta-cta-card--pta-gold {
	background: var(--wp--preset--color--pta-gold);
	color: var(--wp--preset--color--body-ink);
}
.mipta-cta-card--pta-gold::after { background: rgba(0,0,0,0.05); }
.mipta-cta-card--pta-orange { background: var(--wp--preset--color--pta-orange); }
.mipta-cta-card--pta-purple { background: var(--wp--preset--color--pta-purple); }
.mipta-cta-card--pta-teal   { background: var(--wp--preset--color--pta-teal); }
.mipta-cta-card--pta-green  { background: var(--wp--preset--color--pta-green); }
.mipta-cta-card__eyebrow {
	font-size: var(--mipta-fs-small);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0;
	opacity: 0.85;
}
.mipta-cta-card__title {
	font-size: var(--mipta-fs-h3);
	font-weight: 800;
	line-height: 1.1;
	margin: 0;
	text-wrap: balance;
}
.mipta-cta-card__desc {
	margin: 0;
	font-size: var(--mipta-fs-large);
	line-height: 1.45;
	max-width: 38ch;
}
.mipta-cta-card .mipta-btn {
	margin-block-start: auto;
	align-self: flex-start;
	position: relative;
	z-index: 1;
}
.mipta-cta-card .mipta-btn:hover {
	transform: translateY(-1px);
}

/* Solo CTA — single card spanning the full row (e.g., advocacy/membership pages).
   Left-aligned to match every other section's left edge; max-width keeps the
   text readable. */
.mipta-cta-card--solo {
	grid-column: 1 / -1;
	min-height: 0;
	padding: clamp(2rem, 4vw, 2.75rem);
}
.mipta-cta-card--solo .mipta-cta-card__title,
.mipta-cta-card--solo .mipta-cta-card__desc {
	max-width: var(--mipta-prose-max);
}

/* -------------------------- 13. Footer ---------------------------------- */

.mipta-footer {
	background: var(--wp--preset--color--pta-blue);
	color: var(--wp--preset--color--white);
	padding: var(--mipta-section-pad-y) 0 0;
}
.mipta-footer__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
	display: grid;
	gap: 2.5rem;
	grid-template-columns: 1fr;
}
@media (min-width: 640px) {
	.mipta-footer__inner { grid-template-columns: repeat(2, 1fr); }
	.mipta-footer__col--org { grid-column: 1 / -1; } /* org spans full width on tablet */
}
@media (min-width: 980px) {
	.mipta-footer__inner { grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 3rem; }
	.mipta-footer__col--org { grid-column: auto; }
}

.mipta-footer__logo img {
	max-height: 100px;
	width: auto;
	height: auto;
	margin-block-end: 1rem;
	display: block;
}
.mipta-footer__desc {
	font-size: var(--mipta-fs-small);
	line-height: 1.6;
	opacity: 0.85;
	margin: 0 0 1.25rem;
	max-width: 32ch;
}
.mipta-footer__heading {
	font-size: var(--mipta-fs-body);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--pta-gold);
	margin: 0 0 1rem;
}
.mipta-footer__links {
	list-style: none;
	padding: 0; margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}
.mipta-footer__links a {
	color: var(--wp--preset--color--white);
	text-decoration: none;
	font-size: var(--mipta-fs-small);
	opacity: 0.85;
	transition: opacity 150ms ease, color 150ms ease;
}
.mipta-footer__links a:hover, .mipta-footer__links a:focus-visible {
	opacity: 1;
	color: var(--wp--preset--color--pta-gold);
	text-decoration: underline;
}
.mipta-footer__links a[data-placeholder] {
	cursor: default;
	opacity: 0.55;
}
.mipta-footer__links a[data-placeholder]:hover {
	color: var(--wp--preset--color--white);
	text-decoration: none;
}
.mipta-footer__social {
	list-style: none;
	padding: 0; margin: 0;
	display: flex;
	gap: 0.75rem;
}
.mipta-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px; height: 40px;
	border-radius: 50%;
	background: rgba(255,255,255,0.12);
	color: var(--wp--preset--color--white);
	transition: background-color 150ms ease;
}
.mipta-footer__social a:hover, .mipta-footer__social a:focus-visible {
	background: var(--wp--preset--color--pta-gold);
	color: var(--wp--preset--color--pta-blue-dark);
}
.mipta-footer__social svg { fill: currentColor; }

.mipta-footer__legal {
	border-block-start: 1px solid rgba(255,255,255,0.1);
	margin-block-start: 3rem;
	padding: 1.25rem clamp(1.25rem, 4vw, 3rem);
	font-size: var(--mipta-fs-small);
	opacity: 0.7;
	text-align: center;
}
.mipta-footer__legal p { margin: 0; }

/* -------------------------- 13b. Google Translate ----------------------- */
/* Google injects a top iframe banner + offsets <body> by ~40px when the
   page is translated. Kill both — we render a clean inline select instead. */
body { top: 0 !important; position: static !important; }
.skiptranslate iframe.goog-te-banner-frame,
iframe.goog-te-banner-frame,
.goog-te-banner-frame { display: none !important; visibility: hidden !important; }
/* Suppress Google's tooltip/hover balloon on translated words. */
.goog-tooltip, .goog-tooltip:hover, .goog-text-highlight {
	background: none !important;
	box-shadow: none !important;
	border: none !important;
}

/* Strip the gadget's default "Powered by Google" line + logo so we can show
   our own credit in the footer and nothing in the header. */
.goog-te-gadget {
	font-size: 0 !important;
	color: transparent !important;
	line-height: 0 !important;
}
.goog-te-gadget > span,
.goog-te-gadget img,
.goog-logo-link,
.goog-te-gadget-icon { display: none !important; }

.mipta-translate {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	flex-shrink: 0;
	flex-wrap: wrap;
}
.mipta-translate__icon {
	flex-shrink: 0;
	opacity: 0.7;
	fill: currentColor;
	color: var(--wp--preset--color--body-ink);
	width: 16px;
	height: 16px;
}
.mipta-translate__widget { display: inline-flex; }

/* Native select rendered by Google + the hand-rolled footer mirror — share
   the pill-button styling so header and footer feel identical. Kept compact
   so it doesn't crowd the primary nav. */
.mipta-translate .goog-te-combo,
.mipta-translate__mirror {
	font-family: inherit;
	font-size: 0.8125rem;          /* 13px — slightly smaller than nav links */
	line-height: 1.2;
	color: var(--wp--preset--color--body-ink);
	background: transparent;
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 999px;
	padding: 0.25rem 1.5rem 0.25rem 0.5rem;  /* extra right pad for native chevron */
	margin: 0;
	cursor: pointer;
	max-width: 110px;
	min-width: 0;
	transition: border-color 150ms ease, background-color 150ms ease, color 150ms ease;
}
.mipta-translate .goog-te-combo:hover,
.mipta-translate .goog-te-combo:focus-visible,
.mipta-translate__mirror:hover,
.mipta-translate__mirror:focus-visible {
	border-color: var(--wp--preset--color--pta-blue);
	color: var(--wp--preset--color--pta-blue);
}

/* Header variant — sits next to the Join CTA on desktop, below nav on mobile. */
.mipta-translate--header { order: 0; }
@media (max-width: 899px) {
	.mipta-translate--header {
		padding: 0.5rem clamp(1rem, 3vw, 2rem);
		border-top: 1px solid var(--wp--preset--color--neutral-100);
		width: 100%;
	}
}

/* Footer variant — sits in the org column, dark background. */
.mipta-translate--footer {
	margin-top: 1.25rem;
	flex-direction: row;
	align-items: center;
}
.mipta-translate--footer .mipta-translate__icon { opacity: 0.85; color: #fff; }
.mipta-translate--footer .goog-te-combo,
.mipta-translate--footer .mipta-translate__mirror {
	color: var(--wp--preset--color--white);
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.2);
}
.mipta-translate--footer .goog-te-combo:hover,
.mipta-translate--footer .goog-te-combo:focus-visible,
.mipta-translate--footer .mipta-translate__mirror:hover,
.mipta-translate--footer .mipta-translate__mirror:focus-visible {
	background: rgba(255, 255, 255, 0.15);
	border-color: var(--wp--preset--color--pta-gold);
	color: var(--wp--preset--color--pta-gold);
}
.mipta-translate--footer .goog-te-combo option,
.mipta-translate--footer .mipta-translate__mirror option {
	color: #000;
	background: #fff;
}
.mipta-translate__credit {
	flex-basis: 100%;
	margin: 0.5rem 0 0;
	font-size: 0.75rem;
	opacity: 0.55;
}

/* -------------------------- 14b. Archive + Detail pages ----------------- */

/* Archive shared shell */
.mipta-archive__hero {
	padding: var(--mipta-section-pad-y) 0;
	color: var(--wp--preset--color--white);
	background: var(--wp--preset--color--pta-blue);
	position: relative;          /* anchor for the absolutely-positioned background image */
	overflow: hidden;            /* prevent the photo from bleeding into the next section */
	isolation: isolate;
}
.mipta-archive__hero-inner { position: relative; z-index: 1; }
.mipta-archive__hero .mipta-detail__hero-bg,
.mipta-archive__hero .mipta-detail__hero-overlay { z-index: 0; }
.mipta-archive__hero--white {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--body-ink);
}
.mipta-archive__hero-inner,
.mipta-archive__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
}
.mipta-archive__eyebrow {
	font-size: var(--mipta-fs-small);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin: 0 0 0.5rem;
	color: var(--wp--preset--color--pta-gold);
}
.mipta-archive__hero--white .mipta-archive__eyebrow { color: var(--wp--preset--color--pta-blue); }
.mipta-archive__title {
	font-size: var(--mipta-fs-h1);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.02em;
	margin: 0 0 0.75rem;
	text-wrap: balance;
}
.mipta-archive__lede {
	font-size: var(--mipta-fs-large);
	max-width: 60ch;
	margin: 0;
	opacity: 0.92;
	line-height: 1.5;
}

.mipta-archive__filters {
	padding: 1.25rem 0;
	background: var(--wp--preset--color--off-white);
	border-bottom: 1px solid var(--wp--preset--color--neutral-200);
}

/* Search-results chip-row filter (single-select). Different visual treatment
   from the multi-select dropdown bar used on /resources/ and /advocacy/,
   but pill chips so the language reads as "options to pick from". */
.mipta-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
}
.mipta-filter__label {
	font-size: var(--mipta-fs-small);
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-600);
	margin-right: 0.25rem;
}
.mipta-filter__chips {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 0.5rem;
}
.mipta-filter__chip {
	display: inline-flex;
	align-items: center;
	padding: 0.4rem 0.9rem;
	border-radius: 999px;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--neutral-200);
	color: var(--wp--preset--color--body-ink);
	text-decoration: none;
	font-size: var(--mipta-fs-small);
	font-weight: 600;
	line-height: 1.2;
	transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease, box-shadow 150ms ease;
}
.mipta-filter__chip:hover {
	border-color: var(--wp--preset--color--pta-blue);
	color: var(--wp--preset--color--pta-blue);
}
.mipta-filter__chip:focus-visible {
	outline: 2px solid var(--wp--preset--color--pta-blue);
	outline-offset: 2px;
}
.mipta-filter__chip.is-active {
	background: var(--wp--preset--color--pta-blue);
	border-color: var(--wp--preset--color--pta-blue);
	color: var(--wp--preset--color--white);
	box-shadow: 0 2px 6px rgba(0, 47, 108, 0.18);
}
.mipta-filter__chip.is-active:hover {
	background: var(--wp--preset--color--pta-blue-dark, #002f6c);
	color: var(--wp--preset--color--white);
}
.mipta-archive__results {
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-archive__empty {
	font-size: var(--mipta-fs-large);
	color: var(--wp--preset--color--neutral-600);
	text-align: center;
	padding: 3rem 1rem;
}

/* ========== Filter bar ========== */

.mipta-filterbar-wrap {
	background: var(--wp--preset--color--white);
	border-bottom: 1px solid var(--wp--preset--color--neutral-200);
	padding: 0;
}

/* Toolbar row: filter dropdowns + (optional) inline search on a single line.
   Wraps to multi-line on narrow viewports — search drops to its own row below
   the dropdowns and stretches full width. */
.mipta-filterbar__row {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding: 0.875rem var(--mipta-container-pad);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
}
.mipta-filterbar__row--has-search .mipta-filterbar {
	flex: 0 0 auto;            /* dropdowns take their natural width */
	padding: 0;
}
.mipta-filterbar__row--has-search .mipta-inline-search {
	flex: 1 1 280px;           /* search fills remaining space, wraps under at <560px */
	max-width: none;
	margin: 0;
}
/* Standalone filterbar (no inline search sibling — used by /advocacy/ etc.) */
.mipta-filterbar {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding: 0.875rem var(--mipta-container-pad);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.625rem;
}

.mipta-filterbar__groups {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.mipta-filterbar__group {
	position: relative;
}

.mipta-filterbar__summary {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 0.875rem;
	background: var(--wp--preset--color--off-white);
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 999px;
	font-size: var(--mipta-fs-small);
	font-weight: 600;
	color: var(--wp--preset--color--body-ink);
	cursor: pointer;
	list-style: none;                /* remove default details marker */
	user-select: none;
	transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}
.mipta-filterbar__summary::-webkit-details-marker { display: none; }
.mipta-filterbar__summary:hover {
	background: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--neutral-400);
}
.mipta-filterbar__group[open] .mipta-filterbar__summary {
	background: var(--wp--preset--color--pta-blue);
	color: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--pta-blue);
}
.mipta-filterbar__group[open] .mipta-filterbar__chevron { transform: rotate(180deg); }
.mipta-filterbar__chevron { transition: transform 150ms ease; line-height: 1; }
.mipta-filterbar__summary-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.5em;
	height: 1.5em;
	padding: 0 0.4em;
	border-radius: 999px;
	background: var(--wp--preset--color--pta-gold);
	color: var(--wp--preset--color--body-ink);
	font-size: 0.75em;
	font-weight: 700;
	line-height: 1;
}
.mipta-filterbar__group[open] .mipta-filterbar__summary-count {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--pta-blue);
}

.mipta-filterbar__menu {
	position: absolute;
	top: calc(100% + 0.5rem);
	left: 0;
	min-width: 260px;
	max-width: 360px;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 12px;
	box-shadow: 0 12px 32px rgba(0, 47, 108, 0.15);
	z-index: 1;
	padding: 0.75rem;
	max-height: min(70vh, 480px);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.mipta-filterbar__find {
	position: relative;
	flex-shrink: 0;
}
.mipta-filterbar__find input[type="search"] {
	width: 100%;
	padding: 0.5rem 0.75rem;
	font: inherit;
	font-size: var(--mipta-fs-small);
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 8px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--body-ink);
}
.mipta-filterbar__find input:focus-visible {
	outline: none;
	border-color: var(--wp--preset--color--pta-blue);
	box-shadow: 0 0 0 3px rgba(0, 47, 108, 0.15);
}

.mipta-filterbar__options {
	list-style: none;
	margin: 0; padding: 0;
	overflow-y: auto;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
}

.mipta-filterbar__option label {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	padding: 0.5rem 0.5rem;
	border-radius: 6px;
	font-size: var(--mipta-fs-body);
	color: var(--wp--preset--color--body-ink);
	cursor: pointer;
	transition: background-color 100ms ease;
}
.mipta-filterbar__option label:hover {
	background: var(--wp--preset--color--off-white);
}
.mipta-filterbar__option input[type="checkbox"] {
	width: 1rem;
	height: 1rem;
	margin: 0;
	accent-color: var(--wp--preset--color--pta-blue);
	flex-shrink: 0;
}
.mipta-filterbar__option-name { flex: 1; line-height: 1.3; }
.mipta-filterbar__option-count {
	font-size: var(--mipta-fs-small);
	color: var(--wp--preset--color--neutral-600);
	font-variant-numeric: tabular-nums;
}
.mipta-filterbar__option[hidden] { display: none; }   /* type-ahead hiding */

.mipta-filterbar__actions {
	margin-left: auto;
}
.mipta-filterbar__apply {
	padding: 0.5rem 1rem;
	font-size: var(--mipta-fs-small);
}

/* Summary row (count + active filters) — sits BELOW the bar */
.mipta-filterbar__summary-row {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding: 0.625rem var(--mipta-container-pad) 0.875rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
}
.mipta-filterbar__count-line {
	margin: 0;
	font-size: var(--mipta-fs-small);
	color: var(--wp--preset--color--neutral-600);
}
.mipta-filterbar__count-line strong { color: var(--wp--preset--color--body-ink); }

.mipta-active-filters {
	list-style: none;
	margin: 0; padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
	align-items: center;
}
.mipta-active-filter {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	padding: 0.3rem 0.5rem 0.3rem 0.75rem;
	background: var(--wp--preset--color--pta-blue);
	color: var(--wp--preset--color--white);
	border-radius: 999px;
	font-size: var(--mipta-fs-small);
	font-weight: 600;
	text-decoration: none;
	transition: background-color 150ms ease;
}
.mipta-active-filter:hover,
.mipta-active-filter:focus-visible {
	background: var(--wp--preset--color--pta-blue-dark);
	color: var(--wp--preset--color--white);
}
.mipta-active-filter__x {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.125rem;
	height: 1.125rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.2);
	font-size: 0.9em;
	font-weight: 700;
	line-height: 1;
}
.mipta-active-filters__clear a {
	font-size: var(--mipta-fs-small);
	color: var(--wp--preset--color--pta-blue);
	text-decoration: underline;
	font-weight: 600;
	padding: 0.3rem 0.5rem;
}
.mipta-active-filters__clear a:hover { color: var(--wp--preset--color--pta-blue-dark); }

/* Mobile compaction */
@media (max-width: 640px) {
	.mipta-filterbar__menu {
		left: 0;
		right: 0;
		min-width: auto;
		max-width: none;
		position: fixed;
		top: auto;
		bottom: 0;
		border-radius: 16px 16px 0 0;
		max-height: 60vh;
		padding: 1rem;
	}
	.mipta-filterbar__group[open]::before {
		content: "";
		position: fixed;
		inset: 0;
		background: rgba(0, 47, 108, 0.4);
		z-index: 0;
	}
}

/* Card grid (archive results) */
.mipta-card-grid {
	list-style: none;
	margin: 0; padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1rem, 2.5vw, 1.75rem);
}
@media (min-width: 640px) { .mipta-card-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 980px) { .mipta-card-grid { grid-template-columns: repeat(3, 1fr); } }
.mipta-card-grid--archive { margin-bottom: clamp(2rem, 4vw, 3rem); }

/* Default resource view: results grouped into per-topic sections */
.mipta-topic-section { margin-bottom: clamp(2rem, 4.5vw, 3.25rem); }
.mipta-topic-section:last-child { margin-bottom: 0; }
.mipta-topic-section .mipta-card-grid--archive { margin-bottom: 0; }
.mipta-topic-section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin: 0 0 clamp(0.85rem, 2vw, 1.25rem);
	padding-bottom: 0.6rem;
	border-bottom: 2px solid rgba(0, 47, 108, 0.1);
}
.mipta-topic-section__title {
	margin: 0;
	font-size: clamp(1.25rem, 2.4vw, 1.6rem);
	line-height: 1.2;
}
.mipta-topic-section__all {
	flex: none;
	font-weight: 600;
	font-size: 0.95rem;
	text-decoration: none;
	white-space: nowrap;
}
.mipta-topic-section__all:hover,
.mipta-topic-section__all:focus { text-decoration: underline; }

/* While live-filtering, collapse the topic sections into one flat grid so
   matches read as a single set (matches .mipta-card-grid breakpoints). */
.mipta-archive__grouped.is-inline-filtering { display: grid; grid-template-columns: 1fr; gap: clamp(1rem, 2.5vw, 1.75rem); }
@media (min-width: 640px) { .mipta-archive__grouped.is-inline-filtering { grid-template-columns: 1fr 1fr; } }
@media (min-width: 980px) { .mipta-archive__grouped.is-inline-filtering { grid-template-columns: repeat(3, 1fr); } }
.mipta-archive__grouped.is-inline-filtering .mipta-topic-section,
.mipta-archive__grouped.is-inline-filtering .mipta-card-grid { display: contents; }
.mipta-archive__grouped.is-inline-filtering .mipta-topic-section__head { display: none; }

/* Volunteer Opportunities page */
.mipta-archive__hero-cta { margin-top: 1.4rem; }
.mipta-volunteer { padding: clamp(2rem, 5vw, 4rem) 0; }
.mipta-volunteer__inner { max-width: 1120px; margin: 0 auto; padding: 0 clamp(1rem, 4vw, 2rem); }
.mipta-volunteer__group { margin-bottom: clamp(2.5rem, 6vw, 4rem); }
.mipta-volunteer__group-title {
	font-size: clamp(1.5rem, 3vw, 2rem);
	margin: 0 0 0.5rem;
	padding-bottom: 0.6rem;
	border-bottom: 2px solid rgba(0, 47, 108, 0.1);
}
.mipta-volunteer__group-intro { color: #33415c; margin: 0 0 1.5rem; max-width: 70ch; }
.mipta-volunteer__list {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: 1fr;
	gap: clamp(1rem, 2.5vw, 1.5rem);
}
@media (min-width: 680px)  { .mipta-volunteer__list { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .mipta-volunteer__list { grid-template-columns: repeat(3, 1fr); } }
.mipta-volunteer__item {
	background: var(--wp--preset--color--white);
	border-radius: 12px;
	padding: 1.15rem 1.3rem;
	box-shadow: 0 4px 18px rgba(0, 47, 108, 0.06);
}
.mipta-volunteer__name { font-size: 1.1rem; margin: 0 0 0.35rem; }
.mipta-volunteer__desc { margin: 0; font-size: 0.95rem; line-height: 1.5; }
.mipta-volunteer__cta {
	text-align: center;
	margin-top: clamp(1.5rem, 4vw, 2.5rem);
	padding: clamp(1.5rem, 4vw, 2.5rem);
	background: rgba(0, 47, 108, 0.05);
	border-radius: 14px;
}
.mipta-volunteer__cta p { font-weight: 600; margin: 0 0 1rem; font-size: 1.15rem; }

/* Newsflash newsletter (FlipSnack embed) */
.mipta-newsflash { padding: clamp(2rem, 5vw, 4rem) 0; }
.mipta-newsflash__inner { max-width: 1000px; margin: 0 auto; padding: 0 clamp(1rem, 4vw, 2rem); }
.mipta-newsflash__embed {
	position: relative;
	width: 100%;
	height: min(82vh, 720px);
	min-height: 480px;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 4px 18px rgba(0, 47, 108, 0.10);
	background: var(--wp--preset--color--off-white, #f4f6fa);
}
.mipta-newsflash__embed iframe { width: 100%; height: 100%; border: 0; display: block; }
.mipta-newsflash__note { margin: 1rem 0 0; font-size: 0.95rem; color: var(--wp--preset--color--slate, #50607a); }
.mipta-newsflash__empty {
	padding: clamp(2rem, 6vw, 4rem);
	text-align: center;
	border: 2px dashed rgba(0, 47, 108, 0.2);
	border-radius: 14px;
	color: var(--wp--preset--color--slate, #50607a);
}

.mipta-card {
	background: var(--wp--preset--color--white);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 4px 18px rgba(0, 47, 108, 0.06);
	transition: transform 200ms ease, box-shadow 200ms ease;
	display: flex;
	height: 100%;             /* grid items stretch to equal heights */
}
.mipta-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 30px rgba(0, 47, 108, 0.12);
}
.mipta-card__link {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	width: 100%;
	height: 100%;
}
.mipta-card__media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--wp--preset--color--neutral-100);
	flex-shrink: 0;
}
.mipta-card__media img {
	width: 100%; height: 100%; object-fit: cover;
}
.mipta-card__body {
	padding: 1.25rem 1.25rem 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	flex: 1;                   /* fill remaining card height for equal alignment */
}
/* No-image cards: a colored top band replaces where the photo would be.
   The band uses the same color family as the badge below it so the card
   reads as intentional and color-coded, not "image is missing". */
.mipta-card--no-media .mipta-card__body {
	padding-top: 1.5rem;
	position: relative;
}
.mipta-card--no-media .mipta-card__body::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 6px;
	background: var(--mipta-card-accent, var(--wp--preset--color--pta-blue));
	border-top-left-radius: 14px;
	border-top-right-radius: 14px;
}
.mipta-card--resource  { --mipta-card-accent: var(--wp--preset--color--pta-blue); }
.mipta-card--advocacy  { --mipta-card-accent: var(--wp--preset--color--pta-gold); }
.mipta-card--event     { --mipta-card-accent: #7030a0; }
.mipta-card--news,
.mipta-card--page,
.mipta-card--default   { --mipta-card-accent: var(--wp--preset--color--neutral-200); }

/* Content-type bubble — small pill above the title, color-coded by post type. */
.mipta-card__badge {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0.6rem;
	border-radius: 999px;
	font-size: 0.6875rem;       /* 11px */
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1.4;
	white-space: nowrap;
	background: var(--wp--preset--color--neutral-100);
	color: var(--wp--preset--color--body-ink);
	margin: 0;
}
.mipta-card__badge--resource {
	background: rgba(0, 47, 108, 0.10);
	color: var(--wp--preset--color--pta-blue);
}
.mipta-card__badge--advocacy {
	background: rgba(255, 192, 0, 0.18);
	color: #7a5a00;              /* darkened gold for AA contrast on light bg */
}
.mipta-card__badge--event {
	background: rgba(112, 48, 160, 0.12);
	color: #5a268a;
}
.mipta-card__badge--news {
	background: var(--wp--preset--color--neutral-100);
	color: var(--wp--preset--color--neutral-600);
}
.mipta-card__badge--page {
	background: var(--wp--preset--color--neutral-100);
	color: var(--wp--preset--color--neutral-600);
}

/* Kept for legacy templates still emitting an eyebrow — same visual treatment
   as the badge so nothing looks out of place during transition. */
.mipta-card__eyebrow {
	font-size: var(--mipta-fs-small);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--pta-blue);
	margin: 0;
}
.mipta-card__title {
	font-size: var(--mipta-fs-h3);
	font-weight: 800;
	line-height: 1.2;
	margin: 0;
	color: var(--wp--preset--color--body-ink);
}
.mipta-card__desc {
	font-size: var(--mipta-fs-body);
	color: var(--wp--preset--color--neutral-600);
	line-height: 1.5;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Pagination */
.mipta-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
	margin-top: clamp(1.5rem, 3vw, 2.5rem);
}
.mipta-pagination .page-numbers {
	display: inline-block;
	padding: 0.5rem 0.875rem;
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 8px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--body-ink);
	text-decoration: none;
	font-weight: 600;
}
.mipta-pagination .page-numbers:hover,
.mipta-pagination .page-numbers:focus-visible {
	background: var(--wp--preset--color--pta-blue);
	border-color: var(--wp--preset--color--pta-blue);
	color: var(--wp--preset--color--white);
}
.mipta-pagination .page-numbers.current {
	background: var(--wp--preset--color--pta-blue);
	border-color: var(--wp--preset--color--pta-blue);
	color: var(--wp--preset--color--white);
}

/* Detail pages (single-resource, single-advocacy_item) */
.mipta-detail__hero {
	padding: var(--mipta-section-pad-y) 0;
	background: var(--wp--preset--color--pta-blue);
	color: var(--wp--preset--color--white);
	position: relative;
	isolation: isolate;
	overflow: hidden;
}
.mipta-detail__hero--image-overlay {
	min-height: clamp(320px, 45vh, 460px);
	display: flex;
	align-items: flex-end;
}
.mipta-detail__hero-bg {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	z-index: -2;
}
.mipta-detail__hero-overlay {
	position: absolute; inset: 0;
	background:
		linear-gradient(180deg, rgba(0,47,108,0.2) 0%, rgba(0,47,108,0.85) 100%);
	z-index: -1;
}
.mipta-detail__hero-inner,
.mipta-detail__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
}
/* Hero prose: keep narrow + left-aligned so the title doesn't sprawl. */
.mipta-detail__hero-inner > *:not(.mipta-detail__breadcrumb):not(.mipta-detail__tags):not(.mipta-detail__facts) {
	max-width: var(--mipta-prose-max);
}
/* Detail body: stretch wrappers to the container so the page doesn't leave a
   half-empty right column. Prose lines themselves stay at a readable ch-width
   via the .mipta-detail__body rules below — only the layout wrappers go wide. */
.mipta-detail__inner > .mipta-detail__sources,
.mipta-detail__inner > .mipta-detail__download,
.mipta-detail__inner > .mipta-detail__action,
.mipta-detail__inner > .mipta-flipbook {
	max-width: 100%;
}
.mipta-detail__breadcrumb {
	font-size: var(--mipta-fs-small);
	margin: 0 0 1rem;
}
.mipta-detail__breadcrumb a {
	color: inherit;
	opacity: 0.85;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}
.mipta-detail__breadcrumb a:hover { opacity: 1; }
.mipta-detail__breadcrumb span {
	margin: 0 0.5rem;
	opacity: 0.55;
}
.mipta-detail__eyebrow {
	font-size: var(--mipta-fs-small);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--pta-gold);
	margin: 0 0 0.75rem;
}
.mipta-detail__title {
	font-size: var(--mipta-fs-h1);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.02em;
	margin: 0 0 1rem;
	text-wrap: balance;
}
.mipta-detail__summary {
	font-size: var(--mipta-fs-large);
	line-height: 1.5;
	max-width: 62ch;
	margin: 0 0 1.25rem;
	opacity: 0.95;
}
.mipta-detail__facts {
	list-style: none;
	margin: 1rem 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	font-size: var(--mipta-fs-small);
}
.mipta-detail__facts li { opacity: 0.92; }
.mipta-detail__tags {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.mipta-detail__tag {
	display: inline-block;
	padding: 0.25rem 0.75rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.18);
	font-size: var(--mipta-fs-small);
	font-weight: 600;
}
.mipta-detail__status {
	display: inline-block;
	padding: 0.15rem 0.6rem;
	border-radius: 4px;
	background: var(--wp--preset--color--pta-gold);
	color: var(--wp--preset--color--body-ink);
	font-size: var(--mipta-fs-small);
	font-weight: 700;
}
.mipta-detail__status--archived,
.mipta-detail__status--superseded {
	background: var(--wp--preset--color--neutral-200);
	color: var(--wp--preset--color--neutral-800);
}

.mipta-detail__featured {
	background: var(--wp--preset--color--off-white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-detail__featured-img {
	width: 100%;
	border-radius: 12px;
	display: block;
}

.mipta-detail__body {
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-detail__body p {
	margin: 0 0 1em;
	line-height: 1.6;
	max-width: 72ch;
}
.mipta-detail__body h2 {
	font-size: var(--mipta-fs-h3);
	margin: 2em 0 0.75em;
	max-width: 72ch;
}
.mipta-detail__body ul,
.mipta-detail__body ol {
	margin: 0 0 1em 1.5em;
	padding: 0;
	line-height: 1.6;
	max-width: 70ch;
}
/* Color inline body links but NOT button-styled links (.mipta-btn). The
   button's own white-on-blue palette needs to win. */
.mipta-detail__body a:not(.mipta-btn) { color: var(--wp--preset--color--pta-blue); }

.mipta-detail__sources {
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--wp--preset--color--neutral-200);
}
.mipta-detail__sources h2 {
	font-size: var(--mipta-fs-h3);
	margin: 0 0 0.75rem;
}
.mipta-detail__sources ol {
	margin-left: 1.25rem;
	line-height: 1.6;
}

.mipta-detail__download,
.mipta-detail__action {
	margin: 2rem 0;
	padding: 1.5rem;
	background: var(--wp--preset--color--off-white);
	border-radius: 12px;
}
.mipta-detail__download p { margin: 0 0 1rem; color: var(--wp--preset--color--neutral-600); }

/* Flip-book embed — responsive iframe wrapper that sizes to the prose width
   (so left edge aligns with the body) but uses a comfortable reading aspect. */
.mipta-flipbook {
	margin: 2rem 0;
	border-radius: 12px;
	overflow: hidden;
	background: var(--wp--preset--color--neutral-100);
	box-shadow: 0 4px 18px rgba(0, 47, 108, 0.08);
}
.mipta-flipbook iframe {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	min-height: 380px;
	max-height: 720px;
	border: 0;
}
@media (max-width: 640px) {
	.mipta-flipbook iframe { aspect-ratio: 3 / 4; }
}
.mipta-detail__download h2 {
	font-size: var(--mipta-fs-h3);
	margin: 0 0 0.75rem;
}
.mipta-detail__download-size {
	font-size: var(--mipta-fs-small);
	opacity: 0.75;
	margin-left: 0.25rem;
}
.mipta-detail__reviewed {
	font-size: var(--mipta-fs-small);
	color: var(--wp--preset--color--neutral-600);
	margin: 2rem 0 0;
}

.mipta-detail__related {
	background: var(--wp--preset--color--off-white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-detail__related h2 {
	font-size: var(--mipta-fs-h2);
	margin: 0 0 1.5rem;
}

/* Search — shared form (header dropdown + hero on /?s= + anywhere else) */
.mipta-search-form {
	display: flex;
	gap: 0.5rem;
	margin-top: 1rem;
	max-width: 600px;
	align-items: stretch;
}
.mipta-search-form input[type="search"] {
	flex: 1;
	min-width: 0;
	padding: 0.625rem 0.875rem;
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 999px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--body-ink);
	font-size: var(--mipta-fs-body);
	font-family: inherit;
}
.mipta-search-form input[type="search"]:focus-visible {
	outline: 2px solid var(--wp--preset--color--pta-blue);
	outline-offset: 1px;
	border-color: var(--wp--preset--color--pta-blue);
}
.mipta-search-form .mipta-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding-block: 0.5rem;
}
.mipta-search-form .mipta-btn svg { display: block; }
.mipta-search-form--hero input[type="search"] {
	border-color: transparent;
}

/* Header search button (icon, sits next to Join CTA) */
.mipta-header__search-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 0;
	cursor: pointer;
	padding: 0.5rem;
	margin-left: 0.25rem;
	border-radius: 999px;
	color: var(--wp--preset--color--body-ink);
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	transition: background-color 150ms ease, color 150ms ease;
}
.mipta-header__search-btn:hover,
.mipta-header__search-btn:focus-visible {
	background: var(--wp--preset--color--off-white);
	color: var(--wp--preset--color--pta-blue);
}
.mipta-header__search-btn[aria-expanded="true"] {
	background: var(--wp--preset--color--pta-blue);
	color: var(--wp--preset--color--white);
}

/* Header search dropdown panel (drops below the sticky header) */
.mipta-header__search {
	border-top: 1px solid var(--wp--preset--color--neutral-100);
	background: var(--wp--preset--color--white);
	box-shadow: 0 8px 24px rgba(0, 47, 108, 0.08);
}
.mipta-header__search[hidden] { display: none; }
.mipta-header__search-inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding: 1rem var(--mipta-container-pad);
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.mipta-header__search .mipta-search-form {
	flex: 1;
	margin-top: 0;
	max-width: none;
}
.mipta-header__search-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 0;
	cursor: pointer;
	color: var(--wp--preset--color--body-ink);
	padding: 0.5rem;
	border-radius: 999px;
	width: 36px;
	height: 36px;
	flex-shrink: 0;
}
.mipta-header__search-close:hover,
.mipta-header__search-close:focus-visible {
	background: var(--wp--preset--color--off-white);
	color: var(--wp--preset--color--pta-blue);
}

/* Two search-btn variants: --desktop sits inside the nav panel right before
   the Join CTA, --mobile sits in the bar next to the hamburger. Each is hidden
   at the wrong breakpoint so only one is ever visible/tabable. */
.mipta-header__search-btn--mobile { display: none; }

@media (max-width: 899px) {
	.mipta-header__search-btn--desktop { display: none; }
	.mipta-header__search-btn--mobile {
		display: inline-flex;
		margin-left: auto;     /* push to the right, then hamburger follows */
		margin-right: 0.25rem;
		order: 0;
	}
	.mipta-header__toggle {
		margin-left: 0;        /* search-btn now owns the left margin */
		order: 1;
	}
	.mipta-header__search-inner {
		padding: 0.75rem var(--mipta-container-pad);
	}
}

.mipta-search-empty {
	max-width: 600px;
	margin: 2rem auto;
	text-align: center;
}
.mipta-search-empty h2 {
	font-size: var(--mipta-fs-h3);
	margin: 0 0 1rem;
}
.mipta-search-empty__links {
	list-style: none;
	margin: 1rem 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
}
.mipta-search-empty__links a {
	padding: 0.5rem 1rem;
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 999px;
	color: var(--wp--preset--color--pta-blue);
	text-decoration: none;
	font-weight: 600;
}
.mipta-search-empty__links a:hover {
	background: var(--wp--preset--color--pta-blue);
	color: var(--wp--preset--color--white);
}

/* Inline live-filter on archive pages */
.mipta-archive__inline-search {
	padding-block: 0 1rem;
}
.mipta-inline-search {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	max-width: 720px;
	margin: 0 auto;
}
.mipta-inline-search__icon {
	position: absolute;
	left: 0.875rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--wp--preset--color--neutral-400);
	pointer-events: none;
	display: inline-flex;
}
.mipta-inline-search input[type="search"] {
	flex: 1;
	min-width: 0;
	padding: 0.625rem 2.5rem;
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 999px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--body-ink);
	font-size: var(--mipta-fs-body);
	font-family: inherit;
	box-shadow: 0 1px 2px rgba(0, 47, 108, 0.04);
}
.mipta-inline-search input[type="search"]:focus-visible {
	outline: 2px solid var(--wp--preset--color--pta-blue);
	outline-offset: 1px;
	border-color: var(--wp--preset--color--pta-blue);
}
.mipta-inline-search input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
}
.mipta-inline-search__clear {
	position: absolute;
	right: 0.625rem;
	top: 50%;
	transform: translateY(-50%);
	background: var(--wp--preset--color--neutral-100, #f3f4f6);
	border: 0;
	cursor: pointer;
	color: var(--wp--preset--color--body-ink);
	padding: 0.375rem;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.mipta-inline-search__clear:hover,
.mipta-inline-search__clear:focus-visible {
	background: var(--wp--preset--color--pta-blue);
	color: var(--wp--preset--color--white);
}
.mipta-inline-search__status {
	max-width: 720px;
	margin: 0.5rem auto 0;
	font-size: var(--mipta-fs-small);
	color: var(--wp--preset--color--neutral-400);
	min-height: 1.25em;
}
.mipta-archive__inline-empty {
	text-align: center;
	padding: 2rem 0;
}
.mipta-archive__inline-empty a {
	color: var(--wp--preset--color--pta-blue);
	font-weight: 600;
}

/* -------------------------- 14c. Inner page sections -------------------- */

.mipta-archive__inner--narrow { max-width: 760px; }

/* About — mission section (centered marketing-moment treatment, matching the
   homepage mission). Centered gold accent bar, centered heading + body. */
.mipta-about-mission {
	background: var(--wp--preset--color--off-white);
	padding: var(--mipta-section-pad-y) 0;
	text-align: center;
}
.mipta-about-mission__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
	position: relative;
}
.mipta-about-mission__inner::before {
	content: "";
	display: block;
	width: 56px;
	height: 4px;
	border-radius: 2px;
	background: var(--wp--preset--color--pta-gold);
	margin: 0 auto 1.5rem;
}
.mipta-about-mission__heading {
	font-size: var(--mipta-fs-h2);
	font-weight: 800;
	line-height: 1.1;
	margin: 0 auto 0.875rem;
	color: var(--wp--preset--color--body-ink);
	text-wrap: balance;
}
.mipta-about-mission__body {
	font-size: var(--mipta-fs-x-large);
	font-weight: 400;
	line-height: 1.5;
	color: var(--wp--preset--color--neutral-800);
	max-width: var(--mipta-prose-max);
	margin: 0 auto;
	text-wrap: pretty;
}

/* History timeline */
.mipta-history {
	background: var(--wp--preset--color--white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-history__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
}
.mipta-history__heading {
	font-size: var(--mipta-fs-h2);
	font-weight: 800;
	margin: 0 0 0.75rem;
}
.mipta-history__intro {
	font-size: var(--mipta-fs-large);
	margin: 0 0 2rem;
	color: var(--wp--preset--color--neutral-600);
}
.mipta-history__list {
	list-style: none;
	margin: 0; padding: 0;
	display: grid;
	gap: 1.25rem;
}
.mipta-history__item {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 1.5rem;
	padding: 1.25rem;
	background: var(--wp--preset--color--off-white);
	border-radius: 12px;
}
@media (max-width: 599px) {
	.mipta-history__item { grid-template-columns: 1fr; gap: 0.5rem; }
}
.mipta-history__year {
	font-size: var(--mipta-fs-h3);
	font-weight: 800;
	color: var(--wp--preset--color--pta-blue);
	line-height: 1;
}
.mipta-history__title { font-size: var(--mipta-fs-x-large); font-weight: 700; margin: 0 0 0.25rem; }
.mipta-history__desc  { margin: 0; color: var(--wp--preset--color--neutral-600); line-height: 1.5; }

/* Board grid */
.mipta-board {
	background: var(--wp--preset--color--off-white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-board__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
}
.mipta-board__heading { font-size: var(--mipta-fs-h2); font-weight: 800; margin: 0 0 0.75rem; }
.mipta-board__intro   { font-size: var(--mipta-fs-large); color: var(--wp--preset--color--neutral-600); margin: 0 0 2rem; }
.mipta-board__grid {
	list-style: none; margin: 0; padding: 0;
	display: grid; gap: 1.5rem;
	grid-template-columns: 1fr;
}
@media (min-width: 640px) { .mipta-board__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 980px) { .mipta-board__grid { grid-template-columns: repeat(3, 1fr); } }
.mipta-board__member {
	background: var(--wp--preset--color--white);
	border-radius: 12px;
	padding: 1.5rem;
}
.mipta-board__photo {
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	overflow: hidden;
	width: 120px; height: 120px;
	margin: 0 auto 1rem;
}
.mipta-board__photo img { width: 100%; height: 100%; object-fit: cover; }
.mipta-board__name { font-size: var(--mipta-fs-x-large); margin: 0; text-align: center; }
.mipta-board__role { color: var(--wp--preset--color--pta-blue); font-weight: 600; margin: 0.25rem 0 0; text-align: center; }
.mipta-board__city { color: var(--wp--preset--color--neutral-600); margin: 0.15rem 0 0; text-align: center; font-size: var(--mipta-fs-small); }
.mipta-board__bio  { margin: 0.75rem 0 0; line-height: 1.5; color: var(--wp--preset--color--neutral-600); }

/* Volunteers (About page) */
.mipta-volunteers {
	padding: var(--mipta-section-pad-y) 0;
	background: var(--wp--preset--color--off-white);
}
.mipta-volunteers__groups {
	display: grid;
	gap: 2rem;
	grid-template-columns: 1fr;
}
@media (min-width: 720px)  { .mipta-volunteers__groups { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1040px) { .mipta-volunteers__groups { grid-template-columns: repeat(3, 1fr); } }
.mipta-volunteers__group-title {
	font-size: var(--mipta-fs-x-large);
	margin: 0 0 0.75rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid var(--wp--preset--color--pta-gold);
}
.mipta-volunteers__list { list-style: none; margin: 0; padding: 0; }
.mipta-volunteers__person {
	display: flex;
	flex-wrap: wrap;
	gap: 0 0.5rem;
	align-items: baseline;
	padding: 0.3rem 0;
	border-bottom: 1px solid var(--wp--preset--color--neutral-200, rgba(0,0,0,0.06));
}
.mipta-volunteers__name { font-weight: 600; }
.mipta-volunteers__detail { color: var(--wp--preset--color--neutral-600); font-size: var(--mipta-fs-small); }
.mipta-volunteers__pp { margin: 2rem 0 0; }

/* Advocacy detail sections */
.mipta-adv-whatis, .mipta-adv-howto, .mipta-adv-actions { padding: var(--mipta-section-pad-y) 0; }
.mipta-adv-getinvolved { padding: var(--mipta-section-pad-y) 0; background: var(--wp--preset--color--off-white); }
.mipta-adv-whatis p { line-height: 1.6; margin: 0 0 1rem; }
.mipta-adv-whatis__list { margin: 0 0 1.25rem; padding-left: 1.25rem; line-height: 1.7; }
.mipta-adv-howto__list { margin: 0; padding-left: 1.25rem; line-height: 1.8; }
.mipta-adv-getinvolved__grid {
	list-style: none; margin: 0; padding: 0;
	display: grid; gap: 1.5rem; grid-template-columns: 1fr;
}
@media (min-width: 720px) { .mipta-adv-getinvolved__grid { grid-template-columns: 1fr 1fr; } }
.mipta-adv-getinvolved__card {
	background: var(--wp--preset--color--white);
	border-radius: 12px;
	padding: 1.5rem;
}
.mipta-adv-getinvolved__card h3 { margin: 0 0 0.5rem; font-size: var(--mipta-fs-x-large); }
.mipta-adv-getinvolved__card p { margin: 0 0 0.5rem; line-height: 1.5; }
.mipta-adv-getinvolved__contact a { font-weight: 600; }
.mipta-adv-actions__list { list-style: none; margin: 0; padding: 0; }
.mipta-adv-actions__item {
	padding: 0.85rem 0;
	border-bottom: 1px solid var(--wp--preset--color--neutral-200, rgba(0,0,0,0.06));
}
.mipta-adv-actions__item a { font-weight: 600; }
.mipta-adv-actions__note { display: block; color: var(--wp--preset--color--neutral-600); font-size: var(--mipta-fs-small); margin-top: 0.2rem; }

/* Reflections — submit steps */
.mipta-ref-submit__steps { margin: 0 0 1.25rem; padding-left: 1.4rem; line-height: 1.7; }
.mipta-ref-submit__steps li { margin-bottom: 0.4rem; }
.mipta-ref-submit__note { margin: 0 0 1.5rem; color: var(--wp--preset--color--neutral-600); line-height: 1.6; }

/* About — PTA Values grid (alternates with mission for rhythm) */
.mipta-values {
	background: var(--wp--preset--color--white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-values__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
}
.mipta-values__heading { font-size: var(--mipta-fs-h2); font-weight: 800; margin: 0 0 0.75rem; }
.mipta-values__intro   { font-size: var(--mipta-fs-large); color: var(--wp--preset--color--neutral-600); margin: 0 0 2rem; max-width: var(--mipta-prose-max); }
.mipta-values__grid {
	list-style: none; margin: 0; padding: 0;
	display: grid; gap: 1.25rem;
	grid-template-columns: 1fr;
}
@media (min-width: 640px) { .mipta-values__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 980px) { .mipta-values__grid { grid-template-columns: repeat(3, 1fr); } }
.mipta-values__item {
	background: var(--wp--preset--color--off-white);
	border-radius: 12px;
	padding: 1.5rem;
	border-left: 4px solid var(--wp--preset--color--pta-gold);
}
.mipta-values__title {
	font-size: var(--mipta-fs-x-large);
	font-weight: 700;
	color: var(--wp--preset--color--pta-blue);
	margin: 0 0 0.5rem;
}
.mipta-values__desc { margin: 0; line-height: 1.55; color: var(--wp--preset--color--neutral-800); }

/* About — Purposes list (compact, single-column) */
.mipta-purposes {
	background: var(--wp--preset--color--off-white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-purposes__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
}
.mipta-purposes__heading { font-size: var(--mipta-fs-h2); font-weight: 800; margin: 0 0 0.75rem; }
.mipta-purposes__intro   { font-size: var(--mipta-fs-large); color: var(--wp--preset--color--neutral-600); margin: 0 0 1.5rem; max-width: var(--mipta-prose-max); }
.mipta-purposes__list {
	list-style: none; margin: 0; padding: 0;
	display: grid; gap: 0.875rem;
	grid-template-columns: 1fr;
}
@media (min-width: 760px) { .mipta-purposes__list { grid-template-columns: 1fr 1fr; } }
.mipta-purposes__item {
	background: var(--wp--preset--color--white);
	border-radius: 10px;
	padding: 1rem 1.25rem 1rem 3rem;
	position: relative;
	line-height: 1.5;
	color: var(--wp--preset--color--neutral-800);
}
.mipta-purposes__item::before {
	content: "";
	position: absolute;
	left: 1rem;
	top: 1.15rem;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--wp--preset--color--pta-blue);
	box-shadow: 0 0 0 4px rgba(0, 47, 108, 0.12);
}

/* About — Did You Know callout */
.mipta-dyk {
	background: var(--wp--preset--color--pta-blue);
	color: var(--wp--preset--color--white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-dyk__inner {
	max-width: var(--mipta-prose-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
	text-align: center;
}
.mipta-dyk__heading {
	font-size: var(--mipta-fs-h2);
	font-weight: 800;
	color: var(--wp--preset--color--pta-gold);
	margin: 0 0 0.75rem;
	letter-spacing: 0.02em;
}
.mipta-dyk__body {
	font-size: var(--mipta-fs-x-large);
	line-height: 1.55;
	margin: 0;
	text-wrap: pretty;
}

/* About — National PTA block */
.mipta-national {
	background: var(--wp--preset--color--off-white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-national__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	max-inline-size: var(--mipta-container-max);
}
.mipta-national__heading {
	font-size: var(--mipta-fs-h2);
	font-weight: 800;
	margin: 0 0 0.75rem;
}
.mipta-national__body {
	font-size: var(--mipta-fs-large);
	line-height: 1.55;
	color: var(--wp--preset--color--neutral-800);
	margin: 0 0 1.5rem;
	max-width: 64ch;
}
.mipta-national__cta { margin: 0; }

/* About — Strategic Plan download card */
.mipta-strategic {
	background:
		radial-gradient(ellipse at top left, rgba(0, 47, 108, 0.07), transparent 55%),
		radial-gradient(ellipse at bottom right, rgba(218, 165, 32, 0.08), transparent 55%),
		var(--wp--preset--color--white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-strategic__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
	display: grid;
	gap: 2.5rem;
	grid-template-columns: 1fr;
	align-items: center;
}
@media (min-width: 860px) {
	.mipta-strategic__inner {
		grid-template-columns: 1.4fr 1fr;
		gap: 3rem;
	}
}
.mipta-strategic__eyebrow {
	font-size: var(--mipta-fs-small);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--wp--preset--color--pta-blue);
	margin: 0 0 0.5rem;
}
.mipta-strategic__heading {
	font-size: var(--mipta-fs-h2);
	font-weight: 800;
	margin: 0 0 0.75rem;
	line-height: 1.15;
}
.mipta-strategic__body {
	font-size: var(--mipta-fs-large);
	line-height: 1.55;
	color: var(--wp--preset--color--neutral-800);
	margin: 0 0 1.75rem;
	max-width: 56ch;
}
.mipta-strategic__meta {
	list-style: none;
	margin: 0 0 1.75rem;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, max-content));
	gap: 1.5rem 2rem;
}
.mipta-strategic__meta li {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}
.mipta-strategic__meta-num {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	color: var(--wp--preset--color--pta-blue);
	line-height: 1;
}
.mipta-strategic__meta-lbl {
	font-size: var(--mipta-fs-small);
	color: var(--wp--preset--color--neutral-600);
	font-weight: 600;
	letter-spacing: 0.02em;
}
.mipta-strategic__cta { margin: 0; }
.mipta-strategic__cta-size {
	margin-left: 0.4em;
	opacity: 0.75;
	font-weight: 500;
}

/* Document-cover visual on the right */
.mipta-strategic__doc {
	justify-self: center;
	width: min(100%, 320px);
	perspective: 1200px;
}
.mipta-strategic__doc-link {
	display: block;
	color: inherit;
	text-decoration: none;
}
.mipta-strategic__doc-card {
	position: relative;
	background: linear-gradient(160deg, var(--wp--preset--color--pta-blue) 0%, #001e4a 100%);
	color: var(--wp--preset--color--white);
	border-radius: 14px;
	padding: 2rem 1.75rem 1.25rem;
	aspect-ratio: 3 / 4;
	box-shadow:
		0 1px 2px rgba(0, 0, 0, 0.06),
		0 12px 28px -8px rgba(0, 47, 108, 0.4),
		0 32px 60px -20px rgba(0, 47, 108, 0.35);
	transform: rotate(-2deg);
	transition: transform 0.35s ease, box-shadow 0.35s ease;
	overflow: hidden;
}
.mipta-strategic__doc-link:hover .mipta-strategic__doc-card,
.mipta-strategic__doc-link:focus-visible .mipta-strategic__doc-card {
	transform: rotate(0deg) translateY(-4px);
	box-shadow:
		0 1px 2px rgba(0, 0, 0, 0.06),
		0 16px 36px -8px rgba(0, 47, 108, 0.5),
		0 44px 80px -24px rgba(0, 47, 108, 0.45);
}
.mipta-strategic__doc-tab {
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 8px;
	background: var(--wp--preset--color--pta-gold);
}
.mipta-strategic__doc-body { display: flex; flex-direction: column; }
.mipta-strategic__doc-kicker {
	font-size: 0.7rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--wp--preset--color--pta-gold);
	margin: 0 0 0.4rem;
}
.mipta-strategic__doc-year {
	font-size: 0.95rem;
	font-weight: 600;
	opacity: 0.85;
	margin: 0 0 0.25rem;
}
.mipta-strategic__doc-title {
	font-size: clamp(1.5rem, 2.4vw, 1.85rem);
	font-weight: 800;
	line-height: 1.05;
	margin: 0 0 1.4rem;
}
.mipta-strategic__doc-lines {
	width: 100%;
	height: auto;
	fill: rgba(255, 255, 255, 0.35);
}
.mipta-strategic__doc-foot {
	position: absolute;
	bottom: 1rem; left: 1.75rem; right: 1.75rem;
	display: flex;
	justify-content: space-between;
	font-size: 0.7rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-weight: 700;
	opacity: 0.7;
}
@media (prefers-reduced-motion: reduce) {
	.mipta-strategic__doc-card,
	.mipta-strategic__doc-link:hover .mipta-strategic__doc-card,
	.mipta-strategic__doc-link:focus-visible .mipta-strategic__doc-card {
		transform: none;
		transition: none;
	}
}

/* Priorities / benefits grid */
.mipta-priorities,
.mipta-benefits {
	background: var(--wp--preset--color--white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-priorities__heading {
	font-size: var(--mipta-fs-h2);
	font-weight: 800;
	margin: 0 0 0.75rem;
}
.mipta-priorities__intro {
	font-size: var(--mipta-fs-large);
	color: var(--wp--preset--color--neutral-600);
	margin: 0 0 2rem;
	max-width: 60ch;
}
.mipta-priorities__grid,
.mipta-benefits__grid {
	list-style: none; margin: 0; padding: 0;
	display: grid; gap: 1.5rem;
	grid-template-columns: 1fr;
}
@media (min-width: 740px) {
	.mipta-priorities__grid,
	.mipta-benefits__grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 980px) {
	.mipta-priorities__grid,
	.mipta-benefits__grid { grid-template-columns: repeat(3, 1fr); }
}
.mipta-priorities__item,
.mipta-benefits__item {
	background: var(--wp--preset--color--off-white);
	padding: 1.5rem;
	border-radius: 12px;
	border-left: 4px solid var(--wp--preset--color--pta-gold);
}
.mipta-priorities__item h3,
.mipta-benefits__item h3 {
	font-size: var(--mipta-fs-h3);
	margin: 0 0 0.5rem;
}
.mipta-priorities__item p,
.mipta-benefits__item p {
	margin: 0;
	color: var(--wp--preset--color--neutral-600);
	line-height: 1.5;
}

.mipta-archive__more {
	margin-top: 2rem;
	text-align: center;
}

/* Featured event */
.mipta-featured-event {
	background: var(--wp--preset--color--off-white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-featured-event__card {
	background: var(--wp--preset--color--pta-blue);
	color: var(--wp--preset--color--white);
	border-radius: 16px;
	padding: clamp(2rem, 4vw, 3rem);
	max-width: 920px;
	margin: 0 auto;
}
.mipta-featured-event__eyebrow {
	font-size: var(--mipta-fs-small);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--wp--preset--color--pta-gold);
	margin: 0 0 0.5rem;
}
.mipta-featured-event__title { font-size: var(--mipta-fs-h2); margin: 0 0 0.5rem; line-height: 1.1; }
.mipta-featured-event__date  { font-size: var(--mipta-fs-large); margin: 0 0 1rem; opacity: 0.92; }
.mipta-featured-event__body  { margin: 0 0 1.5rem; line-height: 1.5; opacity: 0.95; }

/* Signature events (recurring/headline events) */
.mipta-signature-events {
	background: var(--wp--preset--color--off-white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-signature-events__grid {
	list-style: none; margin: 0; padding: 0;
	display: grid; gap: 1.5rem;
	grid-template-columns: 1fr;
}
@media (min-width: 720px) { .mipta-signature-events__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1040px) { .mipta-signature-events__grid { grid-template-columns: repeat(3, 1fr); } }
.mipta-signature-events__card {
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--white);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.mipta-signature-events__media {
	aspect-ratio: 16 / 9;
	overflow: hidden;
}
.mipta-signature-events__media img {
	width: 100%; height: 100%; object-fit: cover; display: block;
}
.mipta-signature-events__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 1.5rem;
}
.mipta-signature-events__when {
	font-size: var(--mipta-fs-small);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--pta-orange, var(--wp--preset--color--pta-blue));
	margin: 0 0 0.4rem;
}
.mipta-signature-events__name {
	font-size: var(--mipta-fs-x-large);
	margin: 0 0 0.6rem;
	line-height: 1.15;
}
.mipta-signature-events__desc {
	margin: 0 0 1.25rem;
	line-height: 1.5;
	color: var(--wp--preset--color--neutral-600);
}
.mipta-signature-events__card .mipta-btn {
	margin-top: auto;
	align-self: flex-start;
}

/* Events calendar embed */
.mipta-events-calendar {
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-events-calendar .mipta-priorities__heading {
	margin: 0 0 1.5rem;
}
.mipta-events-calendar__embed iframe {
	display: block;
	width: 100%;
	border: 0;
}

/* Contact form + directory + office */
.mipta-contact-form {
	background: var(--wp--preset--color--white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-contact-form__placeholder {
	padding: 1.5rem;
	background: var(--wp--preset--color--off-white);
	border-radius: 12px;
	border-left: 4px solid var(--wp--preset--color--pta-gold);
}

/* -------------------------- 14d. Gravity Forms overrides ---------------- */

/* Gravity Forms 2.10+ "Orbital" framework styles via CSS custom properties.
   Overriding those props on `.gform_wrapper` cascades into every internal
   `var(--gf-...)` reference — works regardless of stylesheet load order. */
.gform_wrapper,
.gform-theme.gform_wrapper {
	/* Brand colors */
	--gf-color-primary:           var(--wp--preset--color--pta-blue);
	--gf-color-primary-darker:    var(--wp--preset--color--pta-blue-dark);
	--gf-color-primary-lighter:   var(--wp--preset--color--pta-blue-light);
	--gf-color-primary-rgb:       0, 47, 108;
	--gf-color-primary-contrast:  #ffffff;
	--gf-color-secondary:         var(--wp--preset--color--pta-gold);
	--gf-color-secondary-darker:  var(--wp--preset--color--pta-gold-dark);
	--gf-color-secondary-rgb:     255, 182, 0;
	--gf-color-danger:            var(--wp--preset--color--pta-red);
	--gf-color-danger-rgb:        203, 51, 59;
	--gf-color-out-ctrl-dark:     var(--wp--preset--color--body-ink);
	--gf-color-out-ctrl-light:    var(--wp--preset--color--white);
	--gf-color-in-ctrl:           var(--wp--preset--color--white);
	--gf-color-in-ctrl-dark:      var(--wp--preset--color--body-ink);

	/* Primary submit button — pill, PTA Blue */
	--gf-ctrl-btn-bg-color-primary:        var(--wp--preset--color--pta-blue);
	--gf-ctrl-btn-bg-color-hover-primary:  var(--wp--preset--color--pta-blue-dark);
	--gf-ctrl-btn-bg-color-focus-primary:  var(--wp--preset--color--pta-blue-dark);
	--gf-ctrl-btn-color-primary:           #ffffff;
	--gf-ctrl-btn-color-hover-primary:     #ffffff;
	--gf-ctrl-btn-border-color-primary:    var(--wp--preset--color--pta-blue);
	--gf-ctrl-btn-border-color-hover-primary: var(--wp--preset--color--pta-blue-dark);
	--gf-ctrl-btn-radius:                  999px;
	--gf-ctrl-btn-padding-x:               1.75rem;
	--gf-ctrl-btn-padding-y:               0.875rem;
	--gf-ctrl-btn-font-family:             var(--wp--preset--font-family--sans);
	--gf-ctrl-btn-font-size:               var(--mipta-fs-body);
	--gf-ctrl-btn-font-weight:             700;

	/* Inputs — rounded, neutral border, blue focus glow */
	--gf-ctrl-radius:                      10px;
	--gf-ctrl-border-color:                var(--wp--preset--color--neutral-200);
	--gf-ctrl-border-color-hover:          var(--wp--preset--color--neutral-400);
	--gf-ctrl-border-color-focus:          var(--wp--preset--color--pta-blue);
	--gf-ctrl-border-width:                1px;
	--gf-ctrl-bg-color:                    var(--wp--preset--color--white);
	--gf-ctrl-color:                       var(--wp--preset--color--body-ink);
	--gf-ctrl-padding-x:                   0.875rem;
	--gf-ctrl-padding-y:                   0.75rem;
	--gf-ctrl-font-size:                   var(--mipta-fs-body);
	--gf-ctrl-font-family:                 var(--wp--preset--font-family--sans);
	--gf-ctrl-line-height:                 1.45;

	/* Labels */
	--gf-label-color:                      var(--wp--preset--color--neutral-800);
	--gf-label-font-size:                  var(--mipta-fs-small);
	--gf-label-font-weight:                600;

	/* Spacing between fields */
	--gf-fields-row-gap:                   1.25rem;
	--gf-fields-col-gap:                   1rem;

	font-family: var(--wp--preset--font-family--sans);
	color: var(--wp--preset--color--body-ink);
}

/* Field grid spacing */
.gform_wrapper .gform-body,
.gform_wrapper .gform_fields { gap: 1.25rem; }
.gform_wrapper .gfield { margin: 0; }

/* Labels */
.gform_wrapper .gfield_label,
.gform_wrapper .gform-field-label {
	font-size: var(--mipta-fs-small);
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--wp--preset--color--neutral-800);
	margin-bottom: 0.375rem;
	display: inline-block;
}
.gform_wrapper .gform-field-label--type-sub {
	font-weight: 500;
	color: var(--wp--preset--color--neutral-600);
}
.gform_wrapper .gfield_required {
	color: var(--wp--preset--color--pta-red);
	margin-left: 0.15em;
	font-weight: 700;
}

/* Field description (e.g. "Please let us know what's on your mind…") */
.gform_wrapper .gfield_description {
	font-size: var(--mipta-fs-small);
	color: var(--wp--preset--color--neutral-600);
	margin-bottom: 0.5rem;
	line-height: 1.45;
}

/* Inputs, selects, textareas */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="date"],
.gform_wrapper input[type="password"],
.gform_wrapper input[type="search"],
.gform_wrapper select,
.gform_wrapper textarea {
	width: 100%;
	padding: 0.75rem 0.875rem;
	font: inherit;
	font-size: var(--mipta-fs-body);
	color: var(--wp--preset--color--body-ink);
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 10px;
	box-shadow: none;
	transition: border-color 150ms ease, box-shadow 150ms ease;
	box-sizing: border-box;
	line-height: 1.45;
}
.gform_wrapper input:hover,
.gform_wrapper select:hover,
.gform_wrapper textarea:hover {
	border-color: var(--wp--preset--color--neutral-400);
}
.gform_wrapper input:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus,
.gform_wrapper input:focus-visible,
.gform_wrapper select:focus-visible,
.gform_wrapper textarea:focus-visible {
	outline: none;
	border-color: var(--wp--preset--color--pta-blue);
	box-shadow: 0 0 0 4px rgba(0, 47, 108, 0.15);
}
.gform_wrapper textarea { min-height: 8rem; resize: vertical; }
.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder {
	color: var(--wp--preset--color--neutral-400);
	opacity: 1;
}

/* Character-count helper line under textareas */
.gform_wrapper .charleft,
.gform_wrapper .ginput_counter {
	font-size: var(--mipta-fs-small);
	color: var(--wp--preset--color--neutral-600);
	margin-top: 0.25rem;
}

/* Radios + checkboxes */
.gform_wrapper .gfield_radio,
.gform_wrapper .gfield_checkbox {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.gform_wrapper .gchoice {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	padding: 0.25rem 0;
}
.gform_wrapper .gchoice input[type="radio"],
.gform_wrapper .gchoice input[type="checkbox"] {
	width: 1.125rem;
	height: 1.125rem;
	margin: 0.125rem 0 0;
	accent-color: var(--wp--preset--color--pta-blue);
}
.gform_wrapper .gchoice label {
	font-size: var(--mipta-fs-body);
	color: var(--wp--preset--color--body-ink);
	font-weight: 500;
}

/* Complex name field (First / Last side by side) */
.gform_wrapper .ginput_complex,
.gform_wrapper .gform-grid-row {
	gap: 1rem;
}

/* Submit button — match .mipta-btn */
.gform_wrapper .gform_footer {
	margin: 1.5rem 0 0;
	padding: 0;
}
.gform_wrapper .gform_button,
.gform_wrapper input[type="submit"].gform_button,
.gform_wrapper button[type="submit"].gform_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	padding: 0.875rem 1.75rem;
	border: 2px solid transparent;
	border-radius: 999px;
	background: var(--wp--preset--color--pta-blue);
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 700;
	font-size: var(--mipta-fs-body);
	letter-spacing: 0.01em;
	cursor: pointer;
	transition: background-color 150ms ease, transform 150ms ease;
	text-decoration: none;
	line-height: 1;
}
.gform_wrapper .gform_button:hover,
.gform_wrapper .gform_button:focus-visible {
	background: var(--wp--preset--color--pta-blue-dark);
	color: var(--wp--preset--color--white);
	transform: translateY(-1px);
}

/* Validation / error states */
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error select,
.gform_wrapper .gfield_error textarea {
	border-color: var(--wp--preset--color--pta-red);
	box-shadow: 0 0 0 4px rgba(203, 51, 59, 0.12);
}
.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message {
	font-size: var(--mipta-fs-small);
	color: var(--wp--preset--color--pta-red);
	font-weight: 600;
	margin-top: 0.375rem;
	padding: 0.5rem 0.75rem;
	background: rgba(203, 51, 59, 0.08);
	border-radius: 6px;
	border-left: 3px solid var(--wp--preset--color--pta-red);
}
.gform_wrapper .validation_error {
	padding: 0.875rem 1rem;
	background: rgba(203, 51, 59, 0.08);
	color: var(--wp--preset--color--pta-red);
	border-radius: 8px;
	border-left: 4px solid var(--wp--preset--color--pta-red);
	margin-bottom: 1.25rem;
	font-weight: 600;
}

/* Confirmation message after submit */
.gform_confirmation_message,
.gform_wrapper .gform_confirmation_message {
	padding: 1.25rem 1.5rem;
	background: rgba(71, 162, 63, 0.10);
	color: #2f7029;
	border-radius: 12px;
	border-left: 4px solid var(--wp--preset--color--pta-green);
	font-size: var(--mipta-fs-large);
	line-height: 1.5;
}

/* AJAX loading spinner */
.gform_ajax_spinner {
	margin-left: 0.75rem;
	vertical-align: middle;
}

/* Honeypot — keep it invisible */
.gform_wrapper .gform_validation_container,
.gform_wrapper .gfield_visibility_hidden {
	display: none !important;
}
.mipta-directory,
.mipta-office {
	background: var(--wp--preset--color--off-white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-directory__list {
	list-style: none; margin: 0; padding: 0;
	display: grid; gap: 1rem;
	grid-template-columns: 1fr;
}
@media (min-width: 640px) { .mipta-directory__list { grid-template-columns: 1fr 1fr; } }
@media (min-width: 980px) { .mipta-directory__list { grid-template-columns: repeat(3, 1fr); } }
.mipta-directory__person {
	background: var(--wp--preset--color--white);
	padding: 1.25rem;
	border-radius: 12px;
}
.mipta-directory__name { margin: 0; font-size: var(--mipta-fs-x-large); }
.mipta-directory__role { margin: 0.25rem 0 0.5rem; color: var(--wp--preset--color--pta-blue); font-weight: 600; }
.mipta-directory__phone, .mipta-directory__person p { margin: 0.25rem 0; line-height: 1.4; }

.mipta-office__grid {
	display: grid; gap: 1.5rem;
	grid-template-columns: 1fr;
	margin-top: 1.5rem;
}
@media (min-width: 740px) { .mipta-office__grid { grid-template-columns: repeat(3, 1fr); } }
.mipta-office__grid div {
	padding: 1.25rem;
	background: var(--wp--preset--color--white);
	border-radius: 12px;
	line-height: 1.5;
}

/* -------------------------- 14. Editor preview tweaks ------------------- */

.editor-styles-wrapper .mipta-hero { min-height: 360px; }
.editor-styles-wrapper .mipta-pathways { margin-top: 0; }

/* -------------------------- 14c. Programs — Reflections ------------------ */

.mipta-ref-intro {
	background: var(--wp--preset--color--white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-ref-intro__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
}
.mipta-ref-intro__body { max-width: var(--mipta-prose-max); }
.mipta-ref-intro__heading { font-size: var(--mipta-fs-h2); font-weight: 800; margin: 0 0 1rem; }
.mipta-ref-intro__body    { font-size: var(--mipta-fs-large); line-height: 1.6; margin: 0; color: var(--wp--preset--color--neutral-800); text-wrap: pretty; }

.mipta-ref-themes {
	background: var(--wp--preset--color--off-white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-ref-themes__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
	display: grid;
	gap: 2.5rem;
	grid-template-columns: 1fr;
	align-items: center;
}
@media (min-width: 760px) { .mipta-ref-themes__inner { grid-template-columns: 1fr 1fr; } }
.mipta-ref-themes__heading { font-size: var(--mipta-fs-h2); font-weight: 800; margin: 0 0 1rem; }
.mipta-ref-themes__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.875rem; }
.mipta-ref-themes__item {
	background: var(--wp--preset--color--white);
	padding: 1rem 1.25rem;
	border-radius: 10px;
	border-left: 4px solid var(--wp--preset--color--pta-purple, var(--wp--preset--color--pta-blue));
}
.mipta-ref-themes__year { display: block; font-size: var(--mipta-fs-small); font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--wp--preset--color--pta-blue); }
.mipta-ref-themes__text { display: block; font-size: var(--mipta-fs-x-large); font-weight: 700; margin-top: 0.125rem; }
.mipta-ref-themes__art img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 16px;
	box-shadow: 0 12px 40px rgba(0, 47, 108, 0.12);
}

.mipta-ref-cats {
	background: var(--wp--preset--color--white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-ref-cats__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
}
.mipta-ref-cats__heading { font-size: var(--mipta-fs-h2); font-weight: 800; margin: 0 0 0.75rem; }
.mipta-ref-cats__intro   { font-size: var(--mipta-fs-large); color: var(--wp--preset--color--neutral-600); margin: 0 0 2rem; max-width: var(--mipta-prose-max); }
.mipta-ref-cats__grid {
	list-style: none; margin: 0; padding: 0;
	display: grid; gap: 1.5rem;
	grid-template-columns: 1fr;
}
@media (min-width: 540px) { .mipta-ref-cats__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 860px) { .mipta-ref-cats__grid { grid-template-columns: repeat(3, 1fr); } }
.mipta-ref-cats__item {
	background: var(--wp--preset--color--off-white);
	border-radius: 14px;
	padding: 1.5rem;
	text-align: center;
}
.mipta-ref-cats__icon {
	width: 96px; height: 96px;
	border-radius: 50%;
	object-fit: cover;
	margin: 0 auto 0.75rem;
	display: block;
	background: var(--wp--preset--color--white);
}
.mipta-ref-cats__name { font-size: var(--mipta-fs-x-large); font-weight: 700; margin: 0 0 0.25rem; color: var(--wp--preset--color--pta-blue); }
.mipta-ref-cats__desc { margin: 0; line-height: 1.5; color: var(--wp--preset--color--neutral-800); }

.mipta-ref-divs {
	background: var(--wp--preset--color--off-white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-ref-divs__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
}
.mipta-ref-divs__heading { font-size: var(--mipta-fs-h2); font-weight: 800; margin: 0 0 0.75rem; }
.mipta-ref-divs__intro   { font-size: var(--mipta-fs-large); color: var(--wp--preset--color--neutral-600); margin: 0 0 2rem; max-width: var(--mipta-prose-max); }
.mipta-ref-divs__list {
	list-style: none; margin: 0; padding: 0;
	display: grid; gap: 1rem;
	grid-template-columns: 1fr;
}
@media (min-width: 760px) { .mipta-ref-divs__list { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px){ .mipta-ref-divs__list { grid-template-columns: repeat(5, 1fr); } }
.mipta-ref-divs__item {
	background: var(--wp--preset--color--white);
	padding: 1.25rem;
	border-radius: 10px;
	border-top: 4px solid var(--wp--preset--color--pta-gold);
}
.mipta-ref-divs__name { font-size: var(--mipta-fs-x-large); font-weight: 800; color: var(--wp--preset--color--pta-blue); margin: 0 0 0.375rem; }
.mipta-ref-divs__desc { margin: 0; font-size: var(--mipta-fs-small); line-height: 1.5; color: var(--wp--preset--color--neutral-800); }

.mipta-ref-submit {
	background: var(--wp--preset--color--pta-blue-dark);
	color: var(--wp--preset--color--white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-ref-submit__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
	display: grid;
	gap: 2rem;
	grid-template-columns: 1fr;
}
@media (min-width: 760px) { .mipta-ref-submit__inner { grid-template-columns: 1.5fr 1fr; align-items: start; } }
.mipta-ref-submit__inner > .mipta-ref-submit__heading,
.mipta-ref-submit__inner > .mipta-ref-submit__body { grid-column: 1; }
.mipta-ref-submit__inner > .mipta-ref-submit__contact,
.mipta-ref-submit__inner > .mipta-ref-submit__cta { grid-column: 1; }
@media (min-width: 760px) {
	.mipta-ref-submit__inner > .mipta-ref-submit__contact { grid-column: 2; grid-row: 1 / span 3; align-self: start; background: rgba(255,255,255,0.05); padding: 1.5rem; border-radius: 14px; border: 1px solid rgba(255,255,255,0.12); margin: 0; }
}
.mipta-ref-submit__heading { font-size: var(--mipta-fs-h2); font-weight: 800; margin: 0 0 1rem; color: var(--wp--preset--color--pta-gold); }
.mipta-ref-submit__body    { font-size: var(--mipta-fs-large); line-height: 1.6; margin: 0 0 1.5rem; }
.mipta-ref-submit__contact { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; gap: 0.375rem; }
.mipta-ref-submit__contact a { color: var(--wp--preset--color--pta-gold); text-decoration: underline; }
.mipta-ref-submit__cta { margin: 0; }

/* -------------------------- 14d. Programs — Scholarship ----------------- */

.mipta-schol-intro {
	background: var(--wp--preset--color--white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-schol-intro__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
	display: grid;
	gap: 2.5rem;
	grid-template-columns: 1fr;
}
@media (min-width: 760px) { .mipta-schol-intro__inner { grid-template-columns: 280px 1fr; align-items: start; } }
.mipta-schol-intro__photo img {
	width: 100%;
	height: auto;
	border-radius: 16px;
	display: block;
	box-shadow: 0 8px 30px rgba(0, 47, 108, 0.15);
}
.mipta-schol-intro__caption {
	font-size: var(--mipta-fs-small);
	color: var(--wp--preset--color--neutral-600);
	margin: 0.5rem 0 0;
	font-style: italic;
}
.mipta-schol-intro__heading { font-size: var(--mipta-fs-h2); font-weight: 800; margin: 0 0 1rem; }
.mipta-schol-intro__copy p  { font-size: var(--mipta-fs-large); line-height: 1.6; margin: 0 0 1rem; color: var(--wp--preset--color--neutral-800); }

.mipta-schol-crit {
	background: var(--wp--preset--color--off-white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-schol-crit__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
}
.mipta-schol-crit__heading { font-size: var(--mipta-fs-h2); font-weight: 800; margin: 0 0 0.75rem; }
.mipta-schol-crit__intro   { font-size: var(--mipta-fs-large); margin: 0 0 1.5rem; color: var(--wp--preset--color--neutral-800); max-width: var(--mipta-prose-max); }
.mipta-schol-crit__list {
	list-style: none; margin: 0; padding: 0;
	display: grid; gap: 0.625rem;
	grid-template-columns: 1fr;
}
@media (min-width: 760px)  { .mipta-schol-crit__list { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .mipta-schol-crit__list { grid-template-columns: repeat(3, 1fr); } }
.mipta-schol-crit__item {
	background: var(--wp--preset--color--white);
	padding: 0.875rem 1.25rem 0.875rem 2.75rem;
	border-radius: 10px;
	position: relative;
	font-weight: 600;
}
.mipta-schol-crit__item::before {
	content: "✓";
	position: absolute;
	left: 1rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--wp--preset--color--pta-gold);
	font-weight: 800;
	font-size: 1.1rem;
}

.mipta-schol-apply {
	background: var(--wp--preset--color--white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-schol-apply__inner {
	max-width: var(--mipta-container-max);
	margin-inline: auto;
	padding-inline: var(--mipta-container-pad);
	display: grid;
	gap: 2.5rem;
	grid-template-columns: 1fr;
}
@media (min-width: 760px) { .mipta-schol-apply__inner { grid-template-columns: 1.4fr 1fr; align-items: start; } }
.mipta-schol-apply__heading { font-size: var(--mipta-fs-h2); font-weight: 800; margin: 0 0 1rem; }
.mipta-schol-apply__copy p { font-size: var(--mipta-fs-large); line-height: 1.6; margin: 0 0 1rem; color: var(--wp--preset--color--neutral-800); max-width: 56ch; }
.mipta-schol-apply__cta { margin: 1.5rem 0 0; }
.mipta-schol-apply__winners {
	margin: 0;
	padding: 1.25rem 1.5rem;
	background: var(--wp--preset--color--off-white);
	border-radius: 12px;
	border: 1px solid var(--wp--preset--color--neutral-200);
	align-self: start;
}
.mipta-schol-apply__winners-heading { font-size: var(--mipta-fs-x-large); font-weight: 700; margin: 0 0 0.5rem; color: var(--wp--preset--color--pta-blue); }
.mipta-schol-apply__winners p { font-size: var(--mipta-fs-small); margin: 0 0 0.75rem; color: var(--wp--preset--color--neutral-700); line-height: 1.5; }
.mipta-schol-apply__winners p:last-child { margin-bottom: 0; }

/* -------------------------- 15. Reduced motion -------------------------- */

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* -------------------------- 16. Print ---------------------------------- */

/* =========================================================================
   Gated content — password unlock prompt on single-resource pages, lock chip
   on archive cards. Shown when a resource's audience term has a gate_password.
   ========================================================================= */
.mipta-gate {
	background: var(--wp--preset--color--neutral-50, #f6f8fb);
	border: 1px solid rgba(0, 47, 108, 0.12);
	border-radius: 16px;
	padding: 2rem 1.5rem;
	margin: 1rem 0 2rem;
}
.mipta-gate__inner {
	max-width: 480px;
	margin: 0 auto;
	text-align: center;
}
.mipta-gate__eyebrow {
	display: inline-block;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	background: rgba(0, 47, 108, 0.10);
	color: var(--wp--preset--color--pta-blue);
	padding: 0.3rem 0.7rem;
	border-radius: 999px;
	margin: 0 0 1rem;
}
.mipta-gate__title {
	font-size: var(--mipta-fs-h2);
	color: var(--wp--preset--color--pta-blue);
	margin: 0 0 0.75rem;
}
.mipta-gate__body {
	color: var(--wp--preset--color--neutral-700, #4a4a4a);
	margin: 0 0 1.25rem;
	line-height: 1.55;
}
.mipta-gate__error {
	background: rgba(200, 16, 46, 0.08);
	color: #a3122a;
	border-left: 4px solid #c8102e;
	padding: 0.65rem 0.85rem;
	border-radius: 4px;
	text-align: left;
	margin: 0 0 1rem;
	font-size: 0.95rem;
}
.mipta-gate__form {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	align-items: stretch;
}
.mipta-gate__label {
	font-weight: 600;
	text-align: left;
	font-size: 0.95rem;
	color: var(--wp--preset--color--body-ink);
}
.mipta-gate__input {
	width: 100%;
	padding: 0.7rem 0.9rem;
	font-size: 1rem;
	border: 1px solid rgba(0, 47, 108, 0.25);
	border-radius: 8px;
	background: #fff;
}
.mipta-gate__input:focus {
	outline: 2px solid var(--wp--preset--color--pta-blue);
	outline-offset: 1px;
	border-color: var(--wp--preset--color--pta-blue);
}
.mipta-gate__submit {
	background: var(--wp--preset--color--pta-blue);
	color: #fff;
	border: 0;
	border-radius: 999px;
	padding: 0.75rem 1.4rem;
	font-weight: 700;
	font-size: 1rem;
	cursor: pointer;
	transition: background 0.15s ease;
}
.mipta-gate__submit:hover,
.mipta-gate__submit:focus { background: var(--wp--preset--color--pta-blue-dark); outline: none; }
.mipta-gate__meta {
	margin: 0.85rem 0 0;
	font-size: 0.9rem;
	color: var(--wp--preset--color--neutral-700, #4a4a4a);
}
.mipta-gate__meta a { color: var(--wp--preset--color--pta-blue); }

/* WP's wp_login_form() output — style it to match .mipta-gate__form. */
.mipta-gate--login #loginform p,
.mipta-gate--login form[id^="mipta-gate-login-"] p {
	margin: 0 0 0.85rem;
	text-align: left;
}
.mipta-gate--login #loginform label,
.mipta-gate--login form[id^="mipta-gate-login-"] label {
	display: block;
	font-weight: 600;
	font-size: 0.95rem;
	margin: 0 0 0.35rem;
	color: var(--wp--preset--color--body-ink);
}
.mipta-gate--login #loginform input[type="text"],
.mipta-gate--login #loginform input[type="password"],
.mipta-gate--login form[id^="mipta-gate-login-"] input[type="text"],
.mipta-gate--login form[id^="mipta-gate-login-"] input[type="password"] {
	width: 100%;
	padding: 0.7rem 0.9rem;
	font-size: 1rem;
	border: 1px solid rgba(0, 47, 108, 0.25);
	border-radius: 8px;
	background: #fff;
}
.mipta-gate--login #loginform input[type="text"]:focus,
.mipta-gate--login #loginform input[type="password"]:focus,
.mipta-gate--login form[id^="mipta-gate-login-"] input[type="text"]:focus,
.mipta-gate--login form[id^="mipta-gate-login-"] input[type="password"]:focus {
	outline: 2px solid var(--wp--preset--color--pta-blue);
	outline-offset: 1px;
	border-color: var(--wp--preset--color--pta-blue);
}
.mipta-gate--login .login-remember {
	font-weight: 400 !important;
	display: flex !important;
	align-items: center;
	gap: 0.5rem;
}
.mipta-gate--login .login-remember input { width: auto; }
.mipta-gate--login .login-submit input[type="submit"],
.mipta-gate--login input[name="wp-submit"] {
	background: var(--wp--preset--color--pta-blue);
	color: #fff;
	border: 0;
	border-radius: 999px;
	padding: 0.75rem 1.4rem;
	font-weight: 700;
	font-size: 1rem;
	cursor: pointer;
	width: 100%;
}
.mipta-gate--login .login-submit input[type="submit"]:hover,
.mipta-gate--login input[name="wp-submit"]:hover { background: var(--wp--preset--color--pta-blue-dark); }

/* Register page — wider gate card, side-by-side first/last name + password rows. */
.mipta-register__wrap {
	max-width: 720px;
	margin: 2rem auto;
	padding: 0 1.25rem;
}
.mipta-gate--register .mipta-gate__inner {
	max-width: 100%;
	text-align: left;
}
.mipta-gate--register .mipta-gate__title,
.mipta-gate--register .mipta-gate__eyebrow {
	text-align: center;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.mipta-gate--register .mipta-gate__eyebrow { width: max-content; }
.mipta-register__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.6rem;
}
@media (max-width: 520px) {
	.mipta-register__row { grid-template-columns: 1fr; }
}
.mipta-register__col { display: flex; flex-direction: column; gap: 0.35rem; }
.mipta-register__hint {
	margin: -0.2rem 0 0.4rem;
	font-size: 0.85rem;
	color: var(--wp--preset--color--neutral-700, #4a4a4a);
}
.mipta-gate__success {
	background: rgba(0, 128, 64, 0.08);
	color: #1f5e3a;
	border-left: 4px solid #2e8b57;
	padding: 0.75rem 1rem;
	border-radius: 4px;
	text-align: left;
}
/* Honeypot — hidden from sighted users + AT, but still in the DOM for bots. */
.mipta-register__hp {
	position: absolute !important;
	left: -10000px !important;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Lock chip on archive cards — sits next to the type badge. */
.mipta-card__lock {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	margin-left: 0.4rem;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	background: rgba(0, 0, 0, 0.06);
	color: var(--wp--preset--color--neutral-700, #4a4a4a);
	line-height: 1.4;
}
.mipta-card__lock svg { display: block; }

@media print {
	.mipta-header,
	.mipta-footer,
	.mipta-skip-link,
	.mipta-cta-pair,
	.mipta-hero__bg,
	.mipta-hero__overlay,
	.mipta-header__cta,
	.mipta-header__toggle,
	.mipta-pathway-card .mipta-btn,
	.mipta-featured-card__link { display: none !important; }

	body { color: #000; background: #fff; font-size: 11pt; }
	a { color: #002f6c; text-decoration: underline; }
	a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 0.85em; color: #555; word-break: break-all; }
	a[href^="#"]::after, a[href^="/"]::after { content: ""; }
	.mipta-hero { min-height: auto; color: #000; padding: 0; }
	.mipta-hero__headline { color: #002f6c; text-shadow: none; }
	.mipta-hero__inner { padding: 1rem 0; }
	section { page-break-inside: avoid; padding: 1rem 0; background: #fff !important; color: #000 !important; }
	img { max-width: 100%; page-break-inside: avoid; }
	h1, h2, h3 { page-break-after: avoid; color: #002f6c; }
}

/* Membership intro — 2-column layout: copy + standout Join card */
.mipta-membership-intro {
	background: var(--wp--preset--color--off-white);
	padding: var(--mipta-section-pad-y) 0;
}
.mipta-membership-intro__inner {
	display: grid;
	gap: 2.5rem;
	grid-template-columns: 1fr;
	align-items: start;
}
@media (min-width: 880px) {
	.mipta-membership-intro__inner {
		grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr);
		gap: 3rem;
	}
}
.mipta-membership-intro__copy > * + * { margin-top: 1rem; }
.mipta-membership-intro__heading {
	font-size: var(--mipta-fs-h2);
	font-weight: 800;
	margin: 0;
	line-height: 1.15;
}
.mipta-membership-intro__lede {
	font-size: var(--mipta-fs-large);
	line-height: 1.55;
	color: var(--wp--preset--color--neutral-800);
	max-width: 60ch;
	margin-top: 0.75rem;
}
.mipta-membership-intro__who {
	margin-top: 2rem !important;
	padding: 1.5rem 1.75rem;
	background: var(--wp--preset--color--white);
	border-radius: 14px;
	border-left: 4px solid var(--wp--preset--color--pta-blue);
}
.mipta-membership-intro__who-heading {
	font-size: var(--mipta-fs-h3);
	margin: 0 0 0.25rem;
}
.mipta-membership-intro__who-intro {
	margin: 0 0 0.75rem;
	color: var(--wp--preset--color--neutral-600);
}
.mipta-membership-intro__who-list {
	list-style: none;
	padding: 0;
	margin: 0.5rem 0 0;
	display: grid;
	gap: 0.5rem 1rem;
}
@media (min-width: 640px) {
	.mipta-membership-intro__who-list { grid-template-columns: 1fr 1fr; }
}
.mipta-membership-intro__who-list li {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	line-height: 1.4;
}
.mipta-membership-intro__who-icon {
	flex: 0 0 auto;
	margin-top: 0.25rem;
	color: var(--wp--preset--color--pta-blue);
}
.mipta-membership-intro__fine-print {
	font-size: var(--mipta-fs-small);
	color: var(--wp--preset--color--neutral-600);
	margin-top: 1.25rem !important;
}

/* Join card — right column, stands out */
.mipta-membership-intro__card {
	position: relative;
	background: linear-gradient(165deg, var(--wp--preset--color--pta-blue) 0%, #001e4a 100%);
	color: var(--wp--preset--color--white);
	padding: 2rem 1.75rem 1.75rem;
	border-radius: 16px;
	box-shadow:
		0 1px 2px rgba(0, 0, 0, 0.06),
		0 12px 28px -10px rgba(0, 47, 108, 0.4);
	overflow: hidden;
	isolation: isolate;
}
.mipta-membership-intro__card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 6px;
	background: var(--wp--preset--color--pta-gold);
}
.mipta-membership-intro__card::after {
	content: "";
	position: absolute;
	right: -60px;
	bottom: -60px;
	width: 220px; height: 220px;
	background: var(--wp--preset--color--pta-gold);
	opacity: 0.08;
	border-radius: 50%;
	z-index: -1;
}
.mipta-membership-intro__card-kicker {
	font-size: 0.78rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--wp--preset--color--pta-gold);
	margin: 0 0 0.5rem;
}
.mipta-membership-intro__card-price {
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
	margin: 0 0 1.25rem;
}
.mipta-membership-intro__card-price-amount {
	font-size: clamp(2.5rem, 5vw, 3.25rem);
	font-weight: 800;
	line-height: 1;
}
.mipta-membership-intro__card-price-note {
	font-size: var(--mipta-fs-large);
	opacity: 0.85;
}
.mipta-membership-intro__card-list {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
	display: grid;
	gap: 0.5rem;
}
.mipta-membership-intro__card-list li {
	position: relative;
	padding-left: 1.5rem;
	font-size: var(--mipta-fs-body);
	line-height: 1.4;
	opacity: 0.95;
}
.mipta-membership-intro__card-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.45em;
	width: 12px; height: 12px;
	border-radius: 50%;
	background: var(--wp--preset--color--pta-gold);
}
.mipta-membership-intro__card-cta {
	width: 100%;
	justify-content: center;
	font-size: 1.05rem;
	padding: 0.85rem 1.5rem;
}
.mipta-membership-intro__card-note {
	font-size: var(--mipta-fs-small);
	opacity: 0.75;
	margin: 1rem 0 0;
	line-height: 1.4;
}
