/* ==========================================================================
   AIPMM theme — component styles that theme.json can't express on its own.
   ========================================================================== */

* { box-sizing: border-box; }

a { text-decoration: none; }

/* ---------- Header ---------- */

.aipmm-header { position: sticky; top: 0; z-index: 50; border-bottom: 3px solid var(--wp--preset--color--gold); }

.aipmm-header__row { width: 100%; align-items: center; flex-wrap: nowrap; gap: 20px; }

.aipmm-brand { align-items: center; gap: 10px; }
.aipmm-brand img { border-radius: 50%; object-fit: cover; }
.aipmm-brand__tagline { opacity: 0.6; margin: 0; }
.aipmm-brand h1, .aipmm-brand p { margin: 0; line-height: 1.2; }

.aipmm-nav { display: flex; align-items: center; gap: 2px; flex: 1; white-space: nowrap; position: relative; }
.aipmm-nav__link {
	background: transparent; border: none; cursor: pointer;
	color: rgba(246,243,234,0.75); font: 500 13px "Inter", sans-serif;
	padding: 9px 14px; border-radius: 6px; text-decoration: none; display: inline-block;
}
.aipmm-nav__link:hover { background: rgba(246,243,234,0.1); color: #f6f3ea; }
.aipmm-nav__more { position: relative; }
.aipmm-nav__more-menu {
	position: absolute; top: 44px; left: 0; background: #fff;
	border: 1px solid rgba(32,31,26,0.1); border-radius: 8px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.15); min-width: 160px; overflow: hidden; z-index: 60;
	display: none; flex-direction: column;
}
.aipmm-nav__more.is-open .aipmm-nav__more-menu { display: flex; }
.aipmm-nav__more-menu a { display: block; padding: 12px 16px; font: 500 13px "Inter", sans-serif; color: #201f1a; }
.aipmm-nav__more-menu a:hover { background: rgba(32,31,26,0.05); }

.aipmm-header__actions { align-items: center; gap: 10px; flex-wrap: nowrap; }
.aipmm-header__cta { gap: 10px !important; }

.aipmm-lang-switch,
.aipmm-lang-switch ul { list-style: none; display: flex; margin: 0; padding: 0; gap: 4px; }
.aipmm-lang-switch li { margin: 0; }
.aipmm-lang-switch a {
	background: rgba(246,243,234,0.1); border: 1px solid rgba(246,243,234,0.25);
	color: #f6f3ea; font: 600 12px "Inter", sans-serif; padding: 7px 11px; border-radius: 20px;
	display: inline-block;
}
.aipmm-lang-switch li.lang-item-current a { background: rgba(246,243,234,0.25); }

/* ---------- Eyebrow labels ---------- */

.aipmm-eyebrow {
	font: 600 12px "Inter", sans-serif; letter-spacing: 0.08em; text-transform: uppercase;
	margin: 0 0 10px;
}
.aipmm-eyebrow--dark {
	display: inline-block; border: 1px solid rgba(201,162,39,0.4); padding: 6px 12px; border-radius: 20px;
	margin-bottom: 22px; color: var(--wp--preset--color--gold);
}

/* ---------- Hero ---------- */

.aipmm-hero { overflow: hidden; }
.aipmm-hero__title { max-width: 640px; text-wrap: pretty; margin: 0; }
.aipmm-hero__lede { max-width: 520px; opacity: 0.75; margin: 0 0 34px; }
.aipmm-hero__image img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Two-column text+image sections (About teaser, About page, Vision):
   force the image to fill the column height so it visually matches the
   text column instead of floating at its own small intrinsic size. */
.wp-block-column:has(.aipmm-fill-image) { display: flex; }
.wp-block-column:has(.aipmm-fill-image) > .wp-block-image { height: 100%; width: 100%; margin: 0; }
.aipmm-fill-image {
	width: 100%; height: 100%; min-height: 340px; object-fit: cover; display: block;
}

.aipmm-hero-carousel { position: relative; width: 100%; aspect-ratio: 16/5; background: #1a2e22; overflow: hidden; }
.aipmm-hero-carousel__track { position: relative; width: 100%; height: 100%; }
.aipmm-hero-carousel__slide {
	position: absolute; inset: 0; opacity: 0; transition: opacity 0.8s ease; pointer-events: none;
}
.aipmm-hero-carousel__slide.is-active { opacity: 1; pointer-events: auto; }
.aipmm-hero-carousel__slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aipmm-hero-carousel__dots {
	position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%);
	display: flex; gap: 8px; z-index: 5;
}
.aipmm-hero-carousel__dot {
	width: 9px; height: 9px; border-radius: 50%; border: none; background: rgba(255,255,255,0.45); cursor: pointer; padding: 0;
}
.aipmm-hero-carousel__dot.is-active { background: #fff; }

.aipmm-hero-cta { padding: 24px 28px; gap: 20px; }
.aipmm-hero-cta .aipmm-eyebrow--dark { margin-bottom: 10px; }

/* ---------- Explore grid ---------- */

.aipmm-explore-card {
	border: 1px solid rgba(32,31,26,0.1); border-radius: 8px; padding: 26px;
	background: var(--wp--preset--color--cream); transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.aipmm-explore-card:hover { box-shadow: 0 8px 20px rgba(0,0,0,0.08); transform: translateY(-2px); }
.aipmm-explore-card__icon { font-size: 22px; margin: 0 0 14px; }
.aipmm-explore-card h3 { margin: 0 0 8px; }
.aipmm-explore-card h3 a { color: inherit; }

/* ---------- Card grids (personalities / gallery / video / generic archives) ---------- */
/* The grid must target the Query Loop's actual repeating element
   (.wp-block-post-template), not the outer .wp-block-query wrapper —
   the wrapper has no direct visual effect on how items lay out. */

.aipmm-card-grid .wp-block-post-template {
	display: grid; gap: 20px; list-style: none; margin: 0; padding: 0;
}
.aipmm-card-grid--3 .wp-block-post-template { grid-template-columns: repeat(3, 1fr); }
.aipmm-card-grid--2 .wp-block-post-template { grid-template-columns: repeat(2, 1fr); }
.aipmm-card-grid--4 .wp-block-post-template { grid-template-columns: repeat(4, 1fr); }
.aipmm-card-grid .wp-block-post-template > li { margin: 0; width: auto; display: flex; }

/* ---------- What We Do: photo hero + bold mission grid ---------- */

.aipmm-mission-hero {
	position: relative; min-height: 480px; background-size: cover; background-position: center;
	display: flex; align-items: center; justify-content: center;
}
.aipmm-mission-hero__overlay {
	position: relative; z-index: 1; text-align: center; padding: 40px 28px; max-width: 720px;
}
.aipmm-mission-hero::before {
	content: ""; position: absolute; inset: 0; background: rgba(15,20,18,0.6);
}
.aipmm-mission-hero .aipmm-eyebrow--dark { display: inline-block; }
.aipmm-mission-hero__title {
	font: 700 40px/1.2 "Source Serif 4", serif; color: #fff; margin: 8px 0 32px; text-wrap: pretty;
}
.aipmm-btn-pill {
	display: inline-block; background: var(--wp--preset--color--orange); color: #fff;
	font: 700 14px "Inter", sans-serif; padding: 16px 34px; border-radius: 999px;
}
.aipmm-btn-pill:hover { background: var(--wp--preset--color--orange-dark); color: #fff; }

.aipmm-mission-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.aipmm-mission-card {
	text-align: center; padding: 44px 20px; display: flex; flex-direction: column; align-items: center; justify-content: center;
	min-height: 220px; gap: 16px;
}
.aipmm-mission-card img { display: block; filter: brightness(0) invert(1); width: 56px; height: 56px; }
.aipmm-mission-card p { font: 700 15px/1.5 "Inter", sans-serif; margin: 0; color: #fff; }

.aipmm-team-card { text-align: center; }

.aipmm-team-card { text-align: center; }
.aipmm-team-card__name { margin: 14px 0 2px !important; }
.aipmm-team-card__role { display: block; color: var(--wp--preset--color--orange); font-size: 12px; }

/* ---------- Focus areas (homepage) ---------- */

.aipmm-focus-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; padding: 56px 0; }
.aipmm-focus-item {
	text-align: center; border-radius: 12px; padding: 48px 28px; color: #fff;
	display: flex; flex-direction: column; align-items: center; gap: 14px;
}
.aipmm-focus-item--deep-green { background: var(--wp--preset--color--deep-green); }
.aipmm-focus-item--orange { background: var(--wp--preset--color--orange); }
.aipmm-focus-item--orange-dark { background: var(--wp--preset--color--orange-dark); }
.aipmm-focus-item img { display: block; filter: brightness(0) invert(1); width: 80px; height: 80px; }
.aipmm-focus-item h3 { font: 700 22px "Source Serif 4", serif; margin: 0; color: #fff; }
.aipmm-focus-item p { font: 400 14px/1.5 "Inter", sans-serif; margin: 0; opacity: 0.85; }

/* ---------- Video teaser (homepage) ---------- */

.aipmm-video-teaser-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 30px; }
.aipmm-video-teaser-card { display: block; border-radius: 8px; overflow: hidden; background: rgba(246,243,234,0.06); }
.aipmm-video-teaser-card__thumb { position: relative; aspect-ratio: 16/9; overflow: hidden; }
.aipmm-video-teaser-card__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aipmm-video-teaser-card__play {
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	font-size: 20px; color: #fff; background: rgba(0,0,0,0.25); transition: background 0.2s ease;
}
.aipmm-video-teaser-card:hover .aipmm-video-teaser-card__play { background: rgba(0,0,0,0.4); }
.aipmm-video-teaser-card__title {
	padding: 14px 16px; font: 600 14px/1.4 "Inter", sans-serif; color: #f6f3ea;
}

.aipmm-card {
	border: 1px solid rgba(32,31,26,0.1); border-radius: 8px; overflow: hidden;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
	display: flex; flex-direction: column; width: 100%; height: 100%;
}
.aipmm-card:hover { box-shadow: 0 10px 26px rgba(0,0,0,0.1); transform: translateY(-2px); }
.aipmm-card__media { display: block; overflow: hidden; flex: none; }
.aipmm-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.3s ease; }
.aipmm-card:hover .aipmm-card__media img { transform: scale(1.05); }
.aipmm-card__body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.aipmm-card__body h3 { margin: 0 0 8px; }
.aipmm-card__epithet { display: block; color: var(--wp--preset--color--orange); font-size: 12px; margin-bottom: 4px; }
.aipmm-card__meta { gap: 10px !important; opacity: 0.75; margin-top: auto; padding-top: 10px; }
.aipmm-card__meta > * { margin: 0; }

/* Clamp excerpts so varying content lengths don't break equal card heights */
.aipmm-card__body .wp-block-post-excerpt,
.aipmm-card__body .wp-block-post-title {
	display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden;
}
.aipmm-card__body .wp-block-post-title { -webkit-line-clamp: 2; margin-bottom: 8px !important; }
.aipmm-card__body .wp-block-post-excerpt { -webkit-line-clamp: 3; flex: 1; }

.aipmm-badge {
	display: inline-block; font: 600 11px "Inter", sans-serif; letter-spacing: 0.05em; text-transform: uppercase;
	color: var(--wp--preset--color--deep-green); background: rgba(201,162,39,0.25);
	padding: 4px 9px; border-radius: 4px; margin: 0 0 12px;
}
.aipmm-badge a { color: inherit; }
.aipmm-badge--feature { background: var(--wp--preset--color--orange); color: #fff; }

/* ---------- News Hub (magazine layout) ---------- */

.aipmm-news-section-title {
	margin: 44px 0 22px; padding-bottom: 14px; border-bottom: 2px solid rgba(32,31,26,0.1);
}

.aipmm-news-feature {
	display: grid; grid-template-columns: 1.1fr 1fr; gap: 28px; align-items: center;
	background: #fff; border: 1px solid rgba(32,31,26,0.1); border-radius: 10px; overflow: hidden; margin-bottom: 12px;
}
.aipmm-news-feature__media { display: block; overflow: hidden; aspect-ratio: 4/3; }
.aipmm-news-feature__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aipmm-news-feature__body { padding: 28px 32px 28px 0; }
.aipmm-news-feature__meta { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; }
.aipmm-news-feature__cat { font: 600 11px "Inter", sans-serif; letter-spacing: 0.05em; text-transform: uppercase; color: var(--wp--preset--color--deep-green); }
.aipmm-news-feature__date { font: 400 12px "Inter", sans-serif; opacity: 0.45; }
.aipmm-news-feature__title {
	font: 700 26px/1.3 "Source Serif 4", serif; margin: 0 0 12px; text-wrap: pretty;
}
.aipmm-news-feature__title a { color: var(--wp--preset--color--ink); }
.aipmm-news-feature__excerpt { font: 400 15px/1.6 "Inter", sans-serif; opacity: 0.7; margin: 0 0 16px; }
.aipmm-news-feature__readmore { font: 600 13px "Inter", sans-serif; }

.aipmm-news-card__title a { font-family: "Source Serif 4", serif; }

/* ---------- Sidebar ---------- */

/* The sidebar's parent column must stay as tall as the main content
   column (flex stretch, the default) or the sticky element has no room
   to travel while scrolling and never appears to "stick". */
.aipmm-news-layout.wp-block-columns { align-items: stretch !important; }
.aipmm-news-sidebar { position: sticky; top: 96px; }
.aipmm-sidebar-card { border: 1px solid rgba(32,31,26,0.1); border-radius: 8px; padding: 22px; margin-bottom: 20px; }
.aipmm-sidebar-list li.is-current a { color: var(--wp--preset--color--orange); font-weight: 600; }
.aipmm-sidebar-card h3 { margin: 0 0 14px; }
.aipmm-sidebar-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.aipmm-sidebar-list li {
	display: flex; align-items: center; justify-content: space-between;
	padding: 10px 0; border-bottom: 1px solid rgba(32,31,26,0.08); font: 400 14px "Inter", sans-serif;
}
.aipmm-sidebar-list li:last-child { border-bottom: none; }
.aipmm-sidebar-list a { color: var(--wp--preset--color--ink); }
.aipmm-sidebar-list__count { font-size: 12px; opacity: 0.4; }
.aipmm-sidebar-cta { text-align: left; }
.aipmm-sidebar-cta .wp-block-buttons { margin-top: 14px; }

/* ---------- Article list (Intellectual Hub, taxonomy archive) ---------- */

.aipmm-article-list { display: flex; flex-direction: column; gap: 16px; }
.aipmm-article-row { border: 1px solid rgba(32,31,26,0.1); border-radius: 8px; padding: 26px; }
.aipmm-article-row h3 { margin: 0 0 10px; }

.aipmm-search-form { display: flex; gap: 8px; flex: 1; min-width: 220px; max-width: 340px; }
.aipmm-search-form input {
	flex: 1; padding: 11px 16px; border: 1px solid rgba(32,31,26,0.15); border-radius: 6px;
	font: 400 14px "Inter", sans-serif; background: #fff;
}
.aipmm-search-form button {
	padding: 11px 16px; border: none; border-radius: 6px; background: var(--wp--preset--color--deep-green);
	color: #fff; font: 600 13px "Inter", sans-serif; cursor: pointer;
}

.aipmm-pill-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.aipmm-pill {
	background: #fff; border: 1px solid rgba(32,31,26,0.15); color: #201f1a;
	font: 500 12px "Inter", sans-serif; padding: 9px 14px; border-radius: 20px; white-space: nowrap; display: inline-block;
}
.aipmm-pill:hover { background: var(--wp--preset--color--deep-green); border-color: var(--wp--preset--color--deep-green); color: #fff; }

/* ---------- Single article / post ---------- */

.aipmm-back-link { display: inline-block; margin-bottom: 28px; font: 600 13px "Inter", sans-serif; }

.aipmm-share-row { display: flex; align-items: center; gap: 10px; margin: 24px 0 32px; }
.aipmm-share-row__label { font: 600 12px "Inter", sans-serif; opacity: 0.5; margin-right: 4px; }
.aipmm-share-btn {
	width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
	background: var(--wp--preset--color--deep-green); color: #fff; font: 700 13px "Inter", sans-serif;
}
.aipmm-share-btn:hover { background: var(--wp--preset--color--orange); color: #fff; }
.aipmm-single__image img { width: 100%; height: auto; display: block; margin-bottom: 24px; }
.aipmm-article__title { text-wrap: pretty; margin-bottom: 14px; }
.aipmm-article__body { font-family: "Source Serif 4", serif; font-size: 18px; line-height: 1.85; }
.aipmm-article__body p { margin: 0 0 22px; }

/* ---------- Personality profile ---------- */

.aipmm-profile__portrait img { width: 100%; height: 100%; object-fit: cover; margin-bottom: 24px; }
.aipmm-profile__epithet { font: 600 14px "Inter", sans-serif; color: var(--wp--preset--color--orange); margin-bottom: 6px; }
.aipmm-profile__meta-row { gap: 16px !important; margin-bottom: 22px; }
.aipmm-profile__years { font: 400 13px "Inter", sans-serif; opacity: 0.45; }
.aipmm-profile__bio { font-family: "Source Serif 4", serif; font-size: 16px; line-height: 1.75; opacity: 0.85; }
.aipmm-profile__bio p { margin: 0 0 18px; }

.aipmm-profile-extra { margin-bottom: 28px; }
.aipmm-profile-quote {
	font: italic 600 20px/1.5 "Source Serif 4", serif; color: var(--wp--preset--color--deep-green);
	border-left: 3px solid var(--wp--preset--color--gold); padding-left: 20px; margin: 0 0 24px;
}
.aipmm-profile-achievements__label { font: 600 12px "Inter", sans-serif; letter-spacing: 0.05em; text-transform: uppercase; opacity: 0.5; margin-bottom: 10px; }
.aipmm-profile-achievements ul { margin: 0; padding-left: 20px; }
.aipmm-profile-achievements li { font: 400 15px/1.6 "Inter", sans-serif; margin-bottom: 6px; }

.aipmm-speeches { border: 1px solid rgba(32,31,26,0.1); border-radius: 8px; padding: 18px; }
.aipmm-speeches__label { font: 600 12px "Inter", sans-serif; letter-spacing: 0.05em; text-transform: uppercase; opacity: 0.5; margin-bottom: 12px; }
.aipmm-speeches__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.aipmm-speeches__list a { display: flex; align-items: center; gap: 8px; font: 400 13px "Inter", sans-serif; color: #201f1a; }
.aipmm-speeches__list a span:last-child { text-decoration: underline; }
.aipmm-speeches__empty { font-size: 13px; opacity: 0.5; margin: 0; }

/* ---------- CTA band ---------- */

.aipmm-cta__text { max-width: 520px; opacity: 0.75; margin: 8px auto 22px; }

/* ---------- Footer ---------- */

.aipmm-footer__label { font: 600 12px "Inter", sans-serif; letter-spacing: 0.05em; text-transform: uppercase; opacity: 0.4; margin: 0 0 16px; }
.aipmm-footer__links { display: flex; flex-direction: column; gap: 10px; font: 400 13px "Inter", sans-serif; }
.aipmm-footer__links a { color: inherit; opacity: 0.7; }
.aipmm-footer__links a:hover { opacity: 1; }
.aipmm-social-row { display: flex; gap: 10px; margin-top: 18px; }
.aipmm-social-icon {
	width: 32px; height: 32px; border-radius: 50%; background: rgba(246,243,234,0.1);
	display: flex; align-items: center; justify-content: center; font-size: 13px; color: #f6f3ea;
}

/* ---------- Forms (Join / Donate) ---------- */

.aipmm-form, .aipmm-form-success { display: flex; flex-direction: column; gap: 18px; background: #fff; border: 1px solid rgba(32,31,26,0.1); border-radius: 8px; padding: 32px; }
.aipmm-form-success { text-align: center; padding: 60px 20px; }
.aipmm-form-success__icon { font-size: 40px; margin-bottom: 18px; color: var(--wp--preset--color--orange); }
.aipmm-form-success__payment { margin-top: 20px; }
.aipmm-form-error { background: #fdecea; color: #9a3412; border-radius: 6px; padding: 12px 14px; font-size: 13px; }

.aipmm-field { display: flex; flex-direction: column; gap: 6px; }
.aipmm-field label { font: 600 12px "Inter", sans-serif; }
.aipmm-field input {
	width: 100%; padding: 11px 14px; border: 1px solid rgba(32,31,26,0.15); border-radius: 6px;
	font: 400 14px "Inter", sans-serif;
}
.aipmm-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

.aipmm-fee-banner {
	display: flex; align-items: center; justify-content: space-between; background: var(--wp--preset--color--cream);
	border-radius: 6px; padding: 14px 16px; margin-top: 6px; font: 600 13px "Inter", sans-serif;
}
.aipmm-fee-banner strong { font-family: "Source Serif 4", serif; font-size: 16px; }

.aipmm-btn { border: none; border-radius: 6px; font: 700 15px "Inter", sans-serif; padding: 14px; cursor: pointer; }
.aipmm-btn--orange { background: var(--wp--preset--color--orange); color: #fff; }
.aipmm-btn--orange:hover { background: var(--wp--preset--color--orange-dark); }
.aipmm-btn--block { width: 100%; }
.aipmm-form-note { font: 400 11px "Inter", sans-serif; opacity: 0.4; text-align: center; margin: 0; }

.aipmm-donate-card { border: 1px solid rgba(32,31,26,0.1); border-radius: 8px; padding: 32px; text-align: center; }
.aipmm-payment-not-configured { font-size: 13px; opacity: 0.6; font-style: italic; }

/* ---------- Contact Form 7 forms (Volunteer, etc.) ---------- */

.aipmm-form-card { border: 1px solid rgba(32,31,26,0.1); border-radius: 8px; padding: 32px; margin-top: 24px; }
.aipmm-form-card .wpcf7-form p { margin: 0; }
.aipmm-form-card .aipmm-field,
.aipmm-form-card .aipmm-field-row > .aipmm-field { margin-bottom: 18px; }
.aipmm-form-card .aipmm-field label { display: block; font: 600 12px "Inter", sans-serif; margin-bottom: 6px; }
.aipmm-form-card .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
.aipmm-form-card input.wpcf7-form-control,
.aipmm-form-card select.wpcf7-form-control,
.aipmm-form-card textarea.wpcf7-form-control {
	width: 100%; padding: 11px 14px; border: 1px solid rgba(32,31,26,0.15); border-radius: 6px;
	font: 400 14px "Inter", sans-serif; background: #fff;
}
.aipmm-form-card input[type="submit"].wpcf7-form-control {
	width: auto; background: var(--wp--preset--color--orange); color: #fff; border: none;
	font: 700 15px "Inter", sans-serif; padding: 14px 28px; cursor: pointer;
}
.aipmm-form-card input[type="submit"].wpcf7-form-control:hover { background: var(--wp--preset--color--orange-dark); }
.aipmm-form-card .wpcf7-response-output { border-radius: 6px; padding: 12px 14px; font-size: 13px; margin-top: 16px; }
.aipmm-form-card .wpcf7-not-valid-tip { color: #c0392b; font-size: 12px; margin-top: 4px; display: block; }

/* ---------- Responsive ---------- */

@media (max-width: 900px) {
	.aipmm-card-grid--3 .wp-block-post-template,
	.aipmm-card-grid--2 .wp-block-post-template,
	.aipmm-card-grid--4 .wp-block-post-template { grid-template-columns: repeat(2, 1fr); }
	.aipmm-mission-grid { grid-template-columns: repeat(2, 1fr); }
	.aipmm-focus-row { grid-template-columns: 1fr; }
	.aipmm-header__row { flex-wrap: wrap; }
	.aipmm-nav { order: 3; flex-basis: 100%; overflow-x: auto; }
	.aipmm-news-feature { grid-template-columns: 1fr; }
	.aipmm-news-feature__body { padding: 24px; }
	.aipmm-video-teaser-grid { grid-template-columns: 1fr; }
	.aipmm-news-sidebar { position: static; }
}

@media (max-width: 640px) {
	.aipmm-card-grid--3 .wp-block-post-template,
	.aipmm-card-grid--2 .wp-block-post-template,
	.aipmm-card-grid--4 .wp-block-post-template { grid-template-columns: 1fr; }
	.aipmm-mission-grid { grid-template-columns: 1fr; }
	.aipmm-field-row { grid-template-columns: 1fr; }
	.aipmm-header__actions span { display: none; }
	.aipmm-news-feature__title { font-size: 22px; }
	.aipmm-mission-hero__title { font-size: 28px; }
}

/* Shared page boundaries; prose retains a comfortable reading measure. */
.aipmm-breadcrumbs { box-sizing:border-box; max-width:1296px; margin:24px auto 0; padding:0 28px; font-size:13px; }
.aipmm-breadcrumbs ol { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0; padding:0; }
.aipmm-breadcrumbs li + li::before { content:"/"; margin-right:8px; color:var(--wp--preset--color--ink-muted); }
.aipmm-breadcrumbs li { overflow-wrap:anywhere; }
.wp-site-blocks > main { margin-top:0; }
.wp-site-blocks > main > .wp-block-post-content > :where(p,ul,ol,blockquote) { max-width:78ch; }
.aipmm-article-layout { display:grid !important; grid-template-columns:280px minmax(0,1fr); gap:40px !important; }
.aipmm-article-layout > .wp-block-column:first-child { grid-column:2; grid-row:1; min-width:0; }
.aipmm-article-layout > .wp-block-column:last-child { grid-column:1; grid-row:1; min-width:0; }
.aipmm-share-row { justify-content:flex-end; flex-wrap:wrap; }
.aipmm-share-row .aipmm-share-btn { width:auto; min-height:40px; padding:8px 12px; color:var(--wp--preset--color--ink); background:white; border:1px solid #d6d1c5; }
.aipmm-sidebar-card h2 { font-size:18px; margin-top:0; }
.aipmm-author,.aipmm-related { border-top:1px solid #d6d1c5; margin-top:40px; padding-top:28px; }
.aipmm-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.aipmm-related-grid h3 { font-size:18px; padding:0 16px 16px; }
.aipmm-related-grid img { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; }
.aipmm-about-body { max-width:78ch; margin-inline:auto; }
.aipmm-about-toc { padding:24px; background:white; border:1px solid #d6d1c5; }
.aipmm-about-body h2 { scroll-margin-top:120px; }
:where(a,button,input,select,textarea):focus-visible { outline:3px solid var(--wp--preset--color--orange); outline-offset:4px; }
@media(max-width:900px) { .aipmm-article-layout { display:flex !important; flex-direction:column; } .aipmm-related-grid { grid-template-columns:1fr; } }
@media(max-width:640px) { .aipmm-breadcrumbs { padding-inline:20px; } .wp-site-blocks > main { padding-inline:20px !important; } }

@media(min-width:901px) { .aipmm-news-sidebar { max-height:calc(100dvh - 116px); overflow-y:auto; scrollbar-gutter:stable; } }
/* Inner padding belongs outside the 1240px content measure. */
.wp-site-blocks > .wp-block-columns { max-width:1296px; margin-inline:auto; }
.aipmm-section-inner,.aipmm-footer__inner,.aipmm-footer__bottom { max-width:1296px !important; width:100%; }
@media(max-width:900px) {
 .aipmm-header__actions { margin-left:auto; }
 .aipmm-header__cta { flex-wrap:nowrap !important; }
 .aipmm-header__cta .wp-block-button__link { font-size:14px; padding:10px 14px; white-space:nowrap; }
 .aipmm-nav { overflow:visible; flex-wrap:wrap; }
 .aipmm-header__row { gap:12px; }
}
@media(max-width:640px) {
 .aipmm-header { padding-inline:20px !important; }
 .aipmm-header__actions { width:100%; justify-content:space-between; }
 .aipmm-nav__link { padding:9px 8px; }
 .aipmm-article__title { font-size:32px !important; }
 .aipmm-section-inner,.aipmm-footer__inner,.aipmm-footer__bottom { padding-inline:20px !important; }
}
.aipmm-article__body { overflow-wrap:anywhere; }
.aipmm-article__body iframe,.aipmm-article__body video { max-width:100%; }
@media(max-width:900px) { .aipmm-article-layout > .wp-block-column { width:100%; max-width:100%; } }
.aipmm-article__body .wp-caption { max-width:100%; }
.aipmm-article__body .wp-caption img { max-width:100%; height:auto; }

/* Cards share edge-to-edge media and a compact 10px text inset. */
.aipmm-card.wp-block-group.has-background,.aipmm-card { padding:0; }
.aipmm-card > .aipmm-card__media { margin:0; width:100%; max-width:none; }
.aipmm-card__body,.aipmm-explore-card,.aipmm-sidebar-card,.aipmm-article-row,
.aipmm-donate-card,.aipmm-form-card,.aipmm-news-feature__body,.aipmm-video-teaser-card__title { padding:10px; }
.aipmm-card__body > * { max-width:100%; }
.aipmm-related-grid h3 { padding:10px; margin:0; }
.aipmm-related-grid img { display:block; }
.aipmm-card-grid .wp-block-post-template > li,.aipmm-card__body { min-width:0; }
.aipmm-card__body :where(h2,h3,p,a) { overflow-wrap:anywhere; }

/* Native modal drawer keeps focus inside the menu and makes the page inert. */
.aipmm-menu-toggle { display:none; }
.aipmm-mobile-menu { border:0; padding:20px; margin:0 0 0 auto; inset:0 0 0 auto; width:min(88vw,380px); max-width:100vw; height:100dvh; max-height:100dvh; color:#f6f3ea; background:#1a2e22; overflow-y:auto; }
.aipmm-mobile-menu::backdrop { background:rgb(0 0 0 / 55%); }
.aipmm-mobile-menu[open] { animation:aipmm-drawer-in .24s ease-out; }
.aipmm-mobile-menu__top { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
.aipmm-menu-toggle,.aipmm-menu-close { width:44px; height:44px; padding:0; border:1px solid #c9a227; border-radius:6px; background:transparent; color:#f6f3ea; font-size:26px; cursor:pointer; }
.aipmm-menu-open { overflow:hidden; }
@keyframes aipmm-drawer-in { from { transform:translateX(100%); } to { transform:translateX(0); } }
@media(max-width:1100px) {
 .aipmm-drawer-ready .aipmm-header__row { flex-wrap:nowrap; gap:12px; }
 .aipmm-drawer-ready .aipmm-menu-toggle { display:inline-flex; align-items:center; justify-content:center; margin-left:auto; flex:none; }
 .aipmm-mobile-menu .aipmm-nav { display:flex; flex-direction:column; align-items:stretch; white-space:normal; gap:4px; overflow:visible; }
 .aipmm-mobile-menu .aipmm-nav__link,.aipmm-mobile-menu .aipmm-nav__more-menu a { padding:12px 10px; font-size:16px; color:#f6f3ea; }
 .aipmm-mobile-menu .aipmm-nav__more-toggle { display:none; }
 .aipmm-mobile-menu .aipmm-nav__more-menu { display:flex; position:static; border:0; border-radius:0; box-shadow:none; background:transparent; }
 .aipmm-mobile-menu .aipmm-header__actions { display:flex; flex-direction:column; align-items:stretch; margin:20px 0 0; gap:20px; width:100%; }
 .aipmm-mobile-menu .aipmm-header__cta { display:flex; flex-wrap:wrap !important; gap:10px; }
 .aipmm-mobile-menu .wp-block-button__link { font-size:16px; padding:12px 16px; }
}
@media(prefers-reduced-motion:reduce) { .aipmm-mobile-menu[open] { animation:none; } }
.aipmm-card--article.wp-block-group.has-background,.aipmm-mission-card,.aipmm-focus-item,.aipmm-about-toc,.aipmm-form,.aipmm-form-success { padding:10px; }
.aipmm-card > .aipmm-card__body { margin-block-start:0; gap:10px; }
.aipmm-card .aipmm-card__body > * { margin-top:0; margin-bottom:0; }
.aipmm-card .aipmm-card__body > .aipmm-card__meta { margin-top:auto; padding-top:0; }
.aipmm-card__body .wp-block-post-excerpt p { margin-block:0; }
/* Equal dimensions preserve true circles independently of label length. */
.aipmm-share-row .aipmm-share-btn { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; min-width:44px; min-height:44px; flex:0 0 44px; padding:0; border-radius:50%; line-height:1; font-size:15px; }
.aipmm-legacy-related { clear:both; margin-top:32px; }
.aipmm-related-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:600px) { .aipmm-related-grid { display:flex; overflow-x:auto; gap:12px; scroll-snap-type:x proximity; padding-bottom:8px; } .aipmm-related-grid > article { flex:0 0 78%; scroll-snap-align:start; } }
.aipmm-legacy-related .relpost-block-container { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:20px !important; }
.aipmm-legacy-related .relpost-block-single { width:auto !important; min-width:0; margin:0 !important; }
@media(max-width:600px) {
 .aipmm-legacy-related .relpost-block-container { display:flex !important; overflow-x:auto; gap:12px !important; scroll-snap-type:x proximity; }
 .aipmm-legacy-related .relpost-block-single { flex:0 0 78%; scroll-snap-align:start; }
}

/* Site-wide removal of default WordPress background-group insets. */
:where(.wp-block-group.has-background) { padding:0; }
.wp-block-group.has-background { padding:0; }
/* About: editorial sections adapted from the supplied brief. */
.aipmm-about-designed { color:var(--wp--preset--color--ink); }
.aipmm-about-hero { display:grid; grid-template-columns:1.05fr 1fr; align-items:stretch; background:#fff; border:1px solid #ddd8cc; border-radius:12px; overflow:hidden; }
.aipmm-about-hero-copy { padding:clamp(20px,4vw,52px); align-self:center; }
.aipmm-about-hero h1 { font-size:clamp(30px,3.4vw,50px); line-height:1.35; margin:16px 0; }
.aipmm-about-hero p { line-height:1.9; }
.aipmm-about-kicker { color:#8b6b0c; font:700 12px/1.6 Inter,system-ui,sans-serif; letter-spacing:.09em; }
.aipmm-about-hero-media { margin:0; min-width:0; background:#1a2e22; display:flex; align-items:center; }
.aipmm-about-hero-media img { display:block; width:100%; height:auto; }
.aipmm-about-jump { display:inline-flex; gap:18px; padding:12px 0; color:#1a2e22; border-bottom:2px solid #c9a227; font-weight:700; }
.aipmm-about-nav { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0 0; padding-bottom:24px; border-bottom:1px solid #ddd8cc; }
.aipmm-about-nav a { padding:9px 14px; border:1px solid #d4cebe; border-radius:30px; color:#1a2e22; font-size:14px; }
.aipmm-about-nav a:hover { background:#1a2e22; color:#fff; }
.aipmm-about-section { padding-block:44px; scroll-margin-top:100px; border-bottom:1px solid #ddd8cc; }
.aipmm-about-section-heading { margin-bottom:24px; max-width:850px; }
.aipmm-about-section h2,.aipmm-about-closing h2 { font-size:clamp(26px,2.5vw,36px); margin:8px 0 12px; line-height:1.4; }
.aipmm-about-section p { line-height:1.85; margin:0; }
.aipmm-about-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.aipmm-about-card { padding:10px; background:#fff; border:1px solid #ddd8cc; border-top:3px solid #c9a227; border-radius:8px; min-width:0; }
.aipmm-about-card h3 { font-size:21px; line-height:1.5; margin:6px 0 10px; }
.aipmm-about-card p { font-size:15px; }
.aipmm-about-number { display:inline-block; color:#8b6b0c; font:700 25px/1.5 Inter,system-ui,sans-serif; margin-bottom:12px; }
.aipmm-about-pair { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.aipmm-about-statement { padding:10px; background:#fff; border:1px solid #ddd8cc; border-radius:10px; }
.aipmm-about-statement--green,.aipmm-about-closing { background:#1a2e22; color:#f6f3ea; }
.aipmm-about-statement--green .aipmm-about-kicker,.aipmm-about-closing .aipmm-about-kicker { color:#e2c563; }
.aipmm-about-closing { margin-top:44px; padding:32px; border-radius:12px; border-left:5px solid #c9a227; }
.aipmm-about-closing p { max-width:85ch; line-height:1.85; }
@media(max-width:900px) { .aipmm-about-hero { grid-template-columns:1fr; } .aipmm-about-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .aipmm-about-hero-media { max-height:420px; overflow:hidden; } }
@media(max-width:600px) { .aipmm-about-grid,.aipmm-about-pair { grid-template-columns:1fr; } .aipmm-about-section { padding-block:28px; } .aipmm-about-statement { padding:10px; } .aipmm-about-closing { padding:20px; } }

/* Targeted panel insets: keep ordinary media cards flush. */
.wp-block-group.aipmm-sidebar-card.has-background { padding:20px; }
.wp-block-group.aipmm-hero-cta.has-background { padding:28px; }
.aipmm-movement-band { border-block:1px solid #d5c594; }
@media(max-width:600px) { .wp-block-group.aipmm-sidebar-card.has-background,.wp-block-group.aipmm-hero-cta.has-background { padding:18px; } }
.aipmm-channel-player { width:100%; min-height:220px; aspect-ratio:16/9; border:0; display:block; background:#1a2e22; border-radius:10px; }
.aipmm-channel-links { display:flex; flex-wrap:wrap; gap:12px; margin:20px 0 32px; }
.aipmm-channel-links a { display:inline-block; padding:10px 16px; border:1px solid #1a2e22; border-radius:6px; color:#1a2e22; }

.aipmm-channel-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:28px; }
.aipmm-channel-grid img { display:block; width:100%; height:auto; }
.aipmm-channel-title { padding:10px; margin:0; font-size:18px; line-height:1.5; }
.aipmm-channel-pagination { display:flex; justify-content:center; align-items:center; gap:24px; margin-top:32px; }
@media(max-width:900px) { .aipmm-channel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .aipmm-channel-grid { grid-template-columns:1fr; } }

/* Personality detail pages share the site's 1240px content alignment. */
.aipmm-profile-layout > .wp-block-columns { width:100%; max-width:1240px; margin-inline:auto; }
.aipmm-profile-layout .wp-block-column { min-width:0; }
.aipmm-profile__bio { width:100%; max-width:none; opacity:1; }
.aipmm-profile__bio > * { max-width:none; margin-inline:0; }
.aipmm-profile__bio h2 { margin:26px 0 12px; font-size:26px; }
.aipmm-profile__bio ul { padding-left:22px; }
.aipmm-profile__lifespan,.aipmm-profile__years { font:400 14px/1.6 Inter,system-ui,sans-serif; color:#55584f; opacity:1; }

.aipmm-profile-layout > .aipmm-back-link { display:block; max-width:1240px; margin-inline:auto; }

/* Compact header actions align with the 40px brand mark. */
.aipmm-header__cta .wp-block-button__link { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; min-height:40px; padding:8px 14px; font-size:14px; line-height:20px; white-space:nowrap; }
@media(max-width:1100px) { .aipmm-mobile-menu .aipmm-header__cta .wp-block-button__link { min-height:44px; } }

/* Standalone editorial images occupy their own row, never float over prose. */
.aipmm-article__body { display:flow-root; min-width:0; }
.aipmm-article__body :is(.alignleft,.alignright,.aligncenter,.wp-caption,.wp-block-image):not(:where(.wp-block-gallery *,.gallery *,.wp-block-media-text *)) { float:none !important; clear:both; width:100% !important; max-width:100% !important; margin:24px 0 !important; }
.aipmm-article__body img:not(:where(.wp-block-gallery img,.gallery img,.wp-block-media-text img)) { display:block; float:none !important; clear:both; max-width:100% !important; }
.aipmm-article__body img:not([style*="object-fit"]):not([style*="aspect-ratio"]):not(:where(.wp-block-gallery img,.gallery img,.wp-block-media-text img)) { width:100% !important; height:auto !important; }
.aipmm-article__body .wp-caption-text { width:100%; margin-top:8px; }
