﻿/**
 * Inner pages - shared layout polish (About, Mission, Works, Members, etc.)
 */

.site-main--pages {
	padding-bottom: 0;
}

/* Alternating section backgrounds */
.abp-section--cream {
	background: var(--abp-color-cream, #faf8f5);
}

/* Photo banner hero (About) */
.abp-page-hero-banner {
	position: relative;
	min-height: clamp(220px, 38vw, 420px);
	display: flex;
	align-items: center;
	justify-content: center;
	background-image: var(--abp-hero-banner-image);
	background-size: cover;
	background-position: center;
	color: #fff;
	text-align: center;
}

.abp-page-hero-banner__overlay {
	position: absolute;
	inset: 0;
	background: rgba(20, 22, 14, 0.52);
	pointer-events: none;
}

.abp-page-hero-banner__inner {
	position: relative;
	z-index: 1;
	width: 100%;
}

.abp-page-hero-banner__title {
	margin: 0;
	font-size: clamp(2rem, 5.5vw, 3.25rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: #fff;
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

.abp-page-hero-banner__sub {
	margin: 0.75rem 0 0;
	max-width: 36rem;
	margin-inline: auto;
	font-size: var(--abp-text-md);
	line-height: 1.5;
	opacity: 0.92;
}

/* Solid page hero (other inner pages) */
.abp-page-hero {
	position: relative;
	padding: clamp(2.75rem, 6vw, 4rem) 0;
	background: linear-gradient(
		135deg,
		var(--abp-color-primary, #6b7039) 0%,
		#5a5f32 55%,
		#4a4f28 100%
	);
	color: #fff;
	overflow: hidden;
}

.abp-page-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 80% 60% at 100% 0%, rgba(249, 168, 37, 0.12), transparent 55%);
	pointer-events: none;
}

.abp-page-hero .abp-container {
	position: relative;
	z-index: 1;
}

.abp-page-hero__title {
	margin: 0 0 0.65rem;
	font-size: clamp(var(--abp-text-2xl), 4.5vw, 2.75rem);
	font-weight: 700;
	line-height: var(--abp-line-heading, 1.2);
	letter-spacing: -0.02em;
}

.abp-page-hero__sub {
	margin: 0;
	max-width: 38rem;
	font-size: var(--abp-text-md);
	line-height: 1.6;
	opacity: 0.92;
}

.abp-section--crumbs {
	padding: 0.85rem 0;
	background: #fff;
	border-bottom: 1px solid rgba(44, 44, 44, 0.06);
}

/* Section headings */
.abp-page-head {
	margin: 0 0 2rem;
	max-width: 40rem;
}

.abp-page-head--center {
	margin-inline: auto;
	text-align: center;
}

.abp-page-head__title {
	margin: 0 0 0.65rem;
	font-size: clamp(var(--abp-text-xl), 2.8vw, var(--abp-text-2xl));
	font-weight: 700;
	line-height: var(--abp-line-heading, 1.25);
	letter-spacing: -0.02em;
	color: var(--abp-color-text);
}

.abp-page-head__lead {
	margin: 0;
	font-size: var(--abp-text-md);
	line-height: 1.65;
	color: #5c5c5c;
}

.abp-section .abp-lead {
	font-size: var(--abp-text-lg);
	line-height: 1.65;
	color: #4a4a4a;
	max-width: 44rem;
	margin: 0 0 1.25rem;
}

.abp-section > p:not([class]) {
	max-width: 42rem;
	line-height: 1.65;
	color: #4a4a4a;
}

.abp-section > h3 {
	margin: 2rem 0 0.5rem;
	font-size: var(--abp-text-lg);
	font-weight: 700;
}

/* Cards */
.abp-section .abp-card {
	border: 1px solid rgba(107, 112, 57, 0.08);
	border-radius: 12px;
	box-shadow: 0 4px 20px rgba(44, 44, 44, 0.05);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.abp-section .abp-card:hover {
	box-shadow: 0 8px 28px rgba(44, 44, 44, 0.08);
	transform: translateY(-2px);
}

.abp-cards--principles .abp-card {
	border-top: 3px solid var(--abp-color-primary);
}

/* Checklist */
.abp-list-check {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.85rem;
	max-width: 36rem;
}

.abp-list-check li {
	position: relative;
	padding-left: 1.75rem;
	line-height: 1.55;
	color: #4a4a4a;
}

.abp-list-check li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.45em;
	width: 0.55rem;
	height: 0.3rem;
	border-left: 2px solid var(--abp-color-primary);
	border-bottom: 2px solid var(--abp-color-primary);
	transform: rotate(-45deg);
}

/* Values row */
.abp-cards--5 .abp-card {
	text-align: center;
	padding: 1.25rem 1rem;
}

.abp-cards--5 .abp-card h3 {
	margin: 0;
	font-size: var(--abp-text-base);
}

/* Split program rows (Our Works) */
.abp-split {
	gap: clamp(2rem, 4vw, 3.5rem);
}

.abp-split--reverse > :first-child {
	order: 2;
}

.abp-split--reverse > :last-child {
	order: 1;
}

.abp-split h2 {
	margin: 0 0 1rem;
	font-size: clamp(var(--abp-text-xl), 2.5vw, var(--abp-text-2xl));
	font-weight: 700;
	letter-spacing: -0.02em;
}

.abp-split p {
	margin: 0;
	line-height: 1.65;
	color: #5c5c5c;
	max-width: 32rem;
}

.abp-media-ph {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	background: var(--abp-color-cream);
	box-shadow: 0 8px 32px rgba(44, 44, 44, 0.08);
}

.abp-media-ph img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 16px;
}

.abp-media-ph .abp-ph-label {
	position: absolute;
	left: 0.75rem;
	bottom: 0.75rem;
	margin: 0;
	padding: 0.25rem 0.5rem;
	font-size: var(--abp-text-xs);
	background: rgba(255, 255, 255, 0.9);
	border-radius: 4px;
}

/* Support block */
.abp-support-panel {
	margin-top: 1rem;
	padding: 1.75rem;
	background: #fff;
	border-radius: 12px;
	border: 1px solid rgba(107, 112, 57, 0.1);
}

.abp-table {
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid rgba(107, 112, 57, 0.12);
}

.abp-table th {
	background: var(--abp-color-primary);
	color: #fff;
	font-weight: 600;
	border-color: transparent;
}

.abp-table td {
	background: #fff;
}

/* Team - members page */
.abp-team-showcase--page {
	margin-top: 0.5rem;
	max-width: 28rem;
	margin-inline: auto;
}

.abp-team-showcase--page .abp-team-showcase__body {
	max-width: 100%;
}

.abp-team-showcase__bio {
	margin: 0.75rem auto 0;
	max-width: 28rem;
	font-size: var(--abp-text-sm);
	line-height: 1.55;
	color: #5c5c5c;
}

.abp-team-member--card {
	background: #fff;
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid rgba(107, 112, 57, 0.08);
	box-shadow: 0 4px 18px rgba(44, 44, 44, 0.05);
	text-align: center;
}

.abp-team-member__photo img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.abp-team-member__body {
	padding: 1rem 1.1rem 1.25rem;
}

.abp-team-member__name {
	margin: 0 0 0.35rem;
	font-size: var(--abp-text-md);
	font-weight: 700;
}

.abp-team-member__role {
	margin: 0 0 0.5rem;
}

.abp-team-member__bio {
	margin: 0;
	text-align: left;
}

.abp-page-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

/* Contact form (shared) */
.abp-form {
	background: #fff;
	padding: 1.75rem;
	border-radius: 14px;
	border: 1px solid rgba(107, 112, 57, 0.1);
	box-shadow: 0 6px 24px rgba(44, 44, 44, 0.06);
}

.abp-form label span {
	display: block;
	margin-bottom: 0.35rem;
	font-size: var(--abp-text-sm);
	font-weight: 600;
	color: var(--abp-color-text);
}

.abp-form input,
.abp-form select,
.abp-form textarea {
	border: 1px solid #d4d0c8;
	border-radius: 8px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.abp-form input:focus,
.abp-form select:focus,
.abp-form textarea:focus {
	outline: none;
	border-color: var(--abp-color-primary);
	box-shadow: 0 0 0 3px rgba(107, 112, 57, 0.15);
}

.abp-form-note {
	margin-top: 0.75rem;
	font-size: var(--abp-text-sm);
	color: #6b6b6b;
}

/* Donate */
.abp-impact-line {
	margin: 0 0 2rem;
	padding: 1.25rem 1.5rem;
	font-size: var(--abp-text-md);
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	color: var(--abp-color-primary);
	background: rgba(107, 112, 57, 0.1);
	border-radius: 12px;
	border-left: 4px solid var(--abp-color-accent);
	max-width: 36rem;
}

/* Filter tabs */
.abp-filter-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
	margin-bottom: 2rem;
}

.abp-filter-tabs button {
	margin: 0;
	padding: 0.5rem 1.1rem;
	font: inherit;
	font-size: var(--abp-text-sm);
	font-weight: 600;
	color: var(--abp-color-text);
	background: #fff;
	border: 1px solid rgba(107, 112, 57, 0.2);
	border-radius: 999px;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.abp-filter-tabs button:hover {
	border-color: var(--abp-color-primary);
	color: var(--abp-color-primary);
}

.abp-filter-tabs button.is-active {
	background: var(--abp-color-primary);
	border-color: var(--abp-color-primary);
	color: #fff;
}

/* Gallery page - uniform 4×3 grid (12 per page), sharp edges */
.abp-section--gallery-page {
	padding-top: clamp(2rem, 4vw, 3rem);
}

.abp-gallery-uniform {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin: 0 0 2.5rem;
}

.abp-gallery-uniform__item {
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #e8e4dc;
	line-height: 0;
}

.abp-gallery-uniform__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.abp-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.75rem 1rem;
	margin: 0 0 0.5rem;
}

.abp-pagination__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.abp-pagination__link,
.abp-pagination__current,
.abp-pagination__prev,
.abp-pagination__next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	min-height: 2.5rem;
	padding: 0.35rem 0.75rem;
	font-size: var(--abp-text-sm);
	font-weight: 600;
	text-decoration: none;
	color: var(--abp-color-text);
	background: #fff;
	border: 1px solid rgba(107, 112, 57, 0.2);
	border-radius: 0;
}

.abp-pagination__current {
	background: var(--abp-color-primary);
	border-color: var(--abp-color-primary);
	color: #fff;
}

.abp-pagination__link:hover,
.abp-pagination__prev:hover,
.abp-pagination__next:hover {
	border-color: var(--abp-color-primary);
	color: var(--abp-color-primary);
}

.abp-pagination__status {
	margin: 0 0 2rem;
	text-align: center;
	font-size: var(--abp-text-sm);
	color: #6b6b6b;
}

@media (max-width: 768px) {
	.abp-gallery-uniform {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.abp-gallery-uniform {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 6px;
	}
}

/* Featured news / articles */
.abp-featured-card {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 2rem;
	align-items: center;
	margin-bottom: 2.5rem;
	padding: 1.5rem;
	background: #fff;
	border-radius: 16px;
	border: 1px solid rgba(107, 112, 57, 0.1);
	box-shadow: 0 8px 32px rgba(44, 44, 44, 0.07);
}

.abp-featured-card > img {
	width: 100%;
	border-radius: 12px;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.abp-featured-card h2 {
	margin: 0 0 0.5rem;
	font-size: var(--abp-text-xs);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--abp-color-primary);
}

.abp-featured-card h3 {
	margin: 0 0 0.75rem;
	font-size: clamp(var(--abp-text-lg), 2.5vw, var(--abp-text-xl));
	font-weight: 700;
	line-height: 1.3;
}

.abp-featured-card h3 a {
	color: inherit;
	text-decoration: none;
}

.abp-featured-card h3 a:hover {
	color: var(--abp-color-primary);
}

.abp-featured-card p {
	margin: 0 0 1rem;
	line-height: 1.6;
	color: #5c5c5c;
}

.abp-featured-card time {
	display: block;
	margin-bottom: 0.5rem;
	font-size: var(--abp-text-sm);
	color: #888;
}

/* News cards */
.abp-news-card {
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.abp-news-card:hover {
	box-shadow: 0 8px 24px rgba(44, 44, 44, 0.1);
	transform: translateY(-3px);
}

.abp-news-card h3 a {
	color: inherit;
	text-decoration: none;
}

.abp-news-card h3 a:hover {
	color: var(--abp-color-primary);
}

/* Events */
.abp-event-card {
	padding: 0;
	overflow: hidden;
}

.abp-event-card__media img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
}

.abp-event-card__body {
	padding: 1.25rem 1.35rem 1.35rem;
}

.abp-event-card__date {
	display: block;
	margin: 0 0 0.5rem;
	font-size: var(--abp-text-sm);
	font-weight: 600;
	color: var(--abp-color-primary);
}

.abp-event-card__title {
	margin: 0 0 0.5rem;
	font-size: var(--abp-text-lg);
}

.abp-event-card__desc {
	margin: 0 0 0.5rem;
	color: #5c5c5c;
	line-height: 1.55;
}

.abp-event-card__location {
	margin: 0;
	font-size: var(--abp-text-sm);
	color: #888;
}

/* FAQ cards */
.abp-faq-item--card {
	padding: 1.15rem 1.35rem;
	background: #fff;
	border-radius: 12px;
	border: 1px solid rgba(107, 112, 57, 0.1);
}

.abp-faq-item__q {
	margin: 0 0 0.5rem;
	font-size: var(--abp-text-md);
	color: var(--abp-color-text);
}

/* Privacy prose */
.abp-prose {
	font-size: var(--abp-text-md);
	line-height: 1.7;
	color: #4a4a4a;
}

/* CTA band */
.abp-section--cta {
	padding: clamp(2.5rem, 5vw, 3.5rem) 0;
}

.abp-cta-band {
	max-width: 40rem;
	margin-inline: auto;
}

.abp-section--cta .abp-btn--outline {
	border-color: rgba(255, 255, 255, 0.65);
	color: #fff;
}

.abp-section--cta .abp-btn--outline:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: #fff;
	color: #fff;
}

/* Single article */
.abp-article-single__hero {
	position: relative;
	min-height: clamp(220px, 40vw, 360px);
	display: flex;
	align-items: flex-end;
	padding: 2rem 0;
	background-size: cover;
	background-position: center;
	color: #fff;
}

.abp-article-single__hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(30, 32, 18, 0.85), rgba(30, 32, 18, 0.25));
}

.abp-article-single__hero .abp-container {
	position: relative;
	z-index: 1;
}

.abp-article-single__hero h1 {
	margin: 0 0 0.5rem;
	font-size: clamp(var(--abp-text-2xl), 4vw, 2.5rem);
	max-width: 44rem;
}

.abp-article-single__body {
	padding-block: clamp(2rem, 5vw, 3rem);
	font-size: var(--abp-text-md);
	line-height: 1.75;
	color: #4a4a4a;
}

.abp-article-single__body p {
	margin: 0 0 1.25rem;
}

.abp-cards--principles {
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

/* Responsive */
@media (max-width: 991px) {
	.abp-split--reverse > :first-child,
	.abp-split--reverse > :last-child {
		order: unset;
	}

	.abp-featured-card {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.abp-filter-tabs {
		justify-content: flex-start;
		overflow-x: auto;
		flex-wrap: nowrap;
		padding-bottom: 0.25rem;
		-webkit-overflow-scrolling: touch;
	}

	.abp-filter-tabs button {
		flex-shrink: 0;
	}
}

/* Inner pages - primary banner (members, contact, etc.) */
.abp-page-banner {
	position: relative;
	background: var(--abp-color-primary);
	color: #fff;
	text-align: center;
	padding: clamp(2.75rem, 7vw, 4.5rem) clamp(1rem, 3vw, 2rem);
}

.abp-page-banner__inner {
	max-width: 48rem;
	margin-inline: auto;
}

.abp-page-banner__title {
	margin: 0 0 1rem;
	font-size: clamp(1.75rem, 4.5vw, 2.75rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #fff;
}

.abp-page-banner__org {
	margin: 0;
	font-size: clamp(1rem, 2.2vw, 1.2rem);
	font-weight: 500;
	letter-spacing: 0.02em;
	color: rgba(255, 255, 255, 0.92);
}

.abp-section--members-founder {
	background: #fff;
	padding-block: clamp(2.5rem, 5vw, 4rem);
}

.abp-members-founder {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
	gap: clamp(2rem, 5vw, 3.5rem);
	align-items: center;
}

.abp-members-founder__label {
	margin: 0 0 0.65rem;
	font-size: var(--abp-text-sm);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--abp-color-primary);
}

.abp-members-founder__name {
	margin: 0 0 0.5rem;
	font-size: clamp(var(--abp-text-xl), 2.8vw, var(--abp-text-3xl));
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--abp-color-text);
}

.abp-members-founder__role {
	margin: 0 0 1.25rem;
	font-size: var(--abp-text-md);
	font-weight: 600;
	color: #5c5c5c;
}

.abp-members-founder__text {
	margin: 0 0 1rem;
	max-width: 38rem;
	font-size: var(--abp-text-base);
	line-height: 1.7;
	color: #4a4a4a;
}

.abp-members-founder__text:last-of-type {
	margin-bottom: 0;
}

.abp-members-founder__prose {
	max-width: 38rem;
}

.abp-members-founder__prose .abp-prose p {
	margin: 0 0 1rem;
	font-size: var(--abp-text-base);
	line-height: 1.7;
	color: #4a4a4a;
}

.abp-members-founder__more {
	margin: 1.25rem 0 0;
}

.abp-members-founder__visual {
	display: flex;
	justify-content: center;
	align-items: stretch;
}

.abp-members-founder__photo {
	display: block;
	width: 100%;
	max-width: 420px;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	object-position: center top;
	background: var(--abp-color-cream, #faf8f5);
	border-radius: 12px;
	box-shadow: 0 12px 40px rgba(44, 44, 44, 0.1);
}

@media (max-width: 991px) {
	.abp-members-founder {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.abp-members-founder__visual {
		order: -1;
	}

	.abp-members-founder__photo {
		max-width: 360px;
		margin-inline: auto;
	}
}

/* Members page - "Our team" row (square photo, name, role only) */
/* Chairperson message header */
.abp-members-chair__head {
	text-align: center;
	margin: 0 0 clamp(2rem, 4vw, 2.75rem);
}

.abp-members-chair__kicker {
	margin: 0 0 0.75rem;
	font-size: clamp(var(--abp-text-lg), 2.4vw, var(--abp-text-2xl));
	font-weight: 800;
	letter-spacing: 0.06em;
	color: var(--abp-color-text);
}

.abp-members-chair__rule {
	display: block;
	width: 3.5rem;
	height: 3px;
	margin: 0 auto;
	background: var(--abp-color-primary);
}

.abp-members-founder__phone {
	margin: 0 0 1.25rem;
	font-size: var(--abp-text-sm);
	color: #5c5c5c;
}

.abp-members-founder__phone a {
	font-weight: 600;
	color: var(--abp-color-primary);
	text-decoration: none;
}

.abp-members-founder__phone a:hover {
	text-decoration: underline;
}

.abp-about-story__prose .abp-prose p,
.abp-mission-opening__body .abp-prose p {
	margin: 0 0 1rem;
	max-width: none;
	font-size: var(--abp-text-base);
	line-height: 1.75;
	color: #4a4a4a;
}

.abp-home-mission-extra {
	max-width: 40rem;
	margin: 0 auto 2rem;
	text-align: center;
	font-size: var(--abp-text-md);
	line-height: 1.65;
	color: #5c5c5c;
}

.abp-members-founder__prose .abp-prose p {
	margin: 0 0 1rem;
	max-width: none;
	font-size: var(--abp-text-base);
	line-height: 1.75;
	color: #4a4a4a;
}

.abp-members-section__head {
	text-align: center;
	margin: 0 0 clamp(1.75rem, 3.5vw, 2.5rem);
}

.abp-members-section__title {
	margin: 0 0 0.5rem;
	font-size: clamp(var(--abp-text-lg), 2.2vw, var(--abp-text-xl));
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--abp-color-text);
}

.abp-members-section__sub {
	margin: 0 0 0.85rem;
	font-size: var(--abp-text-sm);
	color: #666;
}

.abp-members-section__rule {
	display: block;
	width: 3rem;
	height: 3px;
	margin: 0 auto;
	background: var(--abp-color-primary);
}

/* Directory sections (names only) */
.abp-section--members-dir {
	padding-block: clamp(2rem, 4vw, 3rem);
	border-top: 1px solid rgba(44, 44, 44, 0.06);
}

.abp-section--members-dir {
	background: #fff;
}

.abp-members-roles {
	display: grid;
	gap: 1.5rem;
}

.abp-members-roles__title {
	margin: 0 0 0.65rem;
	font-size: var(--abp-text-sm);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--abp-color-primary);
}

.abp-members-names {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.45rem;
}

.abp-members-names--columns {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.5rem 1.25rem;
}

.abp-members-names li {
	padding: 0.55rem 0.85rem;
	font-size: var(--abp-text-sm);
	line-height: 1.45;
	color: var(--abp-color-text);
	background: #fff;
	border: 1px solid rgba(44, 44, 44, 0.07);
	border-radius: 8px;
}

.abp-section--members-dir .abp-members-names li {
	background: rgba(255, 255, 255, 0.85);
}

.abp-members-patron {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: clamp(1.5rem, 3vw, 2rem);
	background: #fff;
	border: 1px solid rgba(107, 112, 57, 0.12);
	border-radius: 12px;
}

.abp-members-patron__figure {
	margin: 0 0 1.25rem;
	width: 100%;
	max-width: 280px;
}

.abp-members-patron__photo {
	display: block;
	width: 100%;
	margin-inline: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center top;
	background: var(--abp-color-cream, #faf8f5);
	border-radius: 10px;
	box-shadow: 0 10px 32px rgba(44, 44, 44, 0.1);
}

.abp-members-patron__body {
	text-align: center;
	max-width: 36rem;
}

.abp-members-patron__name {
	margin: 0 0 0.5rem;
	font-size: var(--abp-text-xl);
	font-weight: 700;
	line-height: 1.35;
}

.abp-members-patron__title {
	margin: 0;
	font-size: var(--abp-text-base);
	line-height: 1.6;
	color: #5c5c5c;
}

/* Endowment fund donors — two photo cards */
.abp-members-akshay-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 2rem);
}

.abp-members-akshay-card {
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	background: #fff;
	border: 1px solid rgba(107, 112, 57, 0.12);
	border-radius: 12px;
}

.abp-members-akshay-card__figure {
	margin: 0 0 1rem;
	width: 100%;
	max-width: 260px;
}

.abp-members-akshay-card__photo {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center top;
	background: var(--abp-color-cream, #faf8f5);
	border-radius: 10px;
	box-shadow: 0 10px 32px rgba(44, 44, 44, 0.1);
}

.abp-members-akshay-card__name {
	margin: 0;
	font-size: var(--abp-text-md);
	font-weight: 700;
	line-height: 1.45;
	color: var(--abp-color-text);
}

@media (max-width: 767px) {
	.abp-members-akshay-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.abp-members-names--columns {
		grid-template-columns: 1fr;
	}
}

.abp-section--members-our-team {
	background: #fff;
	padding-block: clamp(2.5rem, 5vw, 4rem);
	border-top: 1px solid rgba(44, 44, 44, 0.06);
}

.abp-members-our-team__head {
	text-align: center;
	margin: 0 0 clamp(2rem, 4vw, 3rem);
}

.abp-members-our-team__title {
	margin: 0 0 0.85rem;
	font-size: clamp(var(--abp-text-lg), 2.2vw, var(--abp-text-xl));
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--abp-color-text);
}

.abp-members-our-team__rule {
	display: block;
	width: 3rem;
	height: 3px;
	margin: 0 auto;
	background: var(--abp-color-primary);
}

.abp-section--members-our-team .abp-team--minimal.abp-team--3 {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.75rem, 3vw, 2.5rem);
}

.abp-section--members-our-team .abp-team--minimal {
	gap: clamp(1.75rem, 3vw, 2.5rem);
}

.abp-team-member--minimal {
	margin: 0;
	text-align: center;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.abp-team-member--minimal .abp-team-member__photo {
	margin: 0;
	padding: 0;
}

.abp-team-member--minimal .abp-team-member__photo img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 0;
}

.abp-team-member--minimal .abp-team-member__body {
	padding: 1.15rem 0.35rem 0;
	text-align: center;
}

.abp-team-member--minimal .abp-team-member__name {
	margin: 0 0 0.35rem;
	font-size: clamp(var(--abp-text-md), 1.8vw, var(--abp-text-lg));
	font-weight: 700;
	line-height: 1.25;
	color: var(--abp-color-text);
}

.abp-team-member--minimal .abp-team-member__role {
	margin: 0 0 0.35rem;
	font-size: var(--abp-text-sm);
	font-weight: 500;
	line-height: 1.45;
	color: #5c5c5c;
}

.abp-team-member--minimal .abp-team-member__phone {
	margin: 0;
	font-size: var(--abp-text-sm);
}

.abp-team-member--minimal .abp-team-member__phone a {
	font-weight: 600;
	color: var(--abp-color-primary);
	text-decoration: none;
}

.abp-team-member--minimal .abp-team-member__phone a:hover {
	text-decoration: underline;
}

@media (max-width: 991px) {
	.abp-team.abp-team--minimal.abp-team--3,
	.abp-team.abp-team--minimal {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 575px) {
	.abp-team.abp-team--minimal {
		grid-template-columns: 1fr;
		max-width: 22rem;
		margin-inline: auto;
	}
}

/* About page - story, core values, where we work */
.abp-section--about-story {
	padding-block: clamp(2.25rem, 5vw, 3.5rem);
}

.abp-about-story {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: center;
}

.abp-about-story__figure {
	margin: 0;
	aspect-ratio: 1 / 1;
	max-height: min(100vw - 3rem, 520px);
	background: #ebe9e4;
	overflow: hidden;
}

.abp-about-story__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.abp-about-story__kicker {
	margin: 0 0 0.35rem;
	font-size: var(--abp-text-sm);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--abp-color-primary, #6b7039);
}

.abp-about-story__subtitle {
	margin: 0 0 1.15rem;
	font-size: var(--abp-text-md);
	line-height: 1.45;
	color: #5c5c5c;
}

.abp-about-story__title {
	margin: 0 0 0.5rem;
	font-size: clamp(var(--abp-text-xl), 2.5vw, var(--abp-text-2xl));
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: var(--abp-color-text);
}

.abp-about-story__p {
	margin: 0 0 1rem;
	font-size: var(--abp-text-base);
	line-height: 1.7;
	color: #4a4a4a;
}

.abp-about-story__p:last-child {
	margin-bottom: 0;
}

.abp-section--about-values {
	background: #fff;
	padding-block: clamp(2.25rem, 5vw, 3.5rem);
}

.abp-about-values__title {
	margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
	text-align: center;
	font-size: clamp(var(--abp-text-xl), 2.5vw, var(--abp-text-2xl));
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--abp-color-text);
}

.abp-about-values__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.5rem);
}

.abp-about-value-card {
	margin: 0;
	padding: 1.5rem 1rem 1.65rem;
	text-align: center;
	background: #fff;
	border: 1px solid rgba(44, 44, 44, 0.08);
	border-radius: 12px;
	box-shadow: 0 4px 20px rgba(44, 44, 44, 0.05);
}

.abp-about-value-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 1rem;
	color: var(--abp-color-accent, #f9a825);
}

.abp-about-value-card__svg {
	display: block;
}

.abp-about-value-card__title {
	margin: 0 0 0.5rem;
	font-size: var(--abp-text-md);
	font-weight: 700;
	color: var(--abp-color-text);
}

.abp-about-value-card__desc {
	margin: 0;
	font-size: var(--abp-text-sm);
	line-height: 1.5;
	color: #5c5c5c;
}

.abp-section--about-where {
	padding-block: clamp(2.25rem, 5vw, 3.5rem);
}

.abp-about-where__title {
	margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
	text-align: center;
	font-size: clamp(var(--abp-text-xl), 2.5vw, var(--abp-text-2xl));
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--abp-color-text);
}

.abp-about-where__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

.abp-about-where__p {
	margin: 0 0 1.25rem;
	font-size: var(--abp-text-base);
	line-height: 1.7;
	color: #4a4a4a;
}

.abp-about-where__list {
	margin: 0;
	padding-left: 1.25rem;
	font-size: var(--abp-text-base);
	line-height: 1.65;
	color: #4a4a4a;
}

.abp-about-where__list li {
	margin-bottom: 0.5rem;
}

.abp-about-where__list li:last-child {
	margin-bottom: 0;
}

.abp-about-where__visual {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: min(56vw, 360px);
	aspect-ratio: 1 / 1;
	max-width: 480px;
	margin-inline: auto;
	background: #ebe9e4;
	border: 1px solid rgba(107, 112, 57, 0.12);
}

.abp-about-where__ph {
	padding: 1rem;
	text-align: center;
	font-size: var(--abp-text-sm);
	font-weight: 600;
	color: var(--abp-color-primary);
	line-height: 1.4;
}

@media (max-width: 991px) {
	.abp-about-values__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.abp-about-story {
		grid-template-columns: 1fr;
	}

	.abp-about-story__figure {
		max-height: none;
		max-width: 420px;
		margin-inline: auto;
	}

	.abp-about-values__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.abp-about-where__grid {
		grid-template-columns: 1fr;
	}

	.abp-about-where__visual {
		order: -1;
		max-width: none;
		min-height: 280px;
	}
}

@media (max-width: 575px) {
	.abp-about-values__grid {
		grid-template-columns: 1fr;
		max-width: 22rem;
		margin-inline: auto;
	}
}

/* About sub-navigation + chairperson page */
.abp-section--about-subnav-wrap {
	padding-block: 0.75rem 0;
}

.abp-section--about-subnav-wrap .abp-breadcrumbs {
	margin-bottom: 0.85rem;
}

.abp-about-subnav {
	margin: 0;
}

.abp-about-subnav__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.abp-about-subnav__link {
	display: inline-flex;
	align-items: center;
	padding: 0.45rem 1rem;
	font-size: var(--abp-text-sm);
	font-weight: 600;
	color: #4a4a4a;
	text-decoration: none;
	background: #fff;
	border: 1px solid rgba(44, 44, 44, 0.12);
	border-radius: 999px;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.abp-about-subnav__link:hover,
.abp-about-subnav__link:focus-visible {
	color: var(--abp-color-primary);
	border-color: rgba(107, 112, 57, 0.45);
}

.abp-about-subnav__link.is-active {
	color: #fff;
	background: var(--abp-color-primary, #6b7039);
	border-color: var(--abp-color-primary, #6b7039);
}

.abp-about-chair-teaser {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 1.25rem 1.5rem;
	align-items: start;
	margin-top: 2rem;
	padding: 1.35rem 1.5rem;
	background: #fff;
	border: 1px solid rgba(107, 112, 57, 0.18);
	border-left: 4px solid var(--abp-color-accent, #f9a825);
	box-shadow: 0 8px 28px rgba(44, 44, 44, 0.06);
}

.abp-about-chair-teaser__portrait {
	display: block;
	width: 7.5rem;
	flex-shrink: 0;
	overflow: hidden;
	background: #ebe9e4;
}

.abp-about-chair-teaser__portrait img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.abp-about-chair-teaser__kicker {
	margin: 0 0 0.35rem;
	font-size: var(--abp-text-xs);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--abp-color-primary);
}

.abp-about-chair-teaser__name {
	margin: 0 0 0.2rem;
	font-size: var(--abp-text-lg);
	font-weight: 700;
	line-height: 1.25;
	color: var(--abp-color-text);
}

.abp-about-chair-teaser__role {
	margin: 0 0 0.75rem;
	font-size: var(--abp-text-sm);
	color: #5c5c5c;
}

.abp-about-chair-teaser__excerpt {
	margin: 0 0 1rem;
	font-size: var(--abp-text-sm);
	line-height: 1.65;
	color: #4a4a4a;
}

.abp-section--about-diff {
	padding-block: clamp(2rem, 4vw, 3rem);
	background: #fff;
}

.abp-mantra-band {
	padding: clamp(1.25rem, 3vw, 1.75rem) clamp(1.5rem, 4vw, 2.5rem);
	text-align: center;
	background: var(--abp-color-primary, #6b7039);
	color: #fff;
}

.abp-mantra-band__text {
	margin: 0;
	font-size: clamp(var(--abp-text-md), 2.2vw, var(--abp-text-lg));
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: 0.01em;
}

.abp-page-stack {
	display: flex;
	flex-direction: column;
	gap: clamp(2rem, 4vw, 2.75rem);
}

.abp-page-stack--narrow {
	max-width: 44rem;
	margin-inline: auto;
}

.abp-content-block .abp-page-head {
	margin-bottom: 1.25rem;
}

.abp-beliefs-block {
	margin-top: clamp(1.5rem, 3vw, 2rem);
	padding-top: 1.5rem;
	border-top: 1px solid rgba(44, 44, 44, 0.1);
}

.abp-beliefs-block__title {
	margin: 0 0 0.85rem;
	font-size: var(--abp-text-md);
	font-weight: 700;
	color: var(--abp-color-text);
}

.abp-beliefs-block__list {
	margin: 0;
	padding: 0 0 0 1.15rem;
	font-size: var(--abp-text-sm);
	line-height: 1.65;
	color: #4a4a4a;
}

.abp-beliefs-block__list li + li {
	margin-top: 0.35rem;
}

.abp-pull-quote {
	margin: 1.5rem 0 0;
	padding: 0 0 0 1rem;
	border-left: 3px solid var(--abp-color-primary, #6b7039);
}

.abp-pull-quote p {
	margin: 0;
	font-size: var(--abp-text-base);
	font-weight: 600;
	line-height: 1.55;
	color: var(--abp-color-text);
	font-style: italic;
}

.abp-section--about-nonprofit,
.abp-section--about-founding,
.abp-section--about-philosophy,
.abp-section--about-core-values {
	padding-block: clamp(2rem, 4vw, 3rem);
}

.abp-about-diff__title {
	margin: 0 0 clamp(1.5rem, 3vw, 2rem);
	text-align: center;
	font-size: clamp(var(--abp-text-xl), 2.5vw, var(--abp-text-2xl));
	font-weight: 700;
	letter-spacing: -0.02em;
}

.abp-about-diff__lead {
	margin: -0.75rem auto clamp(1.5rem, 3vw, 2rem);
	max-width: 40rem;
	text-align: center;
	font-size: var(--abp-text-base);
	line-height: 1.6;
	color: #5c5c5c;
}

.abp-about-diff__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.5rem);
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: abp-diff;
}

.abp-about-diff__item {
	margin: 0;
	padding: 1.35rem 1.15rem;
	background: var(--abp-color-cream, #faf8f5);
	border: 1px solid rgba(44, 44, 44, 0.08);
}

.abp-about-diff__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	margin-bottom: 0.85rem;
	font-size: var(--abp-text-sm);
	font-weight: 700;
	color: #fff;
	background: var(--abp-color-primary, #6b7039);
	border-radius: 50%;
}

.abp-about-diff__text {
	margin: 0;
	font-size: var(--abp-text-sm);
	line-height: 1.6;
	color: #4a4a4a;
}

.abp-about-where__cta {
	margin-top: 2rem;
	padding-top: 1.75rem;
	text-align: center;
	border-top: 1px solid rgba(44, 44, 44, 0.1);
}

.abp-about-where__cta-title {
	margin: 0 0 1rem;
	font-size: var(--abp-text-lg);
	font-weight: 700;
	color: var(--abp-color-text);
}

.abp-section--chairperson-article {
	padding-block: clamp(2rem, 5vw, 3.5rem);
	background: var(--abp-color-cream, #faf8f5);
}

.abp-chairperson-article__inner {
	display: grid;
	grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
	max-width: 56rem;
	margin-inline: auto;
}

.abp-chairperson-article__portrait {
	margin: 0;
	position: sticky;
	top: 6rem;
}

.abp-chairperson-article__portrait img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	background: #ebe9e4;
	box-shadow: 0 12px 40px rgba(44, 44, 44, 0.12);
}

.abp-chairperson-article__caption {
	margin-top: 0.85rem;
	padding-top: 0.85rem;
	border-top: 2px solid var(--abp-color-accent, #f9a825);
}

.abp-chairperson-article__caption-name {
	display: block;
	font-size: var(--abp-text-md);
	font-weight: 700;
	color: var(--abp-color-text);
}

.abp-chairperson-article__caption-role {
	display: block;
	margin-top: 0.2rem;
	font-size: var(--abp-text-sm);
	color: #5c5c5c;
}

.abp-chairperson-article__lead {
	margin: 0 0 1.25rem;
	font-size: var(--abp-text-md);
	font-weight: 600;
	font-style: italic;
	color: var(--abp-color-primary);
}

.abp-chairperson-article__page-mark {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: clamp(2rem, 4vw, 2.75rem) 0;
	padding-block: 0.5rem;
	border-block: 1px solid rgba(107, 112, 57, 0.2);
}

.abp-chairperson-article__page-mark-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25rem;
	min-height: 2.25rem;
	font-size: var(--abp-text-md);
	font-weight: 700;
	color: var(--abp-color-primary);
	background: #fff;
	border: 1px solid rgba(107, 112, 57, 0.25);
}

.abp-chairperson-article__prose .abp-prose p {
	margin: 0 0 1.15rem;
	font-size: clamp(1.05rem, 1.5vw, 1.125rem);
	line-height: 1.85;
	color: #3a3a3a;
}

.abp-chairperson-article__prose--opening .abp-prose p:first-child::first-letter {
	float: left;
	margin: 0.08em 0.12em 0 0;
	font-size: 3.2em;
	font-weight: 700;
	line-height: 0.85;
	color: var(--abp-color-primary);
}

.abp-chairperson-article__signature {
	margin-top: 2rem;
	padding-top: 1.5rem;
}

.abp-chairperson-article__signature-rule {
	display: block;
	width: 4rem;
	height: 3px;
	margin-bottom: 1rem;
	background: var(--abp-color-accent, #f9a825);
}

.abp-chairperson-article__signature-name {
	margin: 0;
	font-size: var(--abp-text-lg);
	font-weight: 700;
	color: var(--abp-color-text);
}

.abp-chairperson-article__signature-role {
	margin: 0.2rem 0 0;
	font-size: var(--abp-text-sm);
	color: #5c5c5c;
}

.abp-chairperson-article__signature-org {
	margin: 0.35rem 0 0;
	font-size: var(--abp-text-sm);
	font-weight: 600;
	color: var(--abp-color-primary);
}

.abp-members-chair-teaser {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 1.5rem 2rem;
	align-items: center;
}

.abp-members-chair-teaser__photo {
	display: block;
	width: 10rem;
	height: auto;
	object-fit: cover;
	background: #ebe9e4;
	box-shadow: 0 8px 24px rgba(44, 44, 44, 0.1);
}

.abp-members-chair-teaser__name {
	margin: 0 0 0.25rem;
	font-size: var(--abp-text-xl);
	font-weight: 700;
}

.abp-members-chair-teaser__role {
	margin: 0 0 0.5rem;
	color: #5c5c5c;
}

.abp-members-chair-teaser__phone {
	margin: 0 0 0.75rem;
	font-size: var(--abp-text-sm);
}

.abp-members-chair-teaser__phone a {
	color: var(--abp-color-primary);
}

.abp-members-chair-teaser__text {
	margin: 0 0 1rem;
	line-height: 1.65;
	color: #4a4a4a;
}

@media (max-width: 991px) {
	.abp-value-cards--grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.abp-about-diff__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.abp-chairperson-article__inner {
		grid-template-columns: 1fr;
	}

	.abp-chairperson-article__portrait {
		position: static;
		max-width: 280px;
		margin-inline: auto;
	}
}

@media (max-width: 767px) {
	.abp-about-chair-teaser {
		grid-template-columns: 1fr;
	}

	.abp-about-chair-teaser__portrait {
		width: 100%;
		max-width: 10rem;
	}

	.abp-value-cards--grid {
		grid-template-columns: 1fr;
	}

	.abp-about-diff__grid {
		grid-template-columns: 1fr;
	}

	.abp-members-chair-teaser {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.abp-members-chair-teaser__photo {
		margin-inline: auto;
	}
}

/* Contact page */
.abp-section--contact-main {
	background: var(--abp-color-cream, #faf8f5);
	padding-block: clamp(2.5rem, 5vw, 4rem);
}

.abp-contact-page__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: clamp(2rem, 4vw, 3rem);
	align-items: start;
}

.abp-contact-page__info-title,
.abp-contact-page__form-title {
	margin: 0 0 0.75rem;
	font-size: clamp(var(--abp-text-lg), 2.2vw, var(--abp-text-xl));
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--abp-color-text);
}

.abp-contact-page__info-lead,
.abp-contact-page__form-lead {
	margin: 0 0 1.75rem;
	max-width: 34rem;
	font-size: var(--abp-text-base);
	line-height: 1.65;
	color: #4a4a4a;
}

.abp-contact-page__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1.15rem;
}

.abp-contact-page__item {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}

.abp-contact-page__icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	background: rgba(107, 112, 57, 0.12);
	color: var(--abp-color-primary);
	border-radius: 10px;
}

.abp-contact-page__icon svg {
	display: block;
}

.abp-contact-page__item-body {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
}

.abp-contact-page__item-label {
	font-size: var(--abp-text-xs);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--abp-color-primary);
}

.abp-contact-page__item-value {
	font-size: var(--abp-text-md);
	line-height: 1.45;
	color: var(--abp-color-text);
	text-decoration: none;
}

a.abp-contact-page__item-value:hover {
	color: var(--abp-color-primary);
	text-decoration: underline;
}

.abp-contact-page__form-panel .abp-form {
	margin: 0;
}

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

.abp-contact-form label {
	display: block;
	margin-bottom: 1rem;
}

.abp-contact-form__submit {
	margin-top: 0.25rem;
}

.abp-contact-page__map {
	margin-top: clamp(2rem, 4vw, 3rem);
	min-height: clamp(220px, 32vw, 320px);
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 1px dashed rgba(107, 112, 57, 0.28);
	border-radius: 14px;
}

.abp-contact-page__map-ph {
	font-size: var(--abp-text-sm);
	font-weight: 600;
	letter-spacing: 0.04em;
	color: #6b6b6b;
}

.abp-section--contact-faq {
	background: #fff;
	padding-block: clamp(2.5rem, 5vw, 4rem);
	border-top: 1px solid rgba(44, 44, 44, 0.06);
}

.abp-contact-faq__head {
	text-align: center;
	margin: 0 0 clamp(2rem, 4vw, 3rem);
}

.abp-contact-faq__title {
	margin: 0 0 0.85rem;
	font-size: clamp(var(--abp-text-lg), 2.2vw, var(--abp-text-xl));
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--abp-color-text);
}

.abp-contact-faq__rule {
	display: block;
	width: 3rem;
	height: 3px;
	margin: 0 auto 1rem;
	background: var(--abp-color-primary);
}

.abp-contact-faq__sub {
	margin: 0 auto;
	max-width: 32rem;
	font-size: var(--abp-text-base);
	line-height: 1.55;
	color: #5c5c5c;
}

.abp-contact-faq__list .abp-faq {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

@media (max-width: 991px) {
	.abp-contact-page__grid {
		grid-template-columns: 1fr;
	}

	.abp-contact-faq__list .abp-faq {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 575px) {
	.abp-contact-form__row {
		grid-template-columns: 1fr;
	}
}

/* Shared centered section intro */
.abp-section-intro {
	text-align: center;
	margin: 0 0 clamp(2rem, 4vw, 3rem);
}

.abp-section-intro__title {
	margin: 0 0 0.85rem;
	font-size: clamp(var(--abp-text-lg), 2.2vw, var(--abp-text-xl));
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--abp-color-text);
}

.abp-section-intro__rule {
	display: block;
	width: 3rem;
	height: 3px;
	margin: 0 auto 1rem;
	background: var(--abp-color-primary);
}

.abp-section-intro__lead {
	margin: 0 auto;
	max-width: 36rem;
	font-size: var(--abp-text-base);
	line-height: 1.55;
	color: #5c5c5c;
}

.abp-page-actions--center {
	justify-content: center;
}

/* Value cards (mission + shared) */
.abp-value-cards {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
}

.abp-value-cards--5 {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.abp-value-cards--grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.abp-value-card--compact {
	text-align: left;
	padding: 1.25rem 1.15rem 1.35rem;
}

.abp-value-card--compact .abp-value-card__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	margin-bottom: 0.65rem;
	font-size: var(--abp-text-xs, 0.75rem);
	font-weight: 700;
	color: #fff;
	background: var(--abp-color-primary, #6b7039);
	border-radius: 50%;
}

.abp-about-where__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	justify-content: center;
	margin-top: clamp(1.75rem, 3vw, 2.5rem);
}

.abp-value-card {
	margin: 0;
	padding: 1.5rem 1rem 1.65rem;
	text-align: center;
	background: #fff;
	border: 1px solid rgba(44, 44, 44, 0.08);
	border-radius: 12px;
	box-shadow: 0 4px 20px rgba(44, 44, 44, 0.05);
}

.abp-value-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 1rem;
	color: var(--abp-color-accent, #f9a825);
}

.abp-value-card__svg {
	display: block;
}

.abp-value-card__title {
	margin: 0 0 0.5rem;
	font-size: var(--abp-text-md);
	font-weight: 700;
	line-height: 1.3;
	color: var(--abp-color-text);
}

.abp-value-card__desc {
	margin: 0;
	font-size: var(--abp-text-sm);
	line-height: 1.55;
	color: #5c5c5c;
}

/* Mission page */
.abp-section--mission-opening {
	padding-block: clamp(2.5rem, 5vw, 4rem);
}

.abp-mission-opening {
	max-width: 44rem;
	margin-inline: auto;
	text-align: center;
}

.abp-mission-opening__statement {
	margin: 0 0 1.5rem;
	padding: 0;
	border: 0;
	font-size: clamp(var(--abp-text-lg), 2.5vw, var(--abp-text-2xl));
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: -0.02em;
	color: var(--abp-color-text);
}

.abp-mission-opening__vision {
	margin: 0;
	font-size: var(--abp-text-base);
	line-height: 1.7;
	color: #4a4a4a;
}

.abp-section--mission-principles,
.abp-section--mission-goals {
	background: #fff;
	padding-block: clamp(2.5rem, 5vw, 4rem);
}

.abp-section--mission-culture {
	padding-block: clamp(2.5rem, 5vw, 4rem);
}

.abp-mission-culture__text {
	max-width: 40rem;
	margin: 0 auto;
	text-align: center;
	font-size: var(--abp-text-base);
	line-height: 1.7;
	color: #4a4a4a;
}

.abp-mission-goals__panel {
	max-width: 40rem;
	margin: 0 auto;
	padding: 1.5rem 1.75rem;
	text-align: center;
	background: rgba(107, 112, 57, 0.08);
	border-left: 4px solid var(--abp-color-accent);
	border-radius: 12px;
}

.abp-section--mission-pillars {
	padding-block: clamp(2.5rem, 5vw, 4rem);
	background: #fff;
}

.abp-mission-culture__lead,
.abp-mission-goals__lead {
	max-width: 44rem;
	margin: -0.5rem auto clamp(1.75rem, 3vw, 2.25rem);
	text-align: center;
	font-size: var(--abp-text-base);
	line-height: 1.7;
	color: #4a4a4a;
}

.abp-mission-culture__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
	max-width: 56rem;
	margin-inline: auto;
}

.abp-mission-culture-card {
	margin: 0;
	padding: 1.75rem 1.5rem;
	background: #fff;
	border: 1px solid rgba(44, 44, 44, 0.08);
	border-radius: 12px;
	box-shadow: 0 4px 20px rgba(44, 44, 44, 0.05);
}

.abp-mission-culture-card__title {
	margin: 0 0 0.65rem;
	font-size: var(--abp-text-md);
	font-weight: 700;
	color: var(--abp-color-text);
}

.abp-mission-culture-card__desc {
	margin: 0;
	font-size: var(--abp-text-sm);
	line-height: 1.6;
	color: #5c5c5c;
}

.abp-mission-goals__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
}

.abp-mission-goal-card {
	margin: 0;
	padding: 1.5rem 1.25rem;
	background: var(--abp-color-cream, #faf8f5);
	border: 1px solid rgba(107, 112, 57, 0.12);
	border-radius: 12px;
}

.abp-mission-goal-card__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	margin-bottom: 0.85rem;
	font-size: var(--abp-text-sm);
	font-weight: 700;
	color: #fff;
	background: var(--abp-color-primary, #6b7039);
	border-radius: 50%;
}

.abp-mission-goal-card__title {
	margin: 0 0 0.5rem;
	font-size: var(--abp-text-md);
	font-weight: 700;
	line-height: 1.3;
}

.abp-mission-goal-card__desc {
	margin: 0;
	font-size: var(--abp-text-sm);
	line-height: 1.55;
	color: #5c5c5c;
}

.abp-mission-goals .abp-page-actions {
	margin-top: 2rem;
	gap: 0.75rem;
}

.abp-section--works-who,
.abp-section--works-how {
	padding-block: clamp(2.5rem, 5vw, 4rem);
}

.abp-section--works-how {
	background: #fff;
}

.abp-works-support__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
	margin-bottom: 2rem;
}

.abp-works-support__aside-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 1.5rem;
}

.abp-works-support__aside-title {
	margin: 0 0 1rem;
	font-size: var(--abp-text-md);
	font-weight: 700;
}

.abp-who-cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.abp-who-card {
	margin: 0;
	padding: 1.25rem 1rem;
	text-align: center;
	background: #fff;
	border: 1px solid rgba(44, 44, 44, 0.08);
	border-radius: 12px;
	box-shadow: 0 4px 16px rgba(44, 44, 44, 0.04);
}

.abp-who-card__title {
	margin: 0 0 0.4rem;
	font-size: var(--abp-text-sm);
	font-weight: 700;
}

.abp-who-card__desc {
	margin: 0;
	font-size: var(--abp-text-xs);
	line-height: 1.5;
	color: #5c5c5c;
}

.abp-section--works-help {
	padding-block: clamp(2.5rem, 5vw, 4rem);
	background: #fff;
}

.abp-section--works-transparency {
	padding-block: clamp(2rem, 4vw, 3rem);
}

.abp-works-transparency__card {
	max-width: 40rem;
	margin-inline: auto;
	padding: 2rem 1.75rem;
	text-align: center;
	background: #fff;
	border: 1px solid rgba(44, 44, 44, 0.08);
	border-radius: 12px;
	box-shadow: 0 4px 20px rgba(44, 44, 44, 0.05);
}

.abp-works-transparency__card p {
	margin: 0;
	line-height: 1.65;
	color: #4a4a4a;
}

.abp-mission-goals__panel p {
	margin: 0;
	font-size: var(--abp-text-md);
	font-weight: 600;
	line-height: 1.6;
	color: var(--abp-color-primary);
}

/* Our Works page */
.abp-section--works-programs,
.abp-section--works-more {
	background: #fff;
	padding-block: clamp(2.5rem, 5vw, 4rem);
}

.abp-section--works-support {
	padding-block: clamp(2.5rem, 5vw, 4rem);
}

.abp-works-programs__list {
	display: grid;
	gap: clamp(2.5rem, 5vw, 3.5rem);
}

.abp-works-program {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
	gap: clamp(2rem, 4vw, 3rem);
	align-items: center;
}

.abp-works-program--reverse .abp-works-program__content {
	order: 2;
}

.abp-works-program--reverse .abp-works-program__figure {
	order: 1;
}

.abp-works-program__title {
	margin: 0 0 0.85rem;
	font-size: clamp(var(--abp-text-lg), 2.2vw, var(--abp-text-xl));
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--abp-color-text);
}

.abp-works-program__text {
	margin: 0;
	max-width: 34rem;
	font-size: var(--abp-text-base);
	line-height: 1.7;
	color: #4a4a4a;
}

.abp-works-program__figure {
	margin: 0;
}

.abp-works-program__img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	background: var(--abp-color-cream);
	border-radius: 12px;
	box-shadow: 0 8px 32px rgba(44, 44, 44, 0.08);
}

.abp-works-support__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(2rem, 4vw, 3rem);
	align-items: start;
}

.abp-works-support__block {
	margin-bottom: 1.5rem;
}

.abp-works-support__block h3 {
	margin: 0 0 0.5rem;
	font-size: var(--abp-text-md);
	font-weight: 700;
	color: var(--abp-color-primary);
}

.abp-works-support__block p {
	margin: 0;
	line-height: 1.65;
	color: #4a4a4a;
}

.abp-works-support__schedule,
.abp-works-support__faq,
.abp-works-support__vol {
	padding: 1.5rem;
	background: #fff;
	border: 1px solid rgba(44, 44, 44, 0.08);
	border-radius: 12px;
	box-shadow: 0 4px 20px rgba(44, 44, 44, 0.05);
}

.abp-works-support__schedule {
	margin-bottom: 1.25rem;
}

.abp-works-support__schedule h3,
.abp-works-support__faq h3 {
	margin: 0 0 1rem;
	font-size: var(--abp-text-md);
	font-weight: 700;
	color: var(--abp-color-text);
}

.abp-works-support__table {
	margin: 0;
}

.abp-faq--compact {
	gap: 0.75rem;
}

.abp-works-more__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 2rem);
}

.abp-works-more__panel {
	margin: 0;
	padding: clamp(1.5rem, 3vw, 2rem);
	background: #fff;
	border: 1px solid rgba(44, 44, 44, 0.08);
	border-radius: 12px;
}

.abp-works-more__panel--cream {
	background: var(--abp-color-cream, #faf8f5);
}

.abp-works-more__panel .abp-page-head {
	margin-bottom: 1.25rem;
}

.abp-works-more__panel p {
	margin: 0;
	line-height: 1.65;
	color: #4a4a4a;
}

/* Events page */
.abp-section--events-upcoming,
.abp-section--events-host {
	background: #fff;
	padding-block: clamp(2.5rem, 5vw, 4rem);
}

.abp-section--events-past {
	padding-block: clamp(2.5rem, 5vw, 4rem);
}

.abp-events-page__empty {
	margin: 0;
	text-align: center;
	color: #5c5c5c;
}

.abp-events-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.25rem, 2.5vw, 1.75rem);
}

.abp-event-card {
	margin: 0;
	background: #fff;
	border: 1px solid rgba(44, 44, 44, 0.08);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(44, 44, 44, 0.05);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.abp-event-card:hover {
	box-shadow: 0 8px 28px rgba(44, 44, 44, 0.08);
	transform: translateY(-2px);
}

.abp-events-host .abp-page-actions {
	margin-top: 0.5rem;
}

/* News / Articles listing */
.abp-section--updates-listing {
	background: #fff;
	padding-block: clamp(2.5rem, 5vw, 4rem);
}

.abp-updates-page__empty {
	margin: 0;
	text-align: center;
	color: #5c5c5c;
}

.abp-updates-featured {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	gap: clamp(1.75rem, 3vw, 2.5rem);
	align-items: center;
	margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	background: var(--abp-color-cream, #faf8f5);
	border: 1px solid rgba(107, 112, 57, 0.1);
	border-radius: 14px;
}

.abp-updates-featured__media {
	display: block;
	overflow: hidden;
	border-radius: 10px;
}

.abp-updates-featured__media img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.abp-updates-featured__label {
	margin: 0 0 0.35rem;
	font-size: var(--abp-text-xs);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--abp-color-primary);
}

.abp-updates-meta {
	margin: 0 0 0.65rem;
	font-size: var(--abp-text-sm);
	line-height: 1.45;
	color: #888;
}

.abp-updates-meta__sep {
	margin-inline: 0.35rem;
}

.abp-updates-meta__author [data-i18n] {
	margin-inline-end: 0.25rem;
}

.abp-updates-featured__title {
	margin: 0 0 0.75rem;
	font-size: clamp(var(--abp-text-lg), 2.5vw, var(--abp-text-2xl));
	font-weight: 700;
	line-height: 1.25;
	color: var(--abp-color-text);
}

.abp-updates-featured__title a {
	color: inherit;
	text-decoration: none;
}

.abp-updates-featured__title a:hover {
	color: var(--abp-color-primary);
}

.abp-updates-featured__excerpt {
	margin: 0 0 1.25rem;
	line-height: 1.65;
	color: #5c5c5c;
}

.abp-updates-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.5rem);
}

.abp-updates-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid rgba(44, 44, 44, 0.08);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(44, 44, 44, 0.05);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.abp-updates-card:hover {
	box-shadow: 0 8px 24px rgba(44, 44, 44, 0.1);
	transform: translateY(-3px);
}

.abp-updates-card__media {
	display: block;
	overflow: hidden;
}

.abp-updates-card__media img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.abp-updates-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 1rem 1.15rem 1.25rem;
}

.abp-updates-card__title {
	margin: 0 0 0.5rem;
	font-size: var(--abp-text-md);
	font-weight: 700;
	line-height: 1.35;
	color: var(--abp-color-text);
}

.abp-updates-card__title a {
	color: inherit;
	text-decoration: none;
}

.abp-updates-card__title a:hover {
	color: var(--abp-color-primary);
}

.abp-updates-card__excerpt {
	margin: 0 0 0.85rem;
	flex: 1;
	font-size: var(--abp-text-sm);
	line-height: 1.55;
	color: #5c5c5c;
}

.abp-updates-card__link {
	font-size: var(--abp-text-sm);
	font-weight: 600;
	color: var(--abp-color-primary);
	text-decoration: none;
}

a.abp-updates-card__link:hover {
	text-decoration: underline;
}

.abp-news-single__back {
	margin: 2rem 0 0;
	text-align: center;
}

.abp-updates-page .abp-filter-tabs {
	margin-bottom: 1.75rem;
}

@media (max-width: 991px) {
	.abp-value-cards--5 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.abp-mission-goals__grid,
	.abp-who-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.abp-works-support__cards {
		grid-template-columns: 1fr;
	}

	.abp-works-support__aside-grid {
		grid-template-columns: 1fr;
	}

	.abp-works-program,
	.abp-works-support__grid,
	.abp-works-more__grid,
	.abp-events-grid,
	.abp-updates-featured,
	.abp-updates-grid {
		grid-template-columns: 1fr;
	}

	.abp-works-program--reverse .abp-works-program__content,
	.abp-works-program--reverse .abp-works-program__figure {
		order: unset;
	}

	.abp-works-program__figure {
		order: -1;
	}
}

@media (max-width: 991px) {
	.abp-mission-culture__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.abp-mission-culture__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 575px) {
	.abp-value-cards--5 {
		grid-template-columns: 1fr;
		max-width: 22rem;
		margin-inline: auto;
	}

	.abp-mission-goals__grid,
	.abp-who-cards {
		grid-template-columns: 1fr;
	}

	.abp-updates-grid {
		grid-template-columns: 1fr;
	}
}

/* Donate page */
.abp-section--donate {
	background: #fff;
	padding-block: clamp(2.5rem, 5vw, 4rem);
}

.abp-donate-page__impact {
	margin: 0 0 clamp(2rem, 4vw, 3rem);
	padding: 1.25rem 1.5rem;
	text-align: center;
	font-size: var(--abp-text-md);
	font-weight: 600;
	line-height: 1.55;
	color: var(--abp-color-primary);
	background: rgba(107, 112, 57, 0.08);
	border-left: 4px solid var(--abp-color-accent);
	border-radius: 12px;
}

.abp-donate-page__methods {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 2rem);
	margin-bottom: clamp(2rem, 4vw, 2.5rem);
}

.abp-donate-page__methods--single {
	grid-template-columns: minmax(0, 1fr);
	max-width: 52rem;
	margin-inline: auto;
}

.abp-donate-bank-details {
	margin: 0;
}

.abp-donate-bank-details__row {
	display: grid;
	grid-template-columns: minmax(7rem, 9rem) minmax(0, 1fr);
	gap: 0.35rem 1rem;
	padding: 0.65rem 0;
	border-bottom: 1px solid rgba(44, 44, 44, 0.08);
}

.abp-donate-bank-details__row:last-child {
	border-bottom: 0;
}

.abp-donate-bank-details dt {
	margin: 0;
	font-size: var(--abp-text-sm);
	font-weight: 600;
	color: #5c5c5c;
}

.abp-donate-bank-details dd {
	margin: 0;
	font-size: var(--abp-text-base);
	font-weight: 600;
	color: var(--abp-color-text);
	word-break: break-word;
}

.abp-donate-method {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(1.25rem, 2.5vw, 1.75rem);
	align-items: start;
	margin: 0;
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	background: var(--abp-color-cream, #faf8f5);
	border: 1px solid rgba(107, 112, 57, 0.12);
	border-radius: 14px;
}

.abp-donate-method--esewa {
	background: #fff;
}

.abp-donate-method__title {
	margin: 0 0 0.75rem;
	font-size: var(--abp-text-lg);
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--abp-color-text);
}

.abp-donate-method__text {
	margin: 0;
	font-size: var(--abp-text-base);
	line-height: 1.65;
	color: #4a4a4a;
}

.abp-donate-method__qr {
	margin: 0;
	text-align: center;
}

.abp-donate-method__qr img {
	display: block;
	width: clamp(160px, 22vw, 220px);
	height: auto;
	margin: 0 auto;
	border: 1px solid rgba(44, 44, 44, 0.1);
	border-radius: 8px;
	background: #fff;
}

.abp-donate-method__qr-cap {
	margin: 0.5rem 0 0;
	font-size: var(--abp-text-xs);
	color: #888;
}

.abp-donate-page__intl {
	margin: 0 0 clamp(2rem, 4vw, 2.5rem);
	padding: 1.25rem 1.5rem;
	background: #fff;
	border: 1px solid rgba(44, 44, 44, 0.08);
	border-radius: 12px;
}

.abp-donate-page__intl-title {
	margin: 0 0 0.5rem;
	font-size: var(--abp-text-md);
	font-weight: 700;
	color: var(--abp-color-primary);
}

.abp-donate-page__intl p {
	margin: 0;
	line-height: 1.65;
	color: #4a4a4a;
}

.abp-donate-page__inkind {
	margin: 0 0 1rem;
	line-height: 1.65;
	color: #4a4a4a;
}

.abp-donate-page__transparency {
	margin: 0 0 1.5rem;
	line-height: 1.65;
	color: #5c5c5c;
}

@media (max-width: 991px) {
	.abp-donate-page__methods {
		grid-template-columns: 1fr;
	}

	.abp-donate-method {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
	}
}

/* Gallery lightbox */
body.abp-lightbox-open {
	overflow: hidden;
}

.abp-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(1rem, 3vw, 2rem);
}

.abp-lightbox[hidden] {
	display: none !important;
}

.abp-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(20, 20, 18, 0.88);
	cursor: pointer;
}

.abp-lightbox__dialog {
	position: relative;
	z-index: 1;
	max-width: min(92vw, 1100px);
	width: 100%;
	text-align: center;
}

.abp-lightbox__stage {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 40vh;
	max-height: 78vh;
}

.abp-lightbox__img {
	max-width: 100%;
	max-height: 78vh;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 4px;
	box-shadow: 0 12px 48px rgba(0, 0, 0, 0.35);
}

.abp-lightbox__counter {
	margin: 0.85rem 0 0;
	font-size: var(--abp-text-sm);
	color: rgba(255, 255, 255, 0.85);
}

.abp-lightbox__close {
	position: absolute;
	top: clamp(0.75rem, 2vw, 1.25rem);
	right: clamp(0.75rem, 2vw, 1.25rem);
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.95);
	color: var(--abp-color-text);
	font-size: 1.75rem;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.abp-lightbox__close:hover {
	background: #fff;
}

.abp-lightbox__nav {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	color: var(--abp-color-text);
	font-size: 2rem;
	line-height: 1;
	cursor: pointer;
	transform: translateY(-50%);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.abp-lightbox__nav:hover {
	background: #fff;
}

.abp-lightbox__prev {
	left: clamp(0.5rem, 2vw, 1.25rem);
}

.abp-lightbox__next {
	right: clamp(0.5rem, 2vw, 1.25rem);
}

.abp-gallery-uniform__item {
	cursor: zoom-in;
}

@media (max-width: 575px) {
	.abp-lightbox__prev {
		left: 0.35rem;
	}

	.abp-lightbox__next {
		right: 0.35rem;
	}

	.abp-lightbox__close {
		top: 0.5rem;
		right: 0.5rem;
	}
}

/* Mission + Works — large visual layouts (v2.15) */
.abp-section--mission-hero {
	padding-block: clamp(2.5rem, 5vw, 4.5rem);
}

.abp-mission-visual {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: clamp(1.75rem, 4vw, 3.25rem);
	align-items: center;
}

.abp-mission-visual__figure {
	margin: 0;
}

.abp-mission-visual__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 20px;
	box-shadow: 0 24px 64px rgba(44, 44, 44, 0.14);
}

.abp-mission-visual__lead {
	margin: 0 0 1.25rem;
	font-size: var(--abp-text-lg);
	font-weight: 600;
	line-height: 1.5;
	color: var(--abp-color-primary);
}

.abp-mission-visual__quote {
	margin: 0 0 1.25rem;
	padding: 0;
	border: 0;
	font-size: clamp(var(--abp-text-md), 2.2vw, var(--abp-text-xl));
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: -0.02em;
	color: var(--abp-color-text);
}

.abp-mission-visual__vision {
	margin: 0;
	font-size: var(--abp-text-base);
	line-height: 1.7;
	color: #4a4a4a;
}

.abp-section--mission-body {
	padding-block: clamp(2rem, 4vw, 3rem);
	background: #fff;
}

.abp-mission-body {
	max-width: 46rem;
	margin-inline: auto;
}

.abp-section--works-programs {
	padding-block: clamp(2.5rem, 5vw, 4.5rem);
	background: #fff;
}

.abp-section--works-intro {
	padding-block: clamp(2rem, 4vw, 3rem);
}

.abp-works-support__vol-p {
	margin: 0 0 1rem;
	font-size: var(--abp-text-sm);
	line-height: 1.65;
	color: #4a4a4a;
}

.abp-works-support__faq-block {
	margin-top: clamp(2rem, 4vw, 2.75rem);
	padding-top: clamp(1.75rem, 3vw, 2.25rem);
	border-top: 1px solid rgba(44, 44, 44, 0.1);
}

.abp-works-support__faq-title {
	margin: 0 0 1.25rem;
	text-align: center;
	font-size: var(--abp-text-lg);
	font-weight: 700;
	color: var(--abp-color-text);
}

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

.abp-service-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 2rem);
	margin-top: 0.5rem;
}

@media (min-width: 992px) {
	.abp-service-cards--5 {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.abp-service-cards--5 .abp-service-card {
		grid-column: span 2;
	}

	.abp-service-cards--5 .abp-service-card:nth-child(4),
	.abp-service-cards--5 .abp-service-card:nth-child(5) {
		grid-column: span 3;
	}
}

.abp-service-card {
	margin: 0;
	overflow: hidden;
	background: var(--abp-color-cream, #faf8f5);
	border: 1px solid rgba(107, 112, 57, 0.14);
	border-radius: 20px;
	box-shadow: 0 16px 48px rgba(44, 44, 44, 0.08);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abp-service-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 22px 56px rgba(44, 44, 44, 0.12);
}

.abp-service-card__img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.abp-service-card__body {
	padding: 1.35rem 1.5rem 1.6rem;
}

.abp-service-card__title {
	margin: 0 0 0.65rem;
	font-size: var(--abp-text-lg);
	font-weight: 700;
	color: var(--abp-color-text);
}

.abp-service-card__text {
	margin: 0;
	font-size: var(--abp-text-base);
	line-height: 1.6;
	color: #5c5c5c;
}

@media (max-width: 900px) {
	.abp-mission-visual {
		grid-template-columns: 1fr;
	}

	.abp-service-cards,
	.abp-service-cards--5 {
		grid-template-columns: 1fr;
	}

	.abp-service-cards--5 .abp-service-card {
		grid-column: auto;
	}

	.abp-faq--works {
		grid-template-columns: 1fr;
	}
}
