.button,
.wp-block-button__link,
button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: 0.8rem 1.35rem;
	border: 1px solid var(--color-primary);
	border-radius: var(--radius-sm);
	background: var(--color-primary);
	color: var(--color-primary-contrast);
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	box-shadow: none;
}

.button:hover,
.wp-block-button__link:hover,
button:hover {
	background: #7a1f28;
	border-color: #7a1f28;
	color: #ffffff;
	filter: none;
}

.site-header .site-header__cta,
.site-header .site-header__cta:hover,
.site-header .site-header__cta:focus-visible {
	box-shadow: none;
}

.menu-toggle {
	background: transparent;
	color: var(--ct-color-text);
	border-color: var(--ct-color-border);
	box-shadow: none;
}

.menu-toggle__icon {
	display: grid;
	gap: 0.25rem;
	width: 1.25rem;
}

.menu-toggle__icon span {
	display: block;
	height: 2px;
	background: currentColor;
}

.mobile-navigation__close {
	min-width: 2.75rem;
	padding-inline: 0.75rem;
	background: transparent;
	color: var(--color-text);
	border-color: var(--ct-color-border);
	box-shadow: none;
}

.submenu-toggle {
	background: transparent;
	color: var(--color-text);
	border-color: var(--ct-color-border);
	box-shadow: none;
}

.menu-toggle:hover,
.mobile-navigation__close:hover,
.submenu-toggle:hover {
	background: var(--color-secondary);
	color: var(--color-text);
	border-color: var(--ct-color-border);
}

.button-style-outline .button,
.button-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--color-primary);
	border-color: currentColor;
	box-shadow: none;
}

.button-style-outline .button:hover,
.button-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--color-secondary);
	color: var(--color-primary);
	border-color: var(--color-primary);
}

.hero .wp-block-button.is-style-outline .wp-block-button__link,
.cta-banner .wp-block-button.is-style-outline .wp-block-button__link {
	color: #ffffff;
}

.hero .wp-block-button.is-style-outline .wp-block-button__link:hover,
.hero .wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
	background: rgba(255, 255, 255, 0.12);
	color: #ffffff;
	border-color: #ffffff;
}

.button-style-soft .button,
.button-style-soft .wp-block-button__link {
	background: var(--color-secondary);
	border-color: var(--color-secondary);
	color: var(--color-secondary-contrast);
}

.headline-style-compact :where(h1, h2, h3, h4, h5, h6) {
	line-height: 1.05;
}

.headline-style-strong :where(h1, h2, h3, h4, h5, h6) {
	font-weight: 800;
}

.headline-style-serif :where(h1, h2, h3, h4, h5, h6) {
	font-family: Georgia, "Times New Roman", serif;
}

.entry,
.card,
.news-card,
.event-card,
.contact-box,
.map-placeholder {
	border: 1px solid var(--glass-card-border);
	border-radius: var(--ct-radius);
	padding: var(--ct-space-4);
	background: var(--glass-card-background);
	box-shadow: var(--glass-card-shadow), var(--glass-card-highlight);
	backdrop-filter: blur(18px) saturate(145%);
	-webkit-backdrop-filter: blur(18px) saturate(145%);
}

.entry.entry--page,
.entry.entry--single {
	border: 0;
	padding: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.entry-header,
.archive-header,
.section-header {
	margin-block-end: var(--ct-space-4);
}

.entry-title,
.archive-header h1,
.hero :where(h1, h2, h3, h4, h5, h6) {
	margin-block: 0 var(--ct-space-2);
	line-height: var(--line-height-heading);
}

.entry-hero {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	min-height: clamp(25rem, 54vw, 38rem);
	margin-block-end: clamp(2rem, 5vw, 4rem);
	padding: clamp(2rem, 6vw, 5rem);
	border: 1px solid var(--glass-card-border);
	border-radius: var(--radius-xl);
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(21, 34, 49, 0.9), rgba(21, 34, 49, 0.48)),
		var(--color-primary);
	color: #ffffff;
	box-shadow: var(--glass-card-shadow), var(--glass-card-highlight);
}

.entry-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(90deg, rgba(21, 34, 49, 0.82), rgba(21, 34, 49, 0.52) 42%, rgba(21, 34, 49, 0.22)),
		linear-gradient(0deg, rgba(21, 34, 49, 0.72), rgba(21, 34, 49, 0.1) 48%);
	pointer-events: none;
}

.entry-hero__content {
	position: relative;
	z-index: 2;
	width: min(100%, 52rem);
}

.entry-hero__eyebrow {
	margin-block-end: 1rem;
	color: #ffffff;
}

.entry-hero__title {
	margin-block-end: clamp(1rem, 3vw, 1.5rem);
	color: #ffffff;
	font-size: clamp(2.5rem, 6vw, 5rem);
}

.entry-hero__meta {
	color: rgba(255, 255, 255, 0.86);
	font-weight: 700;
}

.entry-hero__meta a {
	color: inherit;
}

.entry-hero__image {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	margin: 0 !important;
	border-radius: inherit;
	overflow: hidden;
	box-shadow: none;
}

.entry-hero__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.entry--single .entry-content {
	--post-content-width: min(100%, 54rem);
	--post-wide-width: min(100%, 64rem);
}

.entry--single .entry-content > :where(p, ul, ol, h2, h3, h4, h5, h6, .post-template-kicker, .post-template-lead, .post-template-intro) {
	max-width: var(--post-content-width);
	margin-inline: auto;
}

.entry--single .entry-content > :where(.wp-block-image, .wp-block-gallery, .wp-block-columns, .wp-block-group, .wp-block-quote) {
	max-width: var(--post-wide-width);
	margin-inline: auto;
}

.entry--single .entry-content :where(.wp-block-image img, .wp-block-media-text__media img) {
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
}

.entry--single .entry-content figcaption {
	margin-block-start: 0.65rem;
	color: var(--color-muted);
	font-size: 0.9rem;
	line-height: 1.45;
}

@media (min-width: 60em) {
	.entry-hero {
		min-height: clamp(30rem, 46vw, 42rem);
	}
}

.hero {
	position: relative;
	padding: clamp(4rem, 10vw, 8rem) clamp(1rem, 4vw, 2rem);
	border-radius: var(--radius-xl);
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(21, 34, 49, 0.86), rgba(21, 34, 49, 0.48)),
		var(--color-primary);
	color: #ffffff;
}

.hero__content {
	max-width: var(--ct-size-content);
}

.hero :where(h1, h2, h3, h4, h5, h6),
.hero p {
	color: inherit;
}

.wp-block-cover.hero {
	min-height: var(--hero-section-min-height) !important;
	border-radius: 0;
	margin-block-start: 0;
	margin-inline: calc(50% - (var(--viewport-inline-size) / 2));
	width: var(--viewport-inline-size);
}

.wp-block-group.hero-slider,
.wp-block-group.hero-static {
	display: flex;
	align-items: center;
	min-height: var(--hero-section-min-height);
	border-radius: 0;
	margin-block-start: 0;
	margin-inline: calc(50% - (var(--viewport-inline-size) / 2));
	width: var(--viewport-inline-size);
	isolation: isolate;
}

.hero-slider::before,
.hero-static::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(180deg, rgba(26, 22, 20, 0.1), rgba(26, 22, 20, 0.76)),
		linear-gradient(90deg, rgba(76, 20, 26, 0.72), rgba(76, 20, 26, 0.08) 68%);
	pointer-events: none;
}

.hero-static__image {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100% !important;
	max-width: none !important;
	height: 100%;
	margin: 0 !important;
	overflow: hidden;
}

.hero-static__image img {
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	object-fit: cover;
}

.hero-static__image img:not([src]) {
	display: none;
}

.hero-slider__slides {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	overflow: hidden;
}

.hero-slider__slide {
	position: absolute;
	inset: 0;
	width: 100%;
	max-width: none !important;
	height: 100%;
	margin: 0 !important;
	opacity: 0;
	transition: opacity 900ms ease;
}

.hero-slider__slide.is-active,
.hero-slider:not(.is-hero-slider-ready) .hero-slider__slide:first-child {
	opacity: 1;
}

.hero-slider__slide img {
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	object-fit: cover;
}

.hero-slider__content,
.hero-static__content {
	position: relative;
	z-index: 2;
	width: min(calc(100% - var(--container-padding) - var(--container-padding)), var(--ct-size-wide));
	margin-inline: auto !important;
}

.hero-slider__controls {
	position: absolute;
	inset-inline-start: max(var(--container-padding), calc((var(--viewport-inline-size) - var(--container-width)) / 2));
	inset-block-end: clamp(1.25rem, 3vw, 2rem);
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.hero-slider__pause,
.hero-slider__dot {
	min-width: 2.25rem;
	min-height: 2.25rem;
	padding: 0;
	background: rgba(255, 255, 255, 0.16);
	color: #ffffff;
	border-color: rgba(255, 255, 255, 0.62);
	box-shadow: none;
}

.hero-slider__pause {
	min-width: 4.6rem;
	padding-inline: 0.75rem;
	font-size: 0.85rem;
	font-weight: 800;
}

.hero-slider__dot {
	width: 0.8rem;
	height: 0.8rem;
	min-width: 0.8rem;
	min-height: 0.8rem;
	border-radius: 999px;
	font-size: 0;
}

.hero-slider__dot[aria-current="true"] {
	background: #ffffff;
	border-color: #ffffff;
}

.hero-slider__pause:hover,
.hero-slider__pause:focus-visible,
.hero-slider__dot:hover,
.hero-slider__dot:focus-visible {
	background: #ffffff;
	color: var(--color-primary);
	box-shadow: none;
}

.hero-split-section {
	padding-block: clamp(3rem, 8vw, 7rem);
}

.hero-split-section__columns {
	align-items: center !important;
	gap: clamp(2rem, 6vw, 5rem);
	margin-block: 0;
}

.hero-split-collage {
	position: relative;
	min-height: clamp(22rem, 42vw, 34rem);
}

.hero-split-collage__image {
	margin: 0;
	overflow: hidden;
	border-radius: var(--radius-xl);
	background: var(--color-secondary);
	box-shadow: var(--shadow-soft);
}

.hero-split-collage__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero-split-collage__image--primary {
	width: min(100%, 32rem);
	height: clamp(18rem, 34vw, 28rem);
}

.hero-split-collage__image--secondary {
	position: absolute;
	inset-inline-end: 0;
	inset-block-end: 0;
	width: min(72%, 24rem);
	height: clamp(12rem, 23vw, 18rem);
	border: 0.5rem solid var(--color-background);
}

.hero-split-section__content-column {
	max-width: 34rem;
}

.hero-split-section > .hero-split-section__columns,
.news-section > .news-section__query,
.news-section > .news-section__rubrics,
.encounter-section > .encounter-grid,
.soft-green-section > :where(.wp-block-columns, .download-list) {
	width: min(100%, var(--container-width));
	max-width: var(--container-width) !important;
	margin-inline: auto !important;
}

.hero-split-section__content-column :where(h2, h3, h4, h5, h6) {
	margin-block: 0 var(--ct-space-3);
}

.hero-split-section__content-column p:not(.section-eyebrow) {
	color: var(--color-muted);
}

.hero-split-section__button .wp-block-button__link::after {
	content: ">";
	margin-inline-start: 0.65rem;
	font-weight: 800;
}

.section-eyebrow,
.hero__eyebrow {
	margin-block: 0 0.75rem;
	color: var(--color-primary);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.news-card {
	display: grid;
	gap: var(--ct-space-3);
	overflow: visible;
	padding: 0;
}

.news-card__image,
.featured-news__image {
	margin: 0;
	overflow: hidden;
	border-radius: calc(var(--ct-radius) - 1px) calc(var(--ct-radius) - 1px) 0 0;
}

.news-card__img,
.featured-news__img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: calc(var(--ct-radius) - 1px) calc(var(--ct-radius) - 1px) 0 0;
}

.news-card__content {
	display: grid;
	gap: var(--ct-space-2);
	padding: var(--ct-space-4);
}

.news-card__title,
.featured-news__title,
.event-card__title {
	margin-block: 0 var(--ct-space-2);
}

.news-card__meta,
.featured-news__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0 var(--ct-space-3);
	color: #6d5a20;
	font-size: 0.9375rem;
	font-weight: 700;
}

.news-card__excerpt,
.featured-news__excerpt {
	margin-block: var(--ct-space-3);
}

.news-card__button,
.featured-news__button {
	margin-block-start: auto;
}

.news-section__query {
	margin-block-start: clamp(1.5rem, 4vw, 3rem);
}

.news-section > :where(.section-eyebrow, h1, h2, h3, h4, h5, h6, p:not(.section-eyebrow), .news-section__rubrics, .news-rubric--home-grid) {
	width: min(100%, var(--container-width));
	max-width: var(--container-width) !important;
	margin-inline: auto !important;
}

.news-section__rubrics {
	display: grid;
	gap: clamp(2.5rem, 6vw, 4rem);
	margin-block-start: clamp(2rem, 5vw, 3.5rem);
}

.news-rubric {
	display: grid;
	gap: clamp(1.25rem, 3vw, 2rem);
	width: 100%;
}

.news-rubric--home-grid {
	margin-block-start: clamp(2rem, 5vw, 3.5rem);
}

.news-page-rubrics .news-rubric--podcast {
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 1px solid color-mix(in srgb, var(--color-primary) 72%, #ffffff);
	border-radius: var(--radius-xl);
	background: var(--color-primary);
	color: #ffffff;
	box-shadow: var(--glass-card-shadow), var(--glass-card-highlight);
}

.news-page-rubrics .news-rubric--podcast .news-rubric__title,
.news-page-rubrics .news-rubric--podcast .news-rubric__description,
.news-page-rubrics .news-rubric--podcast .news-rubric__eyebrow {
	color: inherit;
}

.news-rubric__header {
	max-width: 46rem;
}

.news-rubric__eyebrow,
.news-rubric__title,
.news-rubric__description {
	margin-block: 0;
}

.news-rubric__title {
	color: var(--color-primary);
	font-size: clamp(2rem, 5vw, 4rem);
	line-height: 1.05;
}

.news-rubric__description {
	margin-block-start: 0.75rem;
	color: var(--color-muted);
}

.news-rubric__grid {
	margin-block-start: 0;
}

.news-rubric + .news-rubric {
	padding-block-start: clamp(1.25rem, 3vw, 2rem);
	border-block-start: 1px solid var(--glass-card-border);
}

.news-rubric--no-header {
	gap: 0;
}

.news-section > .news-section__rubrics .news-rubric:first-child .news-rubric__header {
	display: none;
}

.news-rubric__empty {
	margin: 0;
	padding: clamp(1rem, 2.5vw, 1.5rem);
	border: 1px solid var(--glass-card-border);
	border-radius: var(--radius-lg);
	background: var(--glass-card-background);
	color: var(--color-muted);
	box-shadow: var(--glass-card-shadow), var(--glass-card-highlight);
}

.news-section__grid {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: clamp(1.25rem, 3vw, 2rem);
	list-style: none;
	margin: 0;
	padding: 0;
}

.news-section__grid > li {
	min-width: 0;
}

.news-card--pattern {
	display: grid;
	grid-template-rows: auto auto auto 1fr auto auto;
	min-height: 100%;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 0;
	border-radius: var(--radius-lg);
	background: linear-gradient(135deg, #fac059, #f9b233);
	color: #ffffff;
	box-shadow: var(--shadow-soft);
}

.news-card--pattern .news-card__eyebrow {
	margin-block: 0 0.75rem;
	color: #1d1d1f;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.news-card--pattern .news-card__title,
.news-card--pattern .wp-block-post-title {
	margin-block: 0;
	line-height: 1.16;
}

.news-card--pattern h2.news-card__title,
.news-card--pattern h2.wp-block-post-title {
	font-size: clamp(1.55rem, 2.4vw, 2.1rem);
}

.news-card--pattern h3.news-card__title,
.news-card--pattern h3.wp-block-post-title {
	font-size: clamp(1.35rem, 2.2vw, 1.75rem);
}

.news-card--pattern h4.news-card__title,
.news-card--pattern h4.wp-block-post-title {
	font-size: clamp(1.15rem, 1.75vw, 1.45rem);
}

.news-card--pattern h5.news-card__title,
.news-card--pattern h5.wp-block-post-title,
.news-card--pattern h6.news-card__title,
.news-card--pattern h6.wp-block-post-title {
	font-size: clamp(1rem, 1.35vw, 1.2rem);
	letter-spacing: 0;
}

.news-card--pattern .news-card__title a,
.news-card--pattern .wp-block-post-title a {
	color: #ffffff;
	text-decoration: none;
}

.news-card--pattern .news-card__title a:hover,
.news-card--pattern .wp-block-post-title a:hover {
	text-decoration: underline;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

.news-card--pattern .news-card__date,
.news-card--pattern .wp-block-post-date {
	margin-block: 0;
	color: #1d1d1f;
	font-size: 0.95rem;
	font-weight: 700;
}

.news-card--pattern .news-card__excerpt {
	margin-block: 0;
	color: #ffffff;
}

.news-card--pattern .news-card__button {
	order: 6;
	justify-self: start;
	align-self: end;
	min-height: 2.4rem;
	margin-block: 0;
	padding: 0.55rem 0.95rem;
	background: #ffffff;
	border-color: #ffffff;
	color: var(--color-primary);
	box-shadow: none;
	font-size: 0.95rem;
}

.news-card--pattern .news-card__button:hover,
.news-card--pattern .news-card__button:focus-visible {
	background: var(--color-primary);
	border-color: var(--color-primary);
	color: #ffffff;
	box-shadow: none;
}

.news-card--pattern.category-podcast {
	background: linear-gradient(135deg, #5b7c70, #4f6e63);
	color: #ffffff;
}

.news-card--pattern.category-podcast .news-card__eyebrow,
.news-card--pattern.category-podcast .news-card__date {
	color: rgba(255, 255, 255, 0.88);
}

.news-card--pattern.category-podcast .news-card__button:hover,
.news-card--pattern.category-podcast .news-card__button:focus-visible {
	background: var(--color-accent);
	border-color: var(--color-accent);
	color: var(--color-accent-contrast);
}

.news-card--pattern .news-card__featured-image {
	order: 5;
	align-self: end;
	margin: 0;
	overflow: hidden;
	border-radius: var(--radius-md);
}

.news-card--pattern .news-card__featured-image img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.news-section .wp-block-latest-posts {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1.25rem, 3vw, 2rem);
	list-style: none;
	margin: clamp(1.5rem, 4vw, 3rem) 0 0;
	padding: 0;
}

.news-section .wp-block-latest-posts > li {
	position: relative;
	isolation: isolate;
	display: grid;
	gap: var(--ct-space-3);
	min-width: 0;
	padding: clamp(1.25rem, 3vw, 2rem);
	border-radius: var(--radius-lg);
	background: linear-gradient(135deg, #fac059, #f9b233);
	color: #ffffff;
	box-shadow: var(--shadow-soft);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.news-section .wp-block-latest-posts > li::after {
	content: "";
	position: absolute;
	inset-inline: 1rem;
	inset-block-end: -1.15rem;
	z-index: -1;
	height: 1.25rem;
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(36, 63, 90, 0.16), rgba(36, 63, 90, 0));
	filter: blur(2px);
	opacity: 0;
	transform: scaleY(-1);
	transition: opacity 180ms ease, transform 180ms ease;
	pointer-events: none;
}

.news-section .wp-block-latest-posts > li > a {
	color: #ffffff;
	font-size: clamp(1.35rem, 2.2vw, 1.75rem);
	font-weight: 800;
	line-height: 1.16;
	text-decoration: none;
}

.news-section .wp-block-latest-posts__post-date {
	color: #1d1d1f;
	font-weight: 700;
}

.news-section .wp-block-latest-posts__featured-image {
	order: 10;
	margin: auto 0 0;
	overflow: hidden;
	border-radius: var(--radius-md);
}

.news-section .wp-block-latest-posts__featured-image img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.featured-news {
	display: grid;
	gap: var(--ct-space-4);
	padding: var(--ct-space-4);
	background: linear-gradient(135deg, #fac059, #f9b233);
	border: 1px solid var(--ct-color-border);
	border-radius: var(--ct-radius);
	color: #ffffff;
	overflow: hidden;
}

.featured-news :where(h2, h3, h4, h5, h6),
.featured-news a:not(.button) {
	color: #ffffff;
}

.featured-news .featured-news__meta,
.featured-news .featured-news__eyebrow {
	color: #ffffff;
}

.featured-news .button {
	background: #ffffff;
	border-color: #ffffff;
	color: var(--color-primary);
}

.featured-news__eyebrow {
	margin-block: 0 var(--ct-space-2);
	color: var(--color-muted);
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
}

.post-template-kicker {
	margin-block: 0 0.75rem;
	color: var(--color-accent);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.post-template-lead {
	max-width: 58rem;
	margin-block: 0 clamp(1.25rem, 3vw, 2rem);
	color: var(--color-primary);
	font-size: clamp(1.7rem, 3vw, 2.8rem);
	line-height: 1.08;
}

.post-template-intro {
	max-width: 48rem;
	color: var(--color-muted);
	font-size: clamp(1.05rem, 1.35vw, 1.25rem);
	font-weight: 650;
}

.post-template-image,
.post-template-image-row,
.post-template-overlap-images,
.post-template-quote,
.post-template-info-card,
.post-template-podcast-card {
	margin-block: clamp(1.5rem, 4vw, 2.75rem);
}

.post-template-image img,
.post-template-image-row img,
.post-template-overlap-images img {
	display: block;
	width: 100%;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
	object-fit: cover;
}

.post-template-image img {
	aspect-ratio: 16 / 9;
}

.post-template-image-row img {
	aspect-ratio: 4 / 3;
}

.post-template-overlap-images {
	display: grid;
	gap: clamp(1rem, 3vw, 1.5rem);
	align-items: end;
}

.post-template-overlap-images .wp-block-image {
	margin: 0;
}

.post-template-overlap-images__primary img {
	aspect-ratio: 16 / 10;
}

.post-template-overlap-images__secondary img {
	aspect-ratio: 4 / 3;
}

.post-template-quote,
.post-template-info-card,
.post-template-podcast-card {
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid var(--glass-card-border);
	border-radius: var(--radius-lg);
	background: var(--glass-card-background);
	box-shadow: var(--glass-card-shadow), var(--glass-card-highlight);
	backdrop-filter: blur(18px) saturate(145%);
	-webkit-backdrop-filter: blur(18px) saturate(145%);
}

.post-template-quote {
	border-inline-start: 0.35rem solid var(--color-accent);
}

.post-template-info-card > *,
.post-template-podcast-card > * {
	margin-block-start: 0;
}

@media (min-width: 48em) {
	.post-template-overlap-images {
		grid-template-columns: minmax(0, 0.72fr) minmax(14rem, 0.42fr);
		gap: 0;
		padding-block-end: clamp(1.5rem, 4vw, 3rem);
	}

	.post-template-overlap-images__primary {
		grid-column: 1 / span 1;
		grid-row: 1;
	}

	.post-template-overlap-images__secondary {
		z-index: 1;
		grid-column: 2;
		grid-row: 1;
		margin-block-start: clamp(3rem, 8vw, 5rem) !important;
		margin-inline-start: clamp(-4rem, -5vw, -2rem) !important;
	}
}

.category-filter {
	margin-block-end: var(--ct-space-4);
}

.category-filter__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ct-space-2);
	list-style: none;
	margin: 0;
	padding: 0;
}

.category-filter__link {
	display: inline-flex;
	align-items: center;
	min-height: 2.5rem;
	padding: 0.4rem 0.75rem;
	border: 1px solid var(--ct-color-border);
	border-radius: var(--radius-sm);
	color: var(--color-text);
	text-decoration: none;
}

.category-filter__link[aria-current="page"] {
	background: var(--color-accent);
	color: var(--color-accent-contrast);
	border-color: var(--color-accent);
}

.cta-banner {
	padding: var(--ct-space-5);
	background: linear-gradient(135deg, var(--color-primary), #152231);
	color: #ffffff;
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-card);
}

.cta-banner :where(h2, h3, h4, h5, h6),
.cta-banner .section-eyebrow {
	color: inherit;
}

.cta-banner a:not(.wp-block-button__link) {
	color: currentColor;
}

.cta-banner .wp-block-button__link {
	background: var(--color-primary-contrast);
	color: var(--color-primary);
	border-color: var(--color-primary-contrast);
}

.teaser-grid {
	display: grid;
	gap: var(--ct-space-3);
}

.encounter-section {
	padding-block: clamp(3rem, 8vw, 7rem);
}

.encounter-section > .wp-block-heading {
	margin-block: 0 clamp(1.5rem, 4vw, 3rem);
}

.encounter-grid {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: clamp(1.25rem, 3vw, 2rem);
	margin-block: 0;
}

.encounter-card {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 100%;
	padding: clamp(1.4rem, 3vw, 2rem);
	border-radius: var(--radius-lg);
	background: linear-gradient(135deg, #fac059, #f9b233);
	color: #ffffff;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.encounter-card::after {
	content: "";
	position: absolute;
	inset-inline: 1rem;
	inset-block-end: -1.15rem;
	z-index: -1;
	height: 1.25rem;
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(36, 63, 90, 0.16), rgba(36, 63, 90, 0));
	filter: blur(2px);
	opacity: 0;
	transform: scaleY(-1);
	transition: opacity 180ms ease, transform 180ms ease;
	pointer-events: none;
}

.encounter-card__eyebrow {
	margin-block: 0 0.85rem;
	color: #ffffff;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.encounter-card__title {
	margin-block: 0 var(--ct-space-2);
	color: #ffffff;
	line-height: 1.14;
}

.encounter-card h2.encounter-card__title {
	font-size: clamp(1.55rem, 2.4vw, 2.15rem);
}

.encounter-card h3.encounter-card__title {
	font-size: clamp(1.35rem, 2.2vw, 1.75rem);
}

.encounter-card h4.encounter-card__title {
	font-size: clamp(1.15rem, 1.7vw, 1.45rem);
}

.encounter-card h5.encounter-card__title,
.encounter-card h6.encounter-card__title {
	font-size: clamp(1rem, 1.35vw, 1.2rem);
	letter-spacing: 0;
}

.encounter-card__text {
	margin-block: 0 clamp(1.25rem, 4vw, 3rem);
	color: #ffffff;
}

.encounter-card__image {
	margin-block: auto var(--ct-space-3);
	overflow: hidden;
	border-radius: var(--radius-md);
	background: rgba(255, 255, 255, 0.18);
}

.encounter-card__image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.encounter-card__actions {
	margin-block: auto 0;
	padding-block-start: var(--ct-space-3);
}

.encounter-card__button .wp-block-button__link {
	min-height: 2.4rem;
	padding: 0.55rem 0.9rem;
	background: #ffffff;
	border-color: #ffffff;
	color: var(--color-primary);
	box-shadow: none;
	font-size: 0.95rem;
}

.encounter-card__button .wp-block-button__link:hover,
.encounter-card__button .wp-block-button__link:focus-visible {
	background: var(--color-primary);
	border-color: var(--color-primary);
	color: #ffffff;
	box-shadow: none;
}

.mission-section {
	margin-inline: calc(50% - (var(--viewport-inline-size) / 2));
	padding: clamp(4rem, 8vw, 7rem) max(var(--container-padding), calc((var(--viewport-inline-size) - var(--container-width)) / 2));
	background: var(--color-soft-green);
	color: var(--color-soft-green-contrast);
}

.soft-green-section.mission-section {
	background: var(--color-soft-green);
	color: var(--color-soft-green-contrast);
	padding-block: clamp(4rem, 8vw, 7rem);
}

.mission-section :where(h2, h3, h4, h5, h6),
.mission-section .section-eyebrow {
	color: inherit;
}

.mission-section__intro,
.mission-section__closing-wrap {
	width: min(100%, var(--container-width));
	max-width: var(--container-width) !important;
	margin-inline: auto !important;
}

.mission-section__eyebrow-row {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-block: 0 0.75rem;
}

.mission-section__eyebrow-icon {
	flex: 0 0 auto;
	width: 1rem;
	height: 1rem;
	margin: 0;
}

.mission-section__eyebrow-icon:not(:has(img[src])) {
	display: none;
}

.mission-section__eyebrow-icon.is-resized {
	width: fit-content;
	height: auto;
}

.mission-section__eyebrow-icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.mission-section__eyebrow-icon img:not([src]) {
	display: none;
}

.mission-section__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
}

.mission-section__intro :where(h1, h2, h3, h4, h5, h6) {
	max-width: 58rem;
	margin-block: clamp(1rem, 2.4vw, 1.75rem) var(--ct-space-4);
	line-height: 1;
}

.mission-section__intro h1 {
	font-size: clamp(2.85rem, 4.35vw, 4.6rem);
}

.mission-section__intro h2 {
	font-size: clamp(2.6rem, 4vw, 4.25rem);
}

.mission-section__intro h3 {
	font-size: clamp(2rem, 3vw, 3rem);
}

.mission-section__intro h4 {
	font-size: clamp(1.55rem, 2.2vw, 2.1rem);
}

.mission-section__intro h5,
.mission-section__intro h6 {
	font-size: clamp(1.15rem, 1.55vw, 1.45rem);
}

.mission-section__lead,
.mission-section__closing {
	max-width: 55rem;
	margin-block: 0;
	color: inherit;
	font-size: clamp(1rem, 1.15vw, 1.2rem);
	font-weight: 600;
	line-height: 1.6;
}

.mission-cards {
	display: grid !important;
	width: min(100%, var(--container-width));
	grid-template-columns: 1fr;
	gap: clamp(1.25rem, 2vw, 1.75rem);
	margin: clamp(2.5rem, 4.4vw, 3.5rem) auto;
}

.mission-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: clamp(13.5rem, 16vw, 17rem);
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border-radius: var(--radius-xl);
	background: linear-gradient(135deg, #fac059, #f9b233);
	color: #ffffff;
	text-align: center;
}

.mission-card__icon {
	display: inline-flex;
	width: clamp(2.6rem, 3.5vw, 3.75rem);
	height: clamp(2.6rem, 3.5vw, 3.75rem);
	margin: 0 0 clamp(1.2rem, 2vw, 1.6rem);
	color: currentColor;
}

.mission-card__icon:not(:has(img[src])) {
	display: none;
}

.mission-card__icon.is-resized {
	width: fit-content;
	height: auto;
}

.mission-card__icon img,
.mission-card__icon svg {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.mission-card__icon img:not([src]) {
	display: none;
}

.mission-card__title {
	margin: 0;
	color: inherit;
	line-height: 1.12;
}

.mission-card h2.mission-card__title {
	font-size: clamp(1.85rem, 2.35vw, 2.65rem);
}

.mission-card h3.mission-card__title {
	font-size: clamp(1.65rem, 2vw, 2.35rem);
}

.mission-card h4.mission-card__title {
	font-size: clamp(1.35rem, 1.65vw, 1.9rem);
}

.mission-card h5.mission-card__title,
.mission-card h6.mission-card__title {
	font-size: clamp(1.1rem, 1.35vw, 1.45rem);
	letter-spacing: 0;
}

.mission-section > .mission-section__closing,
.mission-section__closing-wrap {
	width: min(100%, var(--container-width));
	max-width: var(--container-width) !important;
	margin-inline: auto;
}

.mission-section > .mission-section__closing {
	padding-inline-end: max(0px, calc(var(--container-width) - 55rem));
}

.mission-section__closing-wrap .mission-section__closing {
	margin-inline: 0 !important;
}

.card,
.news-card,
.event-card,
.contact-box,
.wp-block-column.has-card-style,
.encounter-card,
.download-card,
.donation-box {
	position: relative;
	isolation: isolate;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.card::after,
.news-card::after,
.event-card::after,
.contact-box::after,
.wp-block-column.has-card-style::after,
.encounter-card::after,
.download-card::after,
.donation-box::after {
	content: "";
	position: absolute;
	inset-inline: 1rem;
	inset-block-end: -1.15rem;
	z-index: -1;
	height: 1.25rem;
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(36, 63, 90, 0.16), rgba(36, 63, 90, 0));
	filter: blur(2px);
	opacity: 0;
	transform: scaleY(-1);
	transition: opacity 180ms ease, transform 180ms ease;
	pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
	.card:hover,
	.news-card:hover,
	.event-card:hover,
	.contact-box:hover,
	.wp-block-column.has-card-style:hover,
	.encounter-card:hover,
	.download-card:hover,
	.donation-box:hover,
	.news-section .wp-block-latest-posts > li:hover,
	.card:focus-within,
	.news-card:focus-within,
	.event-card:focus-within,
	.contact-box:focus-within,
	.wp-block-column.has-card-style:focus-within,
	.encounter-card:focus-within,
	.download-card:focus-within,
	.donation-box:focus-within,
	.news-section .wp-block-latest-posts > li:focus-within {
		border-color: rgba(249, 178, 51, 0.44);
		box-shadow: var(--shadow-card);
		transform: translateY(-0.125rem);
	}

	.card:hover::after,
	.news-card:hover::after,
	.event-card:hover::after,
	.contact-box:hover::after,
	.wp-block-column.has-card-style:hover::after,
	.encounter-card:hover::after,
	.download-card:hover::after,
	.donation-box:hover::after,
	.news-section .wp-block-latest-posts > li:hover::after,
	.card:focus-within::after,
	.news-card:focus-within::after,
	.event-card:focus-within::after,
	.contact-box:focus-within::after,
	.wp-block-column.has-card-style:focus-within::after,
	.encounter-card:focus-within::after,
	.download-card:focus-within::after,
	.donation-box:focus-within::after,
	.news-section .wp-block-latest-posts > li:focus-within::after {
		opacity: 1;
		transform: scaleY(-1) translateY(0.35rem);
	}
}

.soft-green-section {
	margin-inline: calc(50% - (var(--viewport-inline-size) / 2));
	padding: var(--section-padding-y) max(var(--container-padding), calc((var(--viewport-inline-size) - var(--container-width)) / 2));
	background: var(--color-soft-green);
	color: var(--color-soft-green-contrast);
}

.soft-green-section :where(h2, h3, h4, h5, h6),
.soft-green-section .section-eyebrow {
	color: inherit;
}

.orange-card,
.wp-block-column.has-card-style {
	padding: clamp(1.5rem, 4vw, 2.25rem);
	border-radius: var(--radius-lg);
	background: linear-gradient(135deg, #fac059, #f9b233);
	color: #ffffff;
}

.orange-card :where(h2, h3, h4, h5, h6),
.wp-block-column.has-card-style :where(h2, h3, h4, h5, h6),
.orange-card .section-eyebrow,
.wp-block-column.has-card-style .section-eyebrow,
.orange-card a,
.wp-block-column.has-card-style a {
	color: #ffffff;
}

.download-list {
	display: grid;
	justify-items: start;
	gap: clamp(0.45rem, 0.9vw, 0.65rem);
	margin-block-start: clamp(1.5rem, 4vw, 2.75rem);
}

.download-card {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	gap: clamp(0.9rem, 2vw, 1.25rem);
	padding: clamp(0.85rem, 1.8vw, 1.15rem);
	border: 1px solid rgba(255, 255, 255, 0.62);
	border-radius: var(--radius-md);
	background: #ffffff;
	color: var(--color-text);
}

.download-card__content {
	min-width: min(100%, 18rem);
	margin: 0 !important;
}

.download-card__title {
	margin-block: 0 0.2rem;
	color: var(--color-primary);
	font-size: clamp(1.15rem, 1.7vw, 1.4rem);
	line-height: 1.12;
}

.download-card__meta {
	margin-block: 0;
	color: var(--color-muted);
}

.download-card .wp-block-buttons {
	margin: 0;
}

.donation-box {
	display: grid;
	align-content: center;
	gap: var(--ct-space-3);
	min-height: var(--hero-section-min-height);
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 1px solid rgba(249, 178, 51, 0.26);
	border-radius: var(--radius-lg);
	background: #ffffff;
	box-shadow: var(--shadow-soft);
}

.donation-box > * {
	margin-block: 0;
}

.donation-tool-section {
	display: grid;
	gap: clamp(0.9rem, 2vw, 1.35rem);
}

.donation-tool-section > * {
	margin-block: 0;
}

.donation-tool-section .wp-block-shortcode {
	width: 100%;
	margin-block-start: clamp(1rem, 3vw, 2rem);
}

.donation-tool {
	display: grid;
	gap: var(--ct-space-3);
	width: 100%;
}

.donation-tool__frame {
	overflow: hidden;
	border: 1px solid var(--glass-card-border);
	border-radius: var(--radius-lg);
	background: #ffffff;
	box-shadow: var(--glass-card-shadow), var(--glass-card-highlight);
}

.donation-tool__iframe {
	display: block;
	width: 100%;
	min-height: var(--donation-tool-min-height, 760px);
	border: 0;
	background: #ffffff;
}

.donation-tool__notice {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--ct-space-2) var(--ct-space-4);
	color: var(--color-muted);
	font-size: 0.9375rem;
}

.donation-tool__notice p {
	margin: 0;
}

.donation-tool__external-link {
	font-weight: 700;
}

.contact-form {
	display: grid;
	gap: var(--ct-space-3);
}

.contact-form-section {
	display: grid;
	gap: clamp(0.9rem, 2vw, 1.35rem);
}

.contact-form-section > * {
	margin-block: 0;
}

.contact-form-section .wp-block-shortcode {
	margin-block-start: clamp(0.75rem, 2vw, 1.25rem);
}

.contact-form-section .contact-form {
	max-width: 48rem;
}

.contact-form__field {
	display: grid;
	gap: var(--ct-space-1);
}

.contact-form label {
	font-weight: 700;
}

.contact-form input,
.contact-form textarea {
	width: 100%;
	padding: 0.75rem;
	border: 1px solid var(--ct-color-border);
	border-radius: var(--radius-sm);
	background: var(--color-background);
	color: var(--color-text);
}

.contact-form textarea {
	min-height: 10rem;
	resize: vertical;
}

.contact-form__hint,
.contact-form__status {
	margin: 0;
	color: var(--color-muted);
}

.contact-form__status:not(:empty) {
	padding: 0.85rem 1rem;
	border-radius: var(--radius-sm);
	font-weight: 700;
}

.contact-form__status--success {
	background: color-mix(in srgb, var(--color-soft-green) 30%, #ffffff);
	color: var(--color-primary);
}

.contact-form__status--error {
	background: color-mix(in srgb, var(--color-error) 12%, #ffffff);
	color: var(--color-error);
}

.contact-form__error {
	margin: 0;
	color: var(--color-error);
	font-weight: 700;
}

.contact-form [aria-invalid="true"] {
	border-color: var(--color-error);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-error) 18%, transparent);
}

.contact-form__trap {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.contact-form button {
	justify-self: start;
}

.contact-form-section.contact-box:hover,
.contact-form-section.contact-box:focus-within {
	transform: none;
}

.contact-form-section.contact-box:hover::after,
.contact-form-section.contact-box:focus-within::after {
	opacity: 0;
}

.contact-card__links {
	display: grid;
	gap: var(--ct-space-1);
	list-style: none;
	margin: var(--ct-space-3) 0 0;
	padding: 0;
}

.contact-card__role {
	color: var(--color-muted);
	font-weight: 700;
}

.contact-accordion-section {
	background: var(--color-soft-green);
	color: var(--color-soft-green-contrast);
}

.contact-accordion-section :where(h2, h3, h4, h5, h6),
.contact-accordion-section p,
.contact-accordion-section .section-eyebrow {
	color: inherit;
}

.contact-accordion-section__intro {
	width: min(100%, var(--container-width));
	max-width: var(--container-width) !important;
	margin-inline: auto !important;
}

.contact-accordion-section__eyebrow-row {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-block: 0 0.75rem;
}

.contact-accordion-section__eyebrow {
	margin: 0;
}

.contact-accordion-section__eyebrow-icon {
	display: inline-flex;
	flex: 0 0 auto;
	width: 1rem;
	height: 1rem;
	margin: 0;
}

.contact-accordion-section__eyebrow-icon:not(:has(img[src])) {
	display: none;
}

.contact-accordion-section__eyebrow-icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.contact-accordion-section__intro > h2 {
	max-width: 62rem;
	margin-block: clamp(1rem, 2.4vw, 1.75rem) var(--ct-space-4);
	font-size: clamp(2.6rem, 4vw, 4.25rem);
	line-height: 1;
}

.contact-accordion-section__lead {
	max-width: 74rem;
	margin-block: 0 var(--ct-space-4);
	font-size: clamp(1rem, 1.25vw, 1.2rem);
	font-weight: 600;
	line-height: 1.6;
}

.contact-accordion-section__separator {
	width: min(100%, var(--container-width));
	max-width: var(--container-width) !important;
	margin: clamp(2.75rem, 6vw, 4.5rem) auto clamp(1.75rem, 4vw, 3rem);
	border-color: rgba(255, 255, 255, 0.68);
}

.contact-accordion-section__list-title {
	width: min(100%, var(--container-width));
	max-width: var(--container-width) !important;
	margin: 0 auto clamp(1.5rem, 4vw, 2.25rem);
	font-size: clamp(2.15rem, 4vw, 3.75rem);
	line-height: 1.05;
}

.contact-accordion {
	width: min(100%, var(--container-width));
	max-width: var(--container-width) !important;
	margin-inline: auto !important;
	border: 1px solid rgba(255, 255, 255, 0.62);
	border-block-end: 0;
}

.contact-accordion__item {
	margin: 0;
	border-block-end: 1px solid rgba(255, 255, 255, 0.62);
	color: #ffffff;
}

.contact-accordion__item[open] {
	background: rgba(255, 255, 255, 0.04);
}

.contact-accordion__item summary {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	min-height: 3.75rem;
	padding: 0.75rem 1rem;
	color: inherit;
	font-size: clamp(1rem, 1.35vw, 1.2rem);
	font-weight: 800;
	line-height: 1.25;
	cursor: pointer;
	list-style: none;
}

.contact-accordion__item[open] summary {
	color: #f9b233;
	border-block-end: 1px solid rgba(255, 255, 255, 0.62);
}

.contact-accordion__item summary::-webkit-details-marker {
	display: none;
}

.contact-accordion__item summary::before {
	content: "+";
	flex: 0 0 auto;
	font-size: 1.7rem;
	font-weight: 800;
	line-height: 1;
}

.contact-accordion__item[open] summary::before {
	content: "-";
}

.contact-accordion__people {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1rem, 2.4vw, 1.5rem);
	margin: 0 !important;
	padding: clamp(2.5rem, 6vw, 5rem) clamp(0.75rem, 2vw, 1.5rem) clamp(1.75rem, 4vw, 2.5rem);
}

.contact-person {
	display: grid;
	align-content: start;
	gap: 0;
	margin: 0 !important;
	padding: clamp(1rem, 2.2vw, 1.35rem);
	min-width: 0;
	border: 1px solid rgba(255, 255, 255, 0.52);
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, 0.12);
	color: var(--color-text);
	box-shadow: 0 1rem 2.25rem rgba(36, 63, 90, 0.08);
}

.contact-person:focus-within {
	border-color: rgba(250, 192, 89, 0.72);
	box-shadow: 0 1rem 2.25rem rgba(36, 63, 90, 0.12);
}

.contact-person > * {
	width: 100%;
	max-width: 100% !important;
	margin-inline: 0 !important;
}

.contact-person__photo {
	position: relative;
	aspect-ratio: 1 / 1;
	margin: 0 0 clamp(1rem, 2vw, 1.35rem);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.7);
	border-radius: var(--radius-lg);
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.18)),
		linear-gradient(135deg, #edf0ed, #ffffff 48%, #eceee8);
}

.contact-person__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.contact-person__photo img:not([src]) {
	display: none;
}

.contact-person__photo:not(:has(img[src]))::before {
	content: "";
	position: absolute;
	inset: 11% 12% 0;
	background:
		radial-gradient(circle at 50% 22%, #d6d9df 0 16%, transparent 16.5%),
		radial-gradient(ellipse at 50% 100%, #d6d9df 0 46%, transparent 46.5%);
	opacity: 0.86;
}

.contact-person__photo:not(:has(img[src]))::after {
	content: "FOTO\A FOLGT";
	position: absolute;
	inset-block-end: 6%;
	inset-inline-start: 50%;
	display: grid;
	place-items: center;
	width: min(36%, 9rem);
	aspect-ratio: 1;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.82);
	color: #7e858c;
	font-size: clamp(1rem, 1.8vw, 1.45rem);
	font-weight: 800;
	line-height: 1.15;
	text-align: center;
	white-space: pre;
	transform: translateX(-50%);
}

.contact-person__name {
	margin-block: 0 0.6rem;
	color: var(--color-text) !important;
	font-size: clamp(1.2rem, 1.85vw, 1.7rem);
	line-height: 1.15;
}

.contact-person__detail-row {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin-block: 0.2rem;
}

.contact-person__detail-icon {
	display: inline-flex;
	flex: 0 0 auto;
	width: 1.75rem;
	height: 1.75rem;
	margin: 0;
	color: currentColor;
}

.contact-person__detail-icon:not(:has(img[src])) {
	display: none;
}

.contact-person__detail-icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.contact-person__detail {
	margin: 0;
	color: var(--color-muted) !important;
	font-weight: 600;
	line-height: 1.55;
	min-width: 0;
}

.contact-person__detail a {
	color: #f9b233;
	text-decoration: underline;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
	overflow-wrap: anywhere;
}

.contact-person__note {
	color: var(--color-text) !important;
}

.board-section {
	padding-block: clamp(3rem, 8vw, 7rem);
}

.board-section__intro {
	margin-block-end: clamp(2.75rem, 7vw, 5rem);
}

.board-section__eyebrow-row {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-block: 0 0.75rem;
}

.board-section__eyebrow {
	margin: 0;
}

.board-section__eyebrow-icon,
.board-card__mail-icon {
	display: inline-flex;
	flex: 0 0 auto;
	margin: 0;
	color: currentColor;
}

.board-section__eyebrow-icon {
	width: 1rem;
	height: 1rem;
}

.board-card__mail-icon {
	width: 1.75rem;
	height: 1.75rem;
}

.board-section__eyebrow-icon:not(:has(img[src])),
.board-card__mail-icon:not(:has(img[src])) {
	display: none;
}

.board-section__eyebrow-icon img,
.board-card__mail-icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.board-grid {
	display: grid !important;
	width: min(100%, var(--container-width));
	grid-template-columns: 1fr;
	gap: clamp(1rem, 2.4vw, 1.5rem);
	margin: 0 auto;
}

.board-card {
	display: grid;
	align-content: start;
	gap: 0;
	margin: 0 !important;
	padding: clamp(1rem, 2.2vw, 1.35rem);
	min-width: 0;
	border: 1px solid rgba(36, 63, 90, 0.14);
	border-radius: var(--radius-lg);
	background: color-mix(in srgb, var(--color-surface) 86%, #ffffff);
	color: var(--color-text);
	box-shadow: 0 1rem 2.25rem rgba(36, 63, 90, 0.08);
}

.board-card:focus-within {
	border-color: rgba(250, 192, 89, 0.72);
	box-shadow: 0 1rem 2.25rem rgba(36, 63, 90, 0.12);
}

.board-card > * {
	width: 100%;
	max-width: 100% !important;
	margin-inline: 0 !important;
}

.board-card__photo {
	position: relative;
	aspect-ratio: 1 / 1;
	margin: 0 0 clamp(1rem, 2vw, 1.35rem);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.7);
	border-radius: var(--radius-lg);
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.18)),
		linear-gradient(135deg, #edf0ed, #ffffff 48%, #eceee8);
}

.board-card__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.board-card__photo img:not([src]) {
	display: none;
}

.board-card__photo:not(:has(img[src]))::before {
	content: "";
	position: absolute;
	inset: 11% 12% 0;
	background:
		radial-gradient(circle at 50% 22%, #d6d9df 0 16%, transparent 16.5%),
		radial-gradient(ellipse at 50% 100%, #d6d9df 0 46%, transparent 46.5%);
	opacity: 0.86;
}

.board-card__photo:not(:has(img[src]))::after {
	content: "FOTO\A FOLGT";
	position: absolute;
	inset-block-end: 6%;
	inset-inline-start: 50%;
	display: grid;
	place-items: center;
	width: min(36%, 9rem);
	aspect-ratio: 1;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.82);
	color: #7e858c;
	font-size: clamp(1rem, 1.8vw, 1.6rem);
	font-weight: 800;
	line-height: 1.15;
	text-align: center;
	white-space: pre;
	transform: translateX(-50%);
}

.board-card__name {
	margin-block: 0 0.6rem;
	color: var(--color-text) !important;
	line-height: 1.1;
}

.board-card h2.board-card__name {
	font-size: clamp(1.7rem, 2.5vw, 2.25rem);
}

.board-card h3.board-card__name {
	font-size: clamp(1.35rem, 2vw, 1.75rem);
}

.board-card h4.board-card__name {
	font-size: clamp(1.15rem, 1.5vw, 1.35rem);
}

.board-card h5.board-card__name,
.board-card h6.board-card__name {
	font-size: 1rem;
	letter-spacing: 0;
}

.board-card__role {
	margin: 0;
	color: var(--color-muted) !important;
	font-size: clamp(1rem, 1.3vw, 1.15rem);
	font-weight: 600;
}

.board-card__email-row {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin-block-start: clamp(1rem, 2vw, 1.35rem);
}

.board-card__email {
	margin: 0;
	min-width: 0;
}

.board-card__email a {
	color: var(--color-accent);
	text-decoration: underline;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.16em;
	overflow-wrap: anywhere;
}

.entry:not(.entry--page),
.card,
.news-card:not(.news-card--pattern),
.event-card,
.contact-box,
.map-placeholder,
.download-card,
.donation-box,
.board-card,
.contact-person {
	border-color: var(--glass-card-border);
	background: var(--glass-card-background);
	box-shadow: var(--glass-card-shadow), var(--glass-card-highlight);
	backdrop-filter: blur(18px) saturate(145%);
	-webkit-backdrop-filter: blur(18px) saturate(145%);
}

.news-card--pattern,
.news-section .wp-block-latest-posts > li,
.featured-news,
.encounter-card,
.mission-card,
.orange-card,
.wp-block-column.has-card-style {
	border: 1px solid var(--glass-accent-border);
	background: var(--glass-accent-background);
	box-shadow: var(--glass-card-shadow), var(--glass-card-highlight);
	backdrop-filter: blur(18px) saturate(145%);
	-webkit-backdrop-filter: blur(18px) saturate(145%);
}

.board-card:focus-within,
.contact-person:focus-within {
	border-color: rgba(250, 192, 89, 0.72);
	box-shadow: var(--glass-card-hover-shadow), var(--glass-card-highlight);
}

.featured-news,
.mission-card,
.orange-card,
.board-card,
.contact-person,
.map-placeholder {
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
	.entry:not(.entry--page):hover,
	.card:hover,
	.news-card:hover,
	.event-card:hover,
	.contact-box:hover,
	.map-placeholder:hover,
	.download-card:hover,
	.donation-box:hover,
	.board-card:hover,
	.contact-person:hover,
	.news-section .wp-block-latest-posts > li:hover,
	.featured-news:hover,
	.encounter-card:hover,
	.mission-card:hover,
	.orange-card:hover,
	.wp-block-column.has-card-style:hover,
	.entry:not(.entry--page):focus-within,
	.card:focus-within,
	.news-card:focus-within,
	.event-card:focus-within,
	.contact-box:focus-within,
	.map-placeholder:focus-within,
	.download-card:focus-within,
	.donation-box:focus-within,
	.news-section .wp-block-latest-posts > li:focus-within,
	.featured-news:focus-within,
	.encounter-card:focus-within,
	.mission-card:focus-within,
	.orange-card:focus-within,
	.wp-block-column.has-card-style:focus-within {
		box-shadow: var(--glass-card-hover-shadow), var(--glass-card-highlight);
	}
}

@media (min-width: 48em) {
	.news-card {
		grid-template-columns: 1fr;
	}

	.featured-news {
		grid-template-columns: minmax(18rem, 40%) 1fr;
		align-items: center;
	}

	.news-section__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.news-section .wp-block-latest-posts {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

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

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

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

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

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

	.contact-accordion__people {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64em) {
	.board-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.board-grid:has(> :nth-child(4)) {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.contact-accordion__people {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

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

	.mission-cards {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1.6fr);
	}

	.mission-card--wide {
		grid-column: auto;
	}
}

@media (max-width: 47.99em) {
	.wp-block-group.hero-slider,
	.wp-block-group.hero-static {
		padding-inline: 0;
	}

	.hero-slider__content,
	.hero-static__content {
		width: calc(100% - var(--mobile-page-gutter) - var(--mobile-page-gutter));
	}

	.hero-slider__controls {
		inset-inline-start: var(--mobile-page-gutter);
	}

	.entry-hero {
		min-height: clamp(19rem, 86vw, 22rem);
		margin-block-end: clamp(1.75rem, 8vw, 2.5rem);
		padding: clamp(1.25rem, 5vw, 1.75rem);
		border-radius: var(--radius-lg);
	}

	.entry-hero::before {
		background:
			linear-gradient(90deg, rgba(21, 34, 49, 0.6), rgba(21, 34, 49, 0.2)),
			linear-gradient(0deg, rgba(21, 34, 49, 0.92), rgba(21, 34, 49, 0.12) 72%);
	}

	.entry-hero__content {
		width: 100%;
		min-width: 0;
	}

	.entry-hero__eyebrow {
		margin-block-end: 0.55rem;
		font-size: 0.72rem;
	}

	.entry-hero__title {
		max-width: 100%;
		margin-block-end: 0.85rem;
		font-size: clamp(1.85rem, 9vw, 2.35rem);
		line-height: 1.02;
		overflow-wrap: anywhere;
		hyphens: auto;
	}

	.entry-hero__meta {
		font-size: 0.95rem;
	}

	.entry-hero__img {
		object-position: center 35%;
	}

	.entry--single .entry-content {
		font-size: 1rem;
		line-height: 1.65;
	}

	.entry--single .entry-content > :where(h2, h3, h4, h5, h6, .post-template-lead, .post-template-intro) {
		max-width: 100%;
		overflow-wrap: anywhere;
		hyphens: auto;
	}

	.entry--single .entry-content > h2:not(.post-template-lead) {
		font-size: clamp(1.75rem, 8vw, 2.2rem);
		line-height: 1.08;
	}

	.entry--single .entry-content > h3 {
		font-size: clamp(1.35rem, 6.5vw, 1.75rem);
		line-height: 1.12;
	}

	.entry--single .post-template-lead {
		margin-block-end: 1.25rem;
		font-size: clamp(1.7rem, 7.8vw, 2.1rem);
		line-height: 1.08;
	}

	.entry--single .post-template-intro {
		margin-block-end: 1.5rem;
		font-size: 1.05rem;
		line-height: 1.55;
	}

	.entry--single .entry-content :where(.wp-block-image img, .wp-block-media-text__media img) {
		border-radius: var(--radius-md);
	}

	.hero-split-section__media-column,
	.hero-split-section__content-column {
		flex-basis: 100% !important;
	}

	.hero-split-collage {
		min-height: auto;
		padding-block-end: clamp(5rem, 24vw, 9rem);
	}

	.hero-split-collage__image--primary {
		width: 86%;
		height: clamp(15rem, 62vw, 22rem);
	}

	.hero-split-collage__image--secondary {
		width: 68%;
		height: clamp(9rem, 42vw, 15rem);
	}

	.soft-green-section.mission-section {
		padding-block: clamp(4rem, 16vw, 6rem);
	}

	.mission-card {
		min-height: 12.5rem;
		border-radius: var(--radius-lg);
	}

	.mission-card h2.mission-card__title {
		font-size: clamp(1.7rem, 7.5vw, 2.15rem);
	}

	.mission-card h3.mission-card__title {
		font-size: clamp(1.55rem, 7vw, 2rem);
	}

	.mission-card h4.mission-card__title {
		font-size: clamp(1.25rem, 5.8vw, 1.65rem);
	}

	.mission-card h5.mission-card__title,
	.mission-card h6.mission-card__title {
		font-size: clamp(1.05rem, 4.6vw, 1.3rem);
	}
}

/* Reference-inspired refinement: warm paper, compact cards and restrained motion. */
.section-eyebrow:not(.entry-hero__eyebrow)::after {
	content: "";
	display: block;
	width: 2rem;
	height: 3px;
	margin-block-start: 0.5rem;
	background: var(--color-highlight);
}

.hero-slider__content,
.hero-static__content {
	max-width: var(--container-width);
}

.hero-slider__content :where(h1, h2),
.hero-static__content :where(h1, h2) {
	max-width: 18ch;
	font-size: clamp(2.5rem, 5vw, 4.25rem);
	line-height: 1.02;
	letter-spacing: -0.015em;
	text-wrap: balance;
}

.cta-banner {
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--radius-lg);
	background: linear-gradient(135deg, var(--color-primary), #4c141a);
	box-shadow: var(--shadow-card);
}

.news-card--pattern,
.news-card--pattern.category-podcast,
.news-section .wp-block-latest-posts > li,
.encounter-card {
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	background: var(--color-surface);
	color: var(--color-text);
	box-shadow: var(--shadow-card);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.news-card--pattern {
	border-inline: 0;
	border-block-end: 0;
	border-radius: 0;
	box-shadow: none;
}

.news-card--pattern .news-card__eyebrow,
.news-card--pattern.category-podcast .news-card__eyebrow,
.news-card--pattern .news-card__date,
.news-card--pattern.category-podcast .news-card__date,
.encounter-card__eyebrow {
	color: var(--color-primary);
}

.news-card--pattern .news-card__title a,
.news-card--pattern .wp-block-post-title a,
.news-card--pattern .news-card__excerpt,
.encounter-card__title {
	color: var(--color-text);
}

.encounter-card__text {
	color: var(--color-muted);
}

.encounter-card__icon {
	width: 3.5rem;
	height: 3.5rem;
	margin: 0 0 1rem;
}

.encounter-card__icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.encounter-card__button .wp-block-button__link {
	background: transparent;
	border-color: var(--color-primary);
	color: var(--color-primary);
}

.news-card--pattern::after,
.news-section .wp-block-latest-posts > li::after,
.encounter-card::after {
	display: none;
}

@media (hover: hover) and (pointer: fine) {
	.news-card--pattern:hover,
	.news-card--pattern:focus-within,
	.encounter-card:hover,
	.encounter-card:focus-within {
		border-color: color-mix(in srgb, var(--color-primary) 38%, transparent);
		box-shadow: var(--shadow-soft);
		transform: translateY(-0.125rem);
	}
}

@media (min-width: 48em) {
	.news-section__grid,
	.news-section .wp-block-latest-posts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (prefers-reduced-motion: reduce) {
	.card,
	.news-card,
	.event-card,
	.contact-box,
	.wp-block-column.has-card-style,
	.encounter-card,
	.download-card,
	.donation-box,
	.featured-news,
	.mission-card,
	.orange-card,
	.board-card,
	.contact-person,
	.map-placeholder,
	.news-section .wp-block-latest-posts > li {
		transition: none;
	}

	.card:hover,
	.news-card:hover,
	.event-card:hover,
	.contact-box:hover,
	.wp-block-column.has-card-style:hover,
	.encounter-card:hover,
	.download-card:hover,
	.donation-box:hover,
	.news-section .wp-block-latest-posts > li:hover,
	.card:focus-within,
	.news-card:focus-within,
	.event-card:focus-within,
	.contact-box:focus-within,
	.wp-block-column.has-card-style:focus-within,
	.encounter-card:focus-within,
	.download-card:focus-within,
	.donation-box:focus-within,
	.news-section .wp-block-latest-posts > li:focus-within {
		transform: none;
	}
}

/* Glass is opt-in; standard content cards stay opaque and readable. */
.card,
.news-card,
.event-card,
.contact-box,
.map-placeholder,
.encounter-card {
	background: var(--color-surface);
	box-shadow: var(--shadow-card);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.card--glass,
.contact-box--glass,
.map-placeholder--glass {
	background: var(--glass-card-background);
	box-shadow: var(--glass-card-shadow), var(--glass-card-highlight);
	backdrop-filter: blur(12px) saturate(125%);
	-webkit-backdrop-filter: blur(12px) saturate(125%);
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.card--glass,
	.contact-box--glass,
	.map-placeholder--glass {
		background: var(--color-surface);
		box-shadow: var(--shadow-card);
	}
}

@media (max-width: 47.99em) {
	.card--glass,
	.contact-box--glass,
	.map-placeholder--glass {
		background: var(--color-surface);
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
}

.news-card--pattern,
.news-card--pattern.category-podcast {
	box-shadow: none;
}

.has-text-align-center.section-eyebrow::after {
	margin-inline: auto;
}

.news-section .wp-block-latest-posts > li > a {
	color: var(--color-text);
}

.news-card--pattern .news-card__button,
.news-card--pattern.category-podcast .news-card__button {
	background: transparent;
	border-color: var(--color-primary);
	color: var(--color-primary);
}

.featured-news,
.mission-card,
.orange-card,
.wp-block-column.has-card-style {
	color: var(--color-accent-contrast);
}

.featured-news :where(h2, h3, h4, h5, h6),
.featured-news a:not(.button),
.featured-news .featured-news__meta,
.featured-news .featured-news__eyebrow,
.mission-card :where(h2, h3, h4, h5, h6),
.orange-card :where(h2, h3, h4, h5, h6),
.wp-block-column.has-card-style :where(h2, h3, h4, h5, h6),
.orange-card .section-eyebrow,
.wp-block-column.has-card-style .section-eyebrow,
.orange-card a,
.wp-block-column.has-card-style a {
	color: inherit;
}
