/*
Theme Name: EDEN
Theme URI: https://edenma.org
Author: EDEN website team
Description: Custom block theme for EDEN — Empowered and Dedicated to Edify the Nation, Inc. Warm, dignified, photo-led. All colours, fonts and spacing live in theme.json; this file holds the component styles theme.json cannot express.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
Version: 1.3.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: eden
*/

/* ==========================================================================
   1. Base
   ========================================================================== */

body {
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

img {
	max-width: 100%;
	height: auto;
}

h1,
h2 {
	text-wrap: balance;
}

/* Header, main and footer sit flush against each other. */
.wp-site-blocks > * {
	margin-block-start: 0;
}

/* Full-width sections stack without gaps between them. */
.wp-block-post-content > .alignfull,
.eden-main > .alignfull {
	margin-block-start: 0;
	margin-block-end: 0;
}

.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* Visible focus for every interactive element. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--navy);
	outline-offset: 3px;
}

:where(.has-navy-background-color, .has-navy-deep-background-color, .eden-hero) :where(a, button, input, select, textarea):focus-visible {
	outline-color: var(--wp--preset--color--orange);
}

/* Utility */
.eden-center {
	text-align: center;
}

.wp-block-buttons.eden-center {
	justify-content: center;
}

/* ==========================================================================
   2. Sections
   ========================================================================== */

.eden-section {
	padding-top: var(--wp--preset--spacing--70);
	padding-bottom: var(--wp--preset--spacing--70);
}

.eden-section--tight {
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--60);
}

.eden-section__head {
	margin-bottom: var(--wp--preset--spacing--50);
}

.eden-section > .wp-block-buttons:last-child {
	margin-top: var(--wp--preset--spacing--50);
}

/* Dark sections: light text, orange accents. */
.has-navy-background-color :is(h1, h2, h3, h4, h5, h6),
.has-navy-deep-background-color :is(h1, h2, h3, h4, h5, h6) {
	color: var(--wp--preset--color--white);
}

.has-navy-background-color a:not(.wp-element-button),
.has-navy-deep-background-color a:not(.wp-element-button) {
	color: var(--wp--preset--color--white);
}

.has-navy-background-color .is-style-eyebrow,
.has-navy-deep-background-color .is-style-eyebrow {
	color: var(--wp--preset--color--orange);
}

/* Small orange text on navy (#0C416E) is 4.2:1, just under AA; a lighter orange gives 5:1. */
.has-navy-background-color .is-style-eyebrow {
	color: #FF9B40; /* orange mixed 80/20 with white */
}

.eden-nowrap {
	white-space: nowrap;
}

/* Simple page header (page-with-title template). */
.eden-page-header {
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--50);
}

/* ==========================================================================
   3. Typography helpers
   ========================================================================== */

.is-style-eyebrow {
	color: var(--wp--preset--color--rust);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.4;
	margin-bottom: 0.5rem;
	text-transform: uppercase;
}

.is-style-eyebrow + :where(h1, h2, h3) {
	margin-top: 0.25rem;
}

/* Heading with a thin orange rule running to the right. */
@media (min-width: 782px) {
	.wp-block-heading.is-style-with-rule {
		align-items: center;
		display: flex;
		gap: 1.5rem;
	}

	.eden-section__head > .wp-block-heading.is-style-with-rule {
		max-width: none !important;
	}

	.wp-block-heading.is-style-with-rule::after {
		background: var(--wp--preset--color--orange);
		content: "";
		flex: 1 1 4rem;
		height: 1px;
		min-width: 4rem;
	}
}

.eden-highlight {
	border-left: 4px solid var(--wp--preset--color--orange);
	color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.35;
	padding-left: 1.25rem;
}

.eden-highlight strong {
	font-weight: 600;
}

/* ==========================================================================
   4. Buttons
   ========================================================================== */

.wp-block-button__link {
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.wp-block-button__link::after {
	content: "›";
	display: inline-block;
	font-size: 1.15em;
	line-height: 0;
	margin-left: 0.5em;
	transition: transform 0.2s ease;
}

.wp-block-button__link:hover::after {
	transform: translateX(3px);
}

/* Navy (secondary) */
.wp-block-button.is-style-navy .wp-block-button__link {
	background-color: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--white);
}

.wp-block-button.is-style-navy .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--navy-deep);
	color: var(--wp--preset--color--white);
}

/* Outline: inherits the surrounding text colour (white on dark bands). */
.wp-block-button.is-style-outline .wp-block-button__link {
	padding-top: calc(0.9rem - 2px);
	padding-bottom: calc(0.9rem - 2px);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--navy);
}

/* Text link ›  */
.wp-block-button.is-style-text-link .wp-block-button__link {
	background: none;
	border-radius: 0;
	color: var(--wp--preset--color--rust);
	font-size: 0.8125rem;
	letter-spacing: 0.1em;
	padding: 0.25rem 0;
}

.wp-block-button.is-style-text-link .wp-block-button__link:hover {
	background: none;
	color: var(--wp--preset--color--navy);
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* ==========================================================================
   5. Header
   ========================================================================== */

.eden-site-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 100;
}

.eden-header {
	border-bottom: 1px solid var(--wp--preset--color--border);
	transition: box-shadow 0.2s ease;
}

.is-scrolled .eden-header {
	box-shadow: 0 6px 20px rgba(8, 45, 77, 0.08);
}

.eden-header__inner {
	gap: 1rem;
	min-height: 76px;
	padding-bottom: 0.65rem;
	padding-top: 0.65rem;
}

.eden-header__actions {
	gap: clamp(0.75rem, 1.6vw, 1.75rem);
}

/* EDEN logo (core Site Logo block, official file from Jehu, transparent outside the squares). */
.wp-block-site-logo.eden-logo {
	flex: 0 0 auto;
	line-height: 0;
	margin: 0;
}

.wp-block-site-logo.eden-logo a {
	display: inline-block;
	border-radius: 4px;
}

.wp-block-site-logo.eden-logo img {
	height: auto;
	max-width: 100%;
}

.wp-block-site-logo.eden-logo a:focus-visible {
	outline: 3px solid var(--wp--preset--color--orange);
	outline-offset: 3px;
}

/* Footer: a white panel keeps the navy tagline readable on the navy footer (the logo is never recoloured). */
.wp-block-site-logo.eden-logo--panel a {
	background: var(--wp--preset--color--white);
	border-radius: 6px;
	padding: 0.7rem 0.9rem;
}

@media (max-width: 599px) {
	.eden-header .wp-block-site-logo.eden-logo img {
		width: 124px !important;
	}
}

/* Navigation */
.eden-nav {
	--eden-nav-color: var(--wp--preset--color--navy);
	color: var(--eden-nav-color);
}

/* 16px at 1200, ~21px at 1366, 23px at 1440: room for 8 items without crowding at the breakpoint. */
.eden-nav .wp-block-navigation__container {
	gap: clamp(0.8rem, 3vw - 1.25rem, 1.6rem);
}

.eden-nav .wp-block-navigation-item__content {
	padding: 0.4rem 0;
	text-decoration: none;
}

.eden-nav .wp-block-navigation-item__content:hover,
.eden-nav .current-menu-item > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--burnt);
}

.eden-nav .current-menu-item > .wp-block-navigation-item__content {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--orange);
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
}

/* Desktop dropdowns */
.eden-nav .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--white) !important;
	border: 1px solid var(--wp--preset--color--border) !important;
	border-radius: 6px;
	box-shadow: 0 14px 34px rgba(8, 45, 77, 0.14);
	color: var(--wp--preset--color--navy) !important;
	min-width: 16rem !important;
	padding: 0.5rem 0;
}

.eden-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-weight: 500;
	padding: 0.55rem 1.25rem;
}

.eden-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--cream);
}

/* Header Donate button */
.eden-header__donate .wp-block-button__link {
	padding: 0.7rem 1.2rem;
	white-space: nowrap;
}

/* Show the hamburger up to 1199px (core switches at 600px, far too early for 8 items;
   below ~1200px the full menu wraps onto a second row). */
@media (min-width: 600px) and (max-width: 1199px) {
	.eden-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.eden-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}

.eden-nav .wp-block-navigation__responsive-container-open {
	align-items: center;
	border: 2px solid var(--wp--preset--color--navy);
	border-radius: 4px;
	color: var(--wp--preset--color--navy);
	height: 44px;
	justify-content: center;
	width: 44px;
}

/* Mobile overlay menu */
.eden-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--cream) !important;
	color: var(--wp--preset--color--navy) !important;
	padding: 1.25rem clamp(1.25rem, 5vw, 2.5rem) 2.5rem;
}

.eden-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: flex-start !important;
	padding-top: 3.5rem;
}

.eden-nav .is-menu-open .wp-block-navigation__container,
.eden-nav .is-menu-open .wp-block-navigation-item,
.eden-nav .is-menu-open .wp-block-navigation__submenu-container {
	align-items: flex-start !important;
	text-align: left;
}

.eden-nav .is-menu-open .wp-block-navigation__container {
	gap: 0.25rem;
	width: 100%;
}

.eden-nav .is-menu-open .wp-block-navigation-item {
	width: 100%;
}

.eden-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.5rem;
	font-weight: 600;
	padding: 0.45rem 0;
}

.eden-nav .is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important;
	border: 0 !important;
	border-left: 2px solid var(--wp--preset--color--orange) !important;
	border-radius: 0;
	box-shadow: none;
	margin: 0.25rem 0 0.75rem 0.25rem;
	min-width: 0 !important;
	padding: 0 0 0 1rem !important;
}

.eden-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-size: 1.0625rem;
	padding: 0.4rem 0;
}

.eden-nav .wp-block-navigation__responsive-container-close {
	border: 2px solid var(--wp--preset--color--navy);
	border-radius: 4px;
	padding: 6px;
}

/* ==========================================================================
   6. Hero
   ========================================================================== */

.eden-hero {
	padding-bottom: var(--wp--preset--spacing--60);
	padding-top: var(--wp--preset--spacing--60);
}

.eden-hero .wp-block-cover__inner-container {
	color: var(--wp--preset--color--white);
}

.eden-hero h1 {
	margin-bottom: 1.25rem;
	text-wrap: balance;
}

.eden-hero .has-medium-font-size {
	max-width: 36rem;
}

.eden-hero .wp-block-buttons {
	gap: 1rem;
	margin-top: 2.25rem;
}

.eden-hero .wp-block-button__link {
	font-size: 1rem;
	padding: 1.1rem 2.1rem;
}

.eden-hero .is-style-outline .wp-block-button__link {
	padding: calc(1.1rem - 2px) calc(2.1rem - 2px);
}

.eden-hero .is-style-outline .wp-block-button__link {
	color: var(--wp--preset--color--white);
}

@media (max-width: 781px) {
	/* Phones: let the photo show at the top; text sits on a navy gradient at the bottom. */
	.eden-hero {
		align-items: flex-end;
		min-height: 0 !important;
		padding-bottom: 2.5rem;
		padding-top: 5rem;
	}

	.eden-hero--page {
		padding-top: 4rem;
	}

	.eden-hero .wp-block-cover__background {
		background: linear-gradient(180deg, rgba(8, 45, 77, 0.45) 0%, rgba(8, 45, 77, 0.82) 45%, rgba(8, 45, 77, 0.92) 100%) !important;
	}

	/* Pages with a portrait phone photo (eden_hero_mobile_image): photo on top, text below on navy. */
	.eden-hero.has-mobile-image {
		background-color: var(--wp--preset--color--navy-deep);
		padding-top: calc(125vw - 5rem);
	}

	.eden-hero.has-mobile-image .wp-block-cover__image-background {
		bottom: auto;
		height: 125vw;
		object-position: 50% 0 !important;
	}

	.eden-hero.has-mobile-image .wp-block-cover__background {
		background: linear-gradient(180deg, rgba(8, 45, 77, 0) 0, rgba(8, 45, 77, 0) calc(125vw - 13rem), #082d4d calc(125vw - 3rem), #082d4d 100%) !important;
	}

	/* Stacked photo (Home): the whole landscape photo, uncropped at its natural shape, full width at the top;
	   a short navy fade at its bottom edge; headline, text and buttons below on navy. Desktop is unaffected. */
	.eden-hero.eden-hero--stacked-photo {
		background-color: var(--wp--preset--color--navy-deep);
		display: block;
		padding: 0 0 var(--wp--preset--spacing--50) !important;
	}

	.eden-hero--stacked-photo .wp-block-cover__image-background {
		-webkit-mask-image: linear-gradient(180deg, #000 calc(100% - 2.5rem), transparent);
		mask-image: linear-gradient(180deg, #000 calc(100% - 2.5rem), transparent);
		display: block;
		height: auto !important;
		inset: auto !important;
		object-fit: contain !important;
		position: relative !important;
		width: 100% !important;
	}

	.eden-hero--stacked-photo .wp-block-cover__background {
		display: none;
	}

	.eden-hero--stacked-photo .wp-block-cover__inner-container {
		padding: var(--wp--preset--spacing--40) var(--wp--style--root--padding-right, 1.25rem) 0 var(--wp--style--root--padding-left, 1.25rem);
		position: relative;
	}
}

/* ==========================================================================
   7. Stat counters
   ========================================================================== */

.eden-stat {
	border-top: 2px solid var(--wp--preset--color--orange);
	padding-top: 1.25rem;
}

.eden-counter {
	color: var(--wp--preset--color--burnt);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--stat);
	font-variant-numeric: tabular-nums lining-nums;
	font-weight: 600;
	line-height: 1;
	margin: 0 0 0.75rem;
}

:where(.has-navy-background-color, .has-navy-deep-background-color) .eden-counter {
	color: var(--wp--preset--color--orange);
}

.eden-stat__label {
	font-size: 1rem;
	line-height: 1.5;
	margin: 0;
}

:where(.has-navy-background-color, .has-navy-deep-background-color) .eden-stat__label {
	color: var(--wp--preset--color--cream);
}

/* ==========================================================================
   8. Approach steps
   ========================================================================== */

.eden-steps {
	position: relative;
}

.eden-step {
	position: relative;
}

.eden-step__num {
	align-items: center;
	background: var(--wp--preset--color--navy);
	border: 4px solid var(--wp--preset--color--white);
	border-radius: 50%;
	box-shadow: 0 0 0 2px var(--wp--preset--color--orange);
	color: var(--wp--preset--color--white);
	display: flex;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.375rem;
	font-weight: 700;
	height: 3.25rem;
	justify-content: center;
	margin: 0 0 1rem;
	position: relative;
	width: 3.25rem;
	z-index: 1;
}

.eden-step__title {
	font-size: var(--wp--preset--font-size--large);
	margin: 0 0 0.5rem;
}

.eden-step p:not(.eden-step__num) {
	font-size: 1rem;
	margin: 0;
}

/* Connector line between steps (desktop, 5 across). */
@media (min-width: 1100px) {
	.eden-step:not(:last-child)::after {
		background: var(--wp--preset--color--dusty);
		content: "";
		height: 2px;
		left: 3.75rem;
		position: absolute;
		right: -1.5rem;
		top: 1.6rem;
	}
}

/* ==========================================================================
   9. Cards
   ========================================================================== */

.wp-block-group.is-style-card,
.wp-block-column.is-style-card {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 6px;
	overflow: hidden;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.wp-block-group.is-style-card:hover {
	box-shadow: var(--wp--preset--shadow--card);
}

.eden-card {
	display: flex;
	flex-direction: column;
}

.eden-card > * {
	margin-block: 0;
}

.eden-card__image {
	margin: 0;
}

.eden-card__image img {
	aspect-ratio: 3 / 2;
	display: block;
	object-fit: cover;
	width: 100%;
}

/* Crop focus for cover-cropped photos (add the class to the Image block):
   keeps heads and held items in frame. Default is centred. */
.wp-block-image.is-focus-top img,
.eden-framed-image.is-focus-top img {
	object-position: 50% 0;
}

.wp-block-image.is-focus-high img {
	object-position: 50% 20%;
}

.wp-block-image.is-focus-upper img {
	object-position: 50% 30%;
}

.eden-card__image img[src$=".png"] {
	background: var(--wp--preset--color--orange);
	object-fit: contain;
}

.eden-card__body {
	border-left: 3px solid var(--wp--preset--color--orange);
	display: flex;
	flex: 1;
	flex-direction: column;
	margin: 1.5rem 1.5rem 1.75rem;
	padding-left: 1.1rem;
}

.eden-card__body > * {
	margin-block: 0 0.75rem;
}

.eden-card__body h3 {
	font-size: var(--wp--preset--font-size--large);
}

.eden-card__body p {
	font-size: 1rem;
}

.eden-card__body .wp-block-buttons {
	margin-top: auto;
	margin-bottom: 0;
}

.eden-card--text {
	padding: 1.75rem;
}

.eden-card--text h3 {
	font-size: var(--wp--preset--font-size--large);
	margin-bottom: 0.5rem;
}

.eden-card__email a {
	color: var(--wp--preset--color--rust);
	font-weight: 700;
}

/* ==========================================================================
   10. Image + text split
   ========================================================================== */

.eden-split__cols {
	gap: var(--wp--preset--spacing--60);
}

/* Desktop: the photo's top edge lines up with the top of the text column. */
@media (min-width: 782px) {
	.eden-split__cols.wp-block-columns {
		align-items: flex-start !important;
	}

	.eden-split__cols > .wp-block-column {
		align-self: flex-start !important;
	}

	.eden-split__text > :first-child {
		margin-top: 0;
	}
}

/* Phones: the photo always stacks above the text, with even spacing. */
@media (max-width: 781px) {
	.eden-split__cols.wp-block-columns {
		row-gap: var(--wp--preset--spacing--40);
	}

	.eden-split__cols > .eden-split__media {
		order: -1;
	}
}

/* Photo frame for image + text sections: the photo fills a rounded frame (object-fit: cover),
   soft shadow, nothing behind it. 5:4 for landscape photos; add eden-framed-image--portrait (4:5)
   for portrait photos of people. Focal point: is-focus-top / -high / -upper / -right-upper on the
   Image block (default 50% 30%). The old dusty-blue offset style is retired: eden-offset-image now
   renders the same clean frame, so older content and patterns can't show a box behind the photo. */
.eden-framed-image,
.eden-offset-image {
	aspect-ratio: 5 / 4;
	border-radius: 8px;
	box-shadow: 0 18px 40px rgba(12, 65, 110, 0.16);
	margin: 0;
	overflow: hidden;
}

.eden-framed-image--portrait,
.eden-offset-image.eden-portrait-image {
	aspect-ratio: 4 / 5;
}

.eden-framed-image img,
.eden-offset-image img {
	aspect-ratio: auto;
	border-radius: 0;
	display: block;
	height: 100%;
	max-height: none;
	object-fit: cover;
	object-position: 50% 30%;
	width: 100%;
}

/* Bottom padding = top padding, so the photo sits centred in the section with room for its shadow. */
.eden-split--intro {
	padding-bottom: var(--wp--preset--spacing--70);
}

@media (min-width: 782px) {
	.eden-split--reverse .eden-split__media {
		order: 2;
	}
}

/* ==========================================================================
   11. Quote band
   ========================================================================== */

.eden-quote {
	border: 0;
	margin: 0 auto;
	padding: 0;
	position: relative;
	text-align: center;
}

.eden-quote::before {
	color: var(--wp--preset--color--orange);
	content: "“";
	display: block;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 5rem;
	line-height: 0.6;
	margin-bottom: 1rem;
}

.eden-quote p {
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 500;
	line-height: 1.3;
	text-wrap: balance;
}

/* ==========================================================================
   12. Partner strip (marquee)
   ========================================================================== */

.eden-partner-strip__head {
	margin-bottom: var(--wp--preset--spacing--40);
}

.eden-partner-strip__title {
	flex: 1 1 auto;
	margin: 0;
}

.eden-marquee {
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	overflow: hidden;
}

.eden-marquee__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 0;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.eden-marquee__list li {
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.375rem;
	font-weight: 600;
	padding: 0.25rem 2rem;
	position: relative;
	white-space: nowrap;
}

.eden-marquee__list li::after {
	color: var(--wp--preset--color--orange);
	content: "•";
	position: absolute;
	right: -0.2rem;
}

/* JS duplicates the items and adds .is-animated for a seamless loop. */
.eden-marquee.is-animated .eden-marquee__list {
	animation: eden-marquee 60s linear infinite;
	flex-wrap: nowrap;
	justify-content: flex-start;
	width: max-content;
}

.eden-marquee.is-animated:hover .eden-marquee__list,
.eden-marquee.is-animated:focus-within .eden-marquee__list {
	animation-play-state: paused;
}

@keyframes eden-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
	.eden-marquee.is-animated .eden-marquee__list {
		animation: none;
		flex-wrap: wrap;
		justify-content: center;
		width: auto;
	}
}

/* ==========================================================================
   13. People: team, board
   ========================================================================== */

.eden-team__grid {
	gap: var(--wp--preset--spacing--60);
}

.eden-profile__name {
	margin-bottom: 0.25rem;
	margin-top: 1.5rem;
}

.eden-profile .wp-block-image img {
	aspect-ratio: 1;
	border-radius: 6px;
	max-width: 320px;
	object-fit: cover;
}

/* Founder profile cards: round photo (the old-site headshots are 333px, so 260px keeps them sharp). */
.wp-block-column.is-style-card.eden-profile {
	padding: clamp(1.75rem, 1.2rem + 2vw, 2.75rem);
}

.eden-profile > p {
	font-size: 1.0625rem;
}

.eden-profile .eden-profile__photo {
	margin: 0 auto 0.5rem;
}

.eden-profile .eden-profile__photo img {
	aspect-ratio: 1;
	background: var(--wp--preset--color--sand);
	border-radius: 50%;
	box-shadow: 0 0 0 6px var(--wp--preset--color--white), 0 0 0 7px var(--wp--preset--color--border);
	display: block;
	height: auto;
	max-width: 100%;
	object-fit: cover;
	object-position: 50% 20%;
	width: 260px;
}

.eden-profile .eden-profile__title {
	margin-bottom: 1.25rem;
}

/* Department contact cards: a line icon above each title. */
.eden-card--icon::before {
	background: var(--wp--preset--color--orange-tint) no-repeat center / 1.5rem;
	border-radius: 50%;
	content: "";
	display: block;
	flex: 0 0 auto;
	height: 3.25rem;
	margin-bottom: 1.25rem;
	width: 3.25rem;
}

.eden-card--icon-chat::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C416E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z'/%3E%3C/svg%3E");
}

.eden-card--icon-people::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C416E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
}

.eden-card--icon-clinical::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C416E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 18 12 15 21 9 3 6 12 2 12'/%3E%3C/svg%3E");
}

.eden-card--icon .eden-card__email {
	margin-top: auto;
	padding-top: 0.75rem;
}

/* Advisory Board contact line under the grid. */
.eden-advisory__contact {
	border-top: 1px solid var(--wp--preset--color--border);
	margin-top: var(--wp--preset--spacing--50);
	padding-top: 1.5rem;
}

.eden-advisory__contact a {
	color: var(--wp--preset--color--rust);
	font-weight: 700;
}

.eden-member {
	border-top: 3px solid var(--wp--preset--color--orange);
	padding-top: 1rem;
}

.eden-member > * {
	margin-block: 0 0.25rem;
}

.eden-member__name {
	font-size: var(--wp--preset--font-size--large);
}

.eden-member__role {
	color: var(--wp--preset--color--muted);
	font-size: 1rem;
}

/* ==========================================================================
   14. Timeline
   ========================================================================== */

.eden-timeline {
	border-left: 2px solid var(--wp--preset--color--dusty);
	margin-left: 0.5rem;
}

.eden-timeline__item {
	padding: 0 0 var(--wp--preset--spacing--40) 2rem;
	position: relative;
}

.eden-timeline__item:last-child {
	padding-bottom: 0;
}

.eden-timeline__item::before {
	background: var(--wp--preset--color--orange);
	border: 3px solid var(--wp--preset--color--white);
	border-radius: 50%;
	box-shadow: 0 0 0 2px var(--wp--preset--color--orange);
	content: "";
	height: 0.9rem;
	left: -0.55rem;
	position: absolute;
	top: 0.55rem;
	width: 0.9rem;
}

.eden-timeline__year {
	font-size: var(--wp--preset--font-size--x-large);
	margin: 0 0 0.5rem;
}

.eden-timeline__item ul {
	margin: 0;
	padding-left: 1.1rem;
}

.eden-timeline__item li + li {
	margin-top: 0.35rem;
}

/* ==========================================================================
   15. Donation tiers
   ========================================================================== */

.eden-tier {
	padding: 1.75rem 1.5rem;
}

.eden-tier > * {
	margin-block: 0;
}

.eden-tier__amount {
	color: var(--wp--preset--color--burnt);
	font-family: var(--wp--preset--font-family--serif);
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 0.75rem;
}

.eden-tier__text {
	font-size: 1rem;
}

/* ==========================================================================
   16. Lists: checks and crosses
   ========================================================================== */

.wp-block-list.is-style-checks,
.wp-block-list.eden-list-crosses {
	list-style: none;
	padding-left: 0;
}

.wp-block-list.is-style-checks li,
.wp-block-list.eden-list-crosses li {
	padding-left: 2rem;
	position: relative;
}

.wp-block-list.is-style-checks li + li,
.wp-block-list.eden-list-crosses li + li {
	margin-top: 0.6rem;
}

.wp-block-list.is-style-checks li::before,
.wp-block-list.eden-list-crosses li::before {
	align-items: center;
	border-radius: 50%;
	display: flex;
	font-size: 0.8rem;
	font-weight: 700;
	height: 1.35rem;
	justify-content: center;
	left: 0;
	position: absolute;
	top: 0.2rem;
	width: 1.35rem;
}

.wp-block-list.is-style-checks li::before {
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--white);
	content: "✓";
}

.wp-block-list.eden-list-crosses li::before {
	background: var(--wp--preset--color--orange-tint);
	color: var(--wp--preset--color--rust);
	content: "✕";
}

.eden-list-card {
	padding: 2rem !important;
}

.eden-list-card--yes {
	border-top: 4px solid var(--wp--preset--color--navy) !important;
}

.eden-list-card--no {
	border-top: 4px solid var(--wp--preset--color--orange) !important;
}

/* ==========================================================================
   17. Map
   ========================================================================== */

.eden-map__frame {
	aspect-ratio: 4 / 3;
	border-radius: 6px;
	overflow: hidden;
}

.eden-map__frame iframe {
	border: 0;
	display: block;
	height: 100%;
	width: 100%;
}

@media (min-width: 782px) {
	.eden-map__frame {
		aspect-ratio: 16 / 10;
	}
}

/* ==========================================================================
   18. Placeholders (CLAUDE.md §7). Find them all with .eden-placeholder.
   ========================================================================== */

.eden-placeholder {
	align-items: center;
	background: #F1F1F1;
	border: 2px dashed #9AA5B1;
	border-radius: 6px;
	display: flex;
	justify-content: center;
	min-height: 8rem;
	padding: 2rem 1.5rem;
	text-align: center;
}

.eden-placeholder .eden-placeholder__label {
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.5;
	margin: 0;
	max-width: 40rem;
	text-transform: uppercase;
}

.eden-placeholder--small {
	min-height: 0;
	padding: 1rem;
}

.eden-placeholder--portrait {
	aspect-ratio: 1;
	max-width: 320px;
}

/* The text wordmark stands in for the logo: tagged, but not boxed. */
.eden-placeholder.eden-placeholder--inline {
	background: none;
	border: 0;
	border-radius: 0;
	display: inline-flex;
	min-height: 0;
	padding: 0;
	text-align: left;
}

/* ==========================================================================
   19. Footer
   ========================================================================== */

.eden-footer {
	font-size: 1rem;
	padding-bottom: var(--wp--preset--spacing--40);
	padding-top: var(--wp--preset--spacing--60);
}

.eden-footer a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--dusty-light);
	text-decoration: none;
}

.eden-footer a:where(:not(.wp-element-button)):hover {
	color: var(--wp--preset--color--white);
	text-decoration: underline;
}

.eden-footer__heading {
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--x-large);
	margin: 0 0 0.5rem;
}

.eden-footer__label {
	color: var(--wp--preset--color--orange) !important;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	margin: 0 0 1rem;
	text-transform: uppercase;
}

.eden-footer__label:not(:first-child) {
	margin-top: 2rem;
}

.eden-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.eden-footer__links li + li {
	margin-top: 0.45rem;
}

.eden-footer__rule {
	border-color: rgba(255, 255, 255, 0.15) !important;
	margin-bottom: var(--wp--preset--spacing--50) !important;
	margin-top: var(--wp--preset--spacing--50) !important;
	opacity: 1;
}

.eden-footer__mission {
	color: var(--wp--preset--color--cream);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.4;
	margin-top: 1.5rem;
}

.eden-footer__legal,
.eden-footer__bottom {
	color: var(--wp--preset--color--dusty-light);
	font-size: 0.875rem;
}

.eden-footer__bottom p {
	margin: 0;
}

.eden-footer .eden-placeholder .eden-placeholder__label {
	font-size: 0.75rem;
}

/* ==========================================================================
   20. Home sections
   ========================================================================== */

/* The problem: heading row, navy 67% band, then the video. */
.eden-problem__head {
	gap: var(--wp--preset--spacing--60);
}

.eden-problem__head .wp-block-heading {
	margin-bottom: 0;
}

@media (min-width: 782px) {
	/* Line the paragraph up with the heading, not the eyebrow. */
	.eden-problem__intro {
		padding-top: 2rem;
	}
}

.eden-problem__band {
	margin-block: var(--wp--preset--spacing--60) !important;
	padding-block: var(--wp--preset--spacing--60);
}

.eden-problem__band-cols {
	gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60);
}

.eden-problem .eden-problem__number {
	color: var(--wp--preset--color--orange);
	font-size: clamp(5rem, 3.5rem + 7vw, 10rem);
	letter-spacing: -0.02em;
	margin: 0;
}

.eden-problem__statement {
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2.125rem);
	line-height: 1.3;
	margin: 0;
	text-wrap: balance;
}

.eden-problem__band .eden-citation {
	color: var(--wp--preset--color--dusty-light);
	margin-top: 1rem !important;
}

.eden-problem__lead {
	color: var(--wp--preset--color--navy);
	margin-bottom: var(--wp--preset--spacing--40);
}

@media (max-width: 781px) {
	.eden-problem__band-cols {
		gap: 0.75rem;
	}
}

.eden-big-stat {
	border-left: 4px solid var(--wp--preset--color--orange);
	margin: 2rem 0;
	padding-left: 1.5rem;
}

.eden-big-stat > * {
	margin-block: 0;
}

.eden-big-stat .eden-counter {
	font-size: clamp(4rem, 3rem + 4vw, 6.5rem);
	margin-bottom: 0.5rem;
}

.eden-big-stat__label {
	color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.3;
}

.has-navy-background-color .eden-big-stat__label,
.has-navy-deep-background-color .eden-big-stat__label {
	color: var(--wp--preset--color--white);
}

/* Inner-page hero eyebrow sits on the dark overlay. */
.eden-hero .is-style-eyebrow {
	color: var(--wp--preset--color--orange);
}

.eden-mission-vision .wp-block-heading {
	margin-bottom: 1rem;
}

/* Who We Are: "What makes EDEN different" list of short headed points. */
.eden-differences > h3 {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 700;
	margin-bottom: 0.25rem;
	margin-top: 1.5rem;
}

.eden-differences > h3:first-child {
	margin-top: 0;
}

.eden-differences > p {
	margin-top: 0;
}

@media (min-width: 782px) {
	/* Timeline photo stays in view while the years scroll past. */
	.eden-timeline-section__media {
		align-self: flex-start;
		position: sticky;
		top: 7rem;
	}
}

.eden-citation {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	margin-top: 0.75rem !important;
}

.eden-video {
	border-radius: 10px;
	box-shadow: 0 24px 60px rgba(8, 45, 77, 0.22);
	margin: 0;
	overflow: hidden;
}

/* YouTube facade (poster + play button until clicked). */
.eden-yt {
	background: var(--wp--preset--color--navy-deep);
	display: block;
	inset: 0;
	position: absolute;
}

.eden-yt__poster {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.eden-yt__play {
	background: var(--wp--preset--color--orange);
	border-radius: 50%;
	box-shadow: 0 10px 30px rgba(8, 45, 77, 0.45);
	height: 5.5rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: transform 0.2s ease, background-color 0.2s ease;
	width: 5.5rem;
}

.eden-yt__play::after {
	border-bottom: 0.9rem solid transparent;
	border-left: 1.5rem solid var(--wp--preset--color--ink);
	border-top: 0.9rem solid transparent;
	content: "";
	left: 54%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

.eden-yt:hover .eden-yt__play,
.eden-yt:focus-visible .eden-yt__play {
	transform: translate(-50%, -50%) scale(1.08);
}

.eden-yt:focus-visible {
	outline: 3px solid var(--wp--preset--color--orange);
	outline-offset: -3px;
}

@media (max-width: 600px) {
	.eden-yt__play {
		height: 4rem;
		width: 4rem;
	}

	.eden-yt__play::after {
		border-bottom-width: 0.65rem;
		border-left-width: 1.1rem;
		border-top-width: 0.65rem;
	}
}

/* Stats note under the counters */
.eden-section__foot {
	margin-top: var(--wp--preset--spacing--50);
}

.eden-stats__note {
	color: var(--wp--preset--color--cream);
	font-size: 1rem;
}

/* Impact stats with photos (eden/impact-photo-stats): Home + Our Impact. */
.eden-impact-card {
	background: var(--wp--preset--color--navy-deep);
	border: 1px solid rgba(183, 200, 214, 0.18);
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.eden-impact-card > * {
	margin-block: 0;
}

.eden-impact-card__photo {
	margin: 0;
}

.eden-impact-card__photo img {
	display: block;
	width: 100%;
}

.eden-impact-card__body {
	border-top: 3px solid var(--wp--preset--color--orange);
	flex: 1;
	padding: 1.5rem 1.5rem 1.75rem;
}

.eden-impact-card .eden-counter {
	color: var(--wp--preset--color--orange);
	font-size: clamp(2.75rem, 2.2rem + 1.6vw, 3.5rem);
	margin: 0 0 0.6rem;
}

.eden-impact-card__label {
	color: var(--wp--preset--color--cream);
	font-size: 1.0625rem;
	line-height: 1.5;
	margin: 0;
}

.eden-impact__foot {
	gap: 1.5rem 2rem;
	margin-top: var(--wp--preset--spacing--60);
}

.eden-impact__note {
	color: var(--wp--preset--color--dusty-light);
	flex: 1 1 22rem;
	font-size: 1rem;
	margin: 0;
	max-width: 40rem;
}

@media (hover: hover) and (min-width: 1100px) and (prefers-reduced-motion: no-preference) {
	.eden-impact-card:hover {
		box-shadow: 0 22px 44px rgba(3, 20, 36, 0.5);
		transform: translateY(-6px);
	}
}

/* Boutique band on orange: ink and navy only (white fails on orange).
   Everything below is scoped to this band (ported from the premium-pass branch);
   the button keeps the site's standard square style. */
.eden-boutique-band {
	--wp--preset--color--ink: #1A2430;
	background-image: radial-gradient(60rem 30rem at 15% 50%, rgba(255, 255, 255, 0.16), transparent 60%);
	line-height: 1.7;
}

.eden-boutique-band.eden-section {
	padding-top: clamp(4.5rem, 2.5rem + 6vw, 8rem);
	padding-bottom: clamp(4.5rem, 2.5rem + 6vw, 8rem);
}

.eden-boutique-band .is-style-eyebrow {
	align-items: center;
	color: var(--wp--preset--color--ink);
	display: flex;
	font-size: 0.75rem;
	gap: 0.85rem;
	letter-spacing: 0.18em;
	line-height: 1.4;
	margin-bottom: 1rem;
}

.eden-boutique-band .is-style-eyebrow::before {
	background: currentColor;
	content: "";
	flex: 0 0 1.75rem;
	height: 1px;
	opacity: 0.7;
}

.eden-boutique-band :is(h2, h3) {
	color: var(--wp--preset--color--navy);
}

.eden-boutique-band h2 {
	font-size: clamp(2.25rem, 2.25rem + ((1vw - 0.2rem) * 1.591), 3.125rem);
	font-weight: 500;
	letter-spacing: -0.022em;
	line-height: 1.1;
}

.eden-boutique-band .is-style-eyebrow + h2 {
	margin-top: 0;
}

.eden-boutique-band .wp-block-column > p:not(.is-style-eyebrow) {
	max-width: 32em;
}

.eden-boutique-band__logo {
	margin: 0 auto;
	max-width: 300px;
}

.eden-boutique-band__logo img {
	border-radius: 50%;
	box-shadow: 0 0 0 12px rgba(255, 255, 255, 0.14), 0 24px 48px -12px rgba(168, 58, 0, 0.5);
	display: block;
}

.eden-boutique-band__hours {
	align-items: center;
	display: flex;
	gap: 0.6rem;
}

.eden-boutique-band__hours::before {
	background: var(--wp--preset--color--navy);
	border-radius: 50%;
	content: "";
	flex: 0 0 auto;
	height: 0.5rem;
	width: 0.5rem;
}

/* ==========================================================================
   20b. Program pages (What We Do children)
   ========================================================================== */

/* Check list in two columns on wider screens (Workforce: services). */
@media (min-width: 782px) {
	.wp-block-list.is-style-checks.eden-checks--two-col {
		column-gap: var(--wp--preset--spacing--60);
		columns: 2;
	}

	.wp-block-list.is-style-checks.eden-checks--two-col li {
		break-inside: avoid;
		margin: 0 0 0.6rem;
	}
}

/* Employer names: navy, a little heavier than body text. */
.wp-block-list.eden-employers li {
	color: var(--wp--preset--color--navy);
	font-weight: 600;
}

.eden-more {
	color: var(--wp--preset--color--muted);
	font-style: italic;
}

/* Long button labels (add class eden-button--compact): tighter on small phones so the arrow stays on the line. */
@media (max-width: 480px) {
	.eden-button--compact .wp-block-button__link {
		letter-spacing: 0.03em;
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

/* A photo shown whole (collages): rounded corners and a soft shadow, no crop. */
.eden-photo {
	border-radius: 8px;
	box-shadow: 0 18px 40px rgba(12, 65, 110, 0.16);
	margin: 0;
	overflow: hidden;
}

.eden-photo img {
	display: block;
	height: auto;
	width: 100%;
}

/* Low-resolution photos: never wider than 440px, so they stay sharp. */
.eden-photo--small {
	margin-inline: auto;
	max-width: 440px;
}

.eden-stat-cards + .eden-more {
	margin-top: var(--wp--preset--spacing--40);
}

/* One large stat next to a photo (Workforce: 75 phlebotomy graduates). */
.eden-stat-feature .eden-stat-feature__num {
	font-size: clamp(5rem, 3.5rem + 6vw, 8.5rem);
	letter-spacing: -0.02em;
	margin-bottom: 0.25rem;
}

.eden-stat-feature__num + .wp-block-heading {
	margin-top: 0;
}

/* Short supporting note with an orange rule (Workforce: CORI-friendly roles). */
.eden-note {
	border-left: 4px solid var(--wp--preset--color--orange);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.55;
	padding-left: 1.25rem;
}

.eden-note strong {
	color: var(--wp--preset--color--navy);
}

.eden-fields__cols {
	gap: var(--wp--preset--spacing--60);
}

/* Outcome stat cards (Financial Empowerment): white card, orange top rule, counter + label. */
.eden-stat-card {
	border-top: 4px solid var(--wp--preset--color--orange) !important;
	padding: 1.75rem;
}

.eden-stat-card .eden-counter {
	margin-bottom: 0.5rem;
}

.eden-stat-card .eden-stat__label {
	font-size: 1.0625rem;
}

/* ---- Footer newsletter (Fluent Forms ID 4) ---- */

.eden-newsletter-form .fluentform fieldset {
	align-items: flex-end;
	display: flex !important;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.eden-newsletter-form .fluentform .ff-el-group {
	flex: 1 1 11rem;
	margin-bottom: 0;
}

.eden-newsletter-form .fluentform .ff-el-group:has(#ff_4_email) {
	flex-basis: 15rem;
}

.eden-newsletter-form .fluentform .ff_submit_btn_wrapper {
	flex: 0 0 auto;
}

.eden-newsletter-form .fluentform .ff-el-input--label label {
	color: var(--wp--preset--color--cream);
	font-size: 0.875rem;
}

.eden-newsletter-form .fluentform .ff-el-form-control {
	border-color: rgba(255, 255, 255, 0.55);
}

.eden-newsletter-form .fluentform .ff_submit_btn_wrapper {
	margin: 0;
}

.eden-newsletter-form .fluentform .error {
	color: #ffb4a8 !important;
}

.eden-newsletter-form .ff-message-success {
	color: var(--wp--preset--color--ink);
	font-size: 1rem;
}

.eden-newsletter-form__note {
	color: var(--wp--preset--color--dusty-light);
	font-size: 0.875rem;
	margin-top: 0.75rem;
}

.eden-newsletter-form__note a {
	color: var(--wp--preset--color--white) !important;
	text-decoration: underline !important;
}

@media (max-width: 599px) {
	.eden-newsletter-form .fluentform .ff-el-group,
	.eden-newsletter-form .fluentform .ff_submit_btn_wrapper {
		flex: 1 1 100%;
	}
}

/* ---- Legal pages (Privacy Policy) ---- */

.eden-legal h2 {
	font-size: var(--wp--preset--font-size--x-large);
	margin-top: var(--wp--preset--spacing--50);
}

.eden-legal p,
.eden-legal li {
	font-size: 1.0625rem;
}

.eden-legal a {
	color: var(--wp--preset--color--rust);
}

.eden-legal__intro {
	color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large) !important;
	line-height: 1.45;
}

.eden-legal__toc {
	background: var(--wp--preset--color--cream);
	border-left: 4px solid var(--wp--preset--color--orange);
	border-radius: 6px;
	padding: 1.5rem 1.75rem;
}

.eden-legal__toc-title {
	color: var(--wp--preset--color--navy);
	font-size: 0.8125rem !important;
	font-weight: 700;
	letter-spacing: 0.12em;
	margin: 0 0 0.5rem;
	text-transform: uppercase;
}

.eden-legal__toc ol {
	columns: 2;
	column-gap: 2rem;
	margin: 0;
	padding-left: 1.25rem;
}

.eden-legal__toc li {
	break-inside: avoid;
	font-size: 1rem !important;
	margin-bottom: 0.35rem;
}

@media (max-width: 599px) {
	.eden-legal__toc ol {
		columns: 1;
	}
}

/* ---- Contact page + Fluent Forms ---- */

/* Text-only page hero on navy (pages without a suitable photo). */
.eden-plain-hero {
	padding-bottom: var(--wp--preset--spacing--60);
	padding-top: var(--wp--preset--spacing--60);
}

.eden-plain-hero .is-style-eyebrow {
	color: var(--wp--preset--color--orange);
}

.eden-contact__cols {
	gap: var(--wp--preset--spacing--60);
}

.wp-block-column.eden-contact__form {
	padding: clamp(1.5rem, 1rem + 2vw, 2.5rem);
}

.eden-contact__line {
	padding-left: 2.25rem;
	position: relative;
}

.eden-contact__line::before {
	background: var(--wp--preset--color--navy) no-repeat center / contain;
	content: "";
	height: 1.25rem;
	left: 0;
	-webkit-mask: var(--eden-icon) no-repeat center / contain;
	mask: var(--eden-icon) no-repeat center / contain;
	position: absolute;
	top: 0.2rem;
	width: 1.25rem;
}

.eden-contact__line--pin { --eden-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.eden-contact__line--phone { --eden-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E"); }
.eden-contact__line--mail { --eden-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E"); }

.eden-contact__details a,
.eden-contact__team a {
	color: var(--wp--preset--color--rust);
	font-weight: 600;
}

.eden-contact__team {
	line-height: 2;
}

.eden-map .eden-map__frame {
	max-height: 480px;
	width: 100%;
}

.eden-map__frame:focus-within {
	outline: 3px solid var(--wp--preset--color--navy);
	outline-offset: 3px;
}

/* Fluent Forms in the EDEN look: labels, fields, focus, the submit button and messages. */
.fluentform .ff-el-input--label label {
	color: var(--wp--preset--color--navy);
	font-weight: 600;
}

.fluentform .ff-el-form-control {
	background: var(--wp--preset--color--white);
	border: 1px solid #8a96a3;
	border-radius: 4px;
	color: var(--wp--preset--color--ink);
	font-family: inherit;
	font-size: 1rem;
	padding: 0.7rem 0.85rem;
}

.fluentform .ff-el-form-control:focus {
	border-color: var(--wp--preset--color--navy);
	box-shadow: 0 0 0 3px rgba(12, 65, 110, 0.25);
	outline: none;
}

.fluentform .ff-el-is-required.asterisk-right label::after {
	color: var(--wp--preset--color--rust);
}

.fluentform .ff-el-tc label,
.fluentform .ff_gdpr_field + span,
.fluentform .ff-el-tc {
	color: var(--wp--preset--color--ink);
	font-size: 0.9375rem;
}

.fluentform .ff-el-tc a {
	color: var(--wp--preset--color--rust);
}

.fluentform .ff-btn-submit,
.fluentform button.ff-btn-submit {
	background: var(--wp--preset--color--orange) !important;
	border: 0 !important;
	border-radius: 4px !important;
	color: var(--wp--preset--color--ink) !important;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.9375rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em;
	padding: 0.9rem 1.6rem !important;
	text-transform: uppercase;
}

.fluentform .ff-btn-submit:hover {
	background: var(--wp--preset--color--burnt) !important;
	color: var(--wp--preset--color--white) !important;
}

.fluentform .ff-btn-submit:focus-visible {
	outline: 3px solid var(--wp--preset--color--navy) !important;
	outline-offset: 3px;
}

.fluentform .error,
.fluentform .text-danger {
	color: #a8231a !important;
	font-size: 0.875rem;
}

.ff-message-success {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--border) !important;
	border-left: 4px solid var(--wp--preset--color--orange) !important;
	border-radius: 6px;
	box-shadow: none !important;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--medium);
	padding: 1.25rem 1.5rem !important;
}

/* ---- Donate page ---- */

/* Split hero on navy (portrait photo shown whole instead of a stretched cover). */
.eden-split-hero__cols {
	gap: var(--wp--preset--spacing--60);
}

.eden-split-hero .is-style-eyebrow {
	color: var(--wp--preset--color--orange);
}

.eden-split-hero__photo {
	box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.08), 0 24px 48px -12px rgba(0, 0, 0, 0.45);
	margin-inline: auto;
	max-width: 420px;
}

/* #give: the notice now, the Zeffy form later (PROMPT 17). */
.eden-give__notice {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--border);
	border-left: 4px solid var(--wp--preset--color--orange);
	border-radius: 6px;
	font-size: var(--wp--preset--font-size--medium);
	padding: 1.5rem 1.75rem;
}

.eden-give__notice p {
	margin: 0;
}

.eden-tier {
	display: flex;
	flex-direction: column;
}

.eden-tier__link {
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin-top: auto !important;
	padding-top: 1rem;
	text-transform: uppercase;
}

.eden-tier__link a {
	color: var(--wp--preset--color--rust);
	text-decoration: none;
}

.eden-tier__link a::after {
	content: " ›";
}

.eden-tier__link a:hover {
	text-decoration: underline;
}

.eden-address {
	color: var(--wp--preset--color--navy);
	font-weight: 600;
}

.eden-card--icon-fund::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C416E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E");
}

.eden-card--icon-mail::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C416E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E");
}

.eden-card--icon-match::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C416E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='17 1 21 5 17 9'/%3E%3Cpath d='M3 11V9a4 4 0 0 1 4-4h14'/%3E%3Cpolyline points='7 23 3 19 7 15'/%3E%3Cpath d='M21 13v2a4 4 0 0 1-4 4H3'/%3E%3C/svg%3E");
}

/* ---- Get Involved page ---- */

/* Anchor jumps (#volunteer, #newsletter…) stop below the sticky header. */
html {
	scroll-padding-top: 6rem;
}

/* Ways-to-help cards: equal heights, button pinned to the bottom, donate card in orange. */
.eden-way {
	border-top: 4px solid var(--wp--preset--color--navy) !important;
}

.eden-way--donate {
	background: var(--wp--preset--color--orange-tint) !important;
	border-top-color: var(--wp--preset--color--orange) !important;
}

.eden-way p {
	font-size: 1rem;
}

/* Three across: Donate spans the first row, the other nine fill three even rows. */
@media (min-width: 1000px) {
	.eden-ways__grid .eden-way--donate {
		grid-column: 1 / -1;
	}

	.eden-way--donate p {
		font-size: var(--wp--preset--font-size--medium);
		max-width: 44em;
	}
}

.eden-way .eden-way__action {
	margin-top: auto !important;
	padding-top: 1rem;
}

.eden-way:target {
	box-shadow: 0 0 0 3px var(--wp--preset--color--orange);
}

/* ---- Partners page ---- */

/* Sector chips: white pills with a small navy line icon. */
.wp-block-list.eden-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
	list-style: none;
	margin: var(--wp--preset--spacing--40) 0 0;
	padding: 0;
}

.wp-block-list.eden-chips .eden-chip {
	align-items: center;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	color: var(--wp--preset--color--navy);
	display: inline-flex;
	font-size: 1rem;
	font-weight: 600;
	gap: 0.6rem;
	margin: 0;
	padding: 0.55rem 1.1rem 0.55rem 0.7rem;
}

.eden-chip::before {
	background: var(--wp--preset--color--orange-tint) no-repeat center / 1rem;
	border-radius: 50%;
	content: "";
	flex: 0 0 auto;
	height: 1.9rem;
	width: 1.9rem;
}

.eden-chip--health::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C416E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 18 12 15 21 9 3 6 12 2 12'/%3E%3C/svg%3E"); }
.eden-chip--work::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C416E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='2' ry='2'/%3E%3Cpath d='M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'/%3E%3C/svg%3E"); }
.eden-chip--home::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C416E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E"); }
.eden-chip--edu::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C416E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E"); }
.eden-chip--food::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C416E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E"); }
.eden-chip--give::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C416E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E"); }
.eden-chip--child::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C416E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M8 14s1.5 2 4 2 4-2 4-2'/%3E%3Cline x1='9' y1='9' x2='9.01' y2='9'/%3E%3Cline x1='15' y1='9' x2='15.01' y2='9'/%3E%3C/svg%3E"); }
.eden-chip--needs::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C416E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'/%3E%3Cpolyline points='3.27 6.96 12 12.01 20.73 6.96'/%3E%3Cline x1='12' y1='22.08' x2='12' y2='12'/%3E%3C/svg%3E"); }

/* Partner list: alphabetical columns with hairline dividers and an orange tick. */
.wp-block-list.eden-partner-list {
	column-gap: var(--wp--preset--spacing--50);
	columns: 3;
	list-style: none;
	margin: 0;
	padding: 0;
}

.wp-block-list.eden-partner-list li {
	border-bottom: 1px solid var(--wp--preset--color--border);
	break-inside: avoid;
	color: var(--wp--preset--color--navy);
	font-size: 1.0625rem;
	font-weight: 500;
	line-height: 1.4;
	padding: 0.8rem 0 0.8rem 1.1rem;
	position: relative;
}

.wp-block-list.eden-partner-list li::before {
	background: var(--wp--preset--color--orange);
	content: "";
	height: 0.4rem;
	left: 0;
	position: absolute;
	top: 1.35rem;
	width: 0.4rem;
}

@media (max-width: 1023px) {
	.wp-block-list.eden-partner-list {
		columns: 2;
	}
}

@media (max-width: 599px) {
	.wp-block-list.eden-partner-list {
		columns: 1;
	}
}

.eden-partner-grid + .eden-more {
	margin-top: var(--wp--preset--spacing--40);
}

/* Partner logo grid: equal tiles, logo contained (never cropped or stretched), greyscale until hover/focus.
   Partners without a logo use the same tile with their name (.eden-logo-tile--text). */
.eden-logo-grid {
	display: grid;
	gap: var(--wp--preset--spacing--20);
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.eden-logo-grid > * {
	margin: 0 !important;
}

.eden-logo-grid .eden-logo-tile {
	align-items: center;
	aspect-ratio: 3 / 2;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 6px;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	min-height: 0;
	overflow: hidden; /* keeps every tile to the 3:2 box, whatever the logo's natural size */
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.eden-logo-grid .eden-logo-tile:hover,
.eden-logo-grid .eden-logo-tile:focus-within {
	border-color: var(--wp--preset--color--dusty);
	box-shadow: 0 6px 18px rgba(12, 65, 110, 0.10);
}

.eden-logo-grid .eden-logo-tile a {
	align-items: center;
	border-radius: 6px;
	box-sizing: border-box;
	display: flex;
	height: 100%;
	justify-content: center;
	min-height: 0;
	padding: 1rem 1.1rem;
	width: 100%;
}

.eden-logo-grid .wp-block-image.eden-logo-tile img {
	filter: grayscale(1);
	height: auto;
	max-height: min(70px, 100%);
	max-width: 100%;
	object-fit: contain;
	opacity: 1;
	transition: filter 0.25s ease, opacity 0.25s ease;
	width: auto;
}

.eden-logo-grid .wp-block-image.eden-logo-tile.is-tall img {
	max-height: min(92px, 100%);
}

.eden-logo-grid .wp-block-image.eden-logo-tile a:hover img,
.eden-logo-grid .wp-block-image.eden-logo-tile a:focus-visible img {
	filter: none;
	opacity: 1;
}

.eden-logo-grid .eden-logo-tile a:focus-visible {
	outline: 3px solid var(--wp--preset--color--navy);
	outline-offset: -5px; /* inside the tile, which clips overflow */
}

.eden-logo-grid p.eden-logo-tile--text {
	color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	padding: 0.75rem 1rem;
	text-align: center;
}

.eden-logo-grid p.eden-logo-tile--text a {
	color: inherit;
	padding: 0;
	text-decoration: none;
}

.eden-logo-grid p.eden-logo-tile--text a:hover {
	color: var(--wp--preset--color--burnt);
	text-decoration: underline;
}

@media (max-width: 1199px) {
	.eden-logo-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

@media (max-width: 1023px) {
	.eden-logo-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 599px) {
	.eden-logo-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.eden-logo-grid .wp-block-image.eden-logo-tile img {
		max-height: min(56px, 100%);
	}

	.eden-logo-grid p.eden-logo-tile--text {
		font-size: 0.9375rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.eden-logo-grid .eden-logo-tile,
	.eden-logo-grid .wp-block-image.eden-logo-tile img {
		transition: none;
	}
}

/* A longer statement (Partners thank-you): one size down. */
.eden-statement .eden-statement__main--long {
	font-size: var(--wp--preset--font-size--xx-large);
}

/* ---- Program summary bar chart (Our Impact): real text labels, bars are decorative ---- */

.eden-bars {
	margin: var(--wp--preset--spacing--50) auto !important;
}

.eden-bars__title {
	color: var(--wp--preset--color--navy);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-bottom: 1rem;
	text-transform: uppercase;
}

.eden-bars__list {
	display: grid;
	gap: 0.9rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.eden-bars__row {
	align-items: center;
	display: grid;
	gap: 0.4rem 1.25rem;
	grid-template-columns: 13rem 1fr 11rem; /* fixed side columns: every bar track has the same length */
}

.eden-bars__label {
	color: var(--wp--preset--color--navy);
	font-weight: 700;
}

.eden-bars__track {
	background: var(--wp--preset--color--sand);
	border-radius: 999px;
	display: block;
	height: 1.1rem;
	overflow: hidden;
}

.eden-bars__fill {
	background: var(--wp--preset--color--navy);
	border-radius: 999px;
	display: block;
	height: 100%;
}

.eden-bars__row:nth-child(2) .eden-bars__fill { background: var(--wp--preset--color--orange); }
.eden-bars__row:nth-child(3) .eden-bars__fill { background: var(--wp--preset--color--dusty); }
.eden-bars__row:nth-child(4) .eden-bars__fill { background: var(--wp--preset--color--burnt); }

.eden-bars__value {
	color: var(--wp--preset--color--ink);
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	text-align: right;
}

.eden-bars__share {
	color: var(--wp--preset--color--muted);
	font-weight: 400;
}

@media (max-width: 599px) {
	.eden-bars__row {
		grid-template-columns: 1fr auto;
	}

	.eden-bars__track {
		grid-column: 1 / -1;
		grid-row: 2;
	}
}

.eden-program-summary .eden-impact__feature {
	border-bottom-color: var(--wp--preset--color--border);
}

.eden-program-summary .eden-impact__feature .eden-counter {
	color: var(--wp--preset--color--burnt);
}

.eden-program-summary .eden-impact__feature-label {
	color: var(--wp--preset--color--navy);
}

/* ---- Testimonials (Our Impact, Workforce): quote card with an orange rule ---- */

.wp-block-quote.eden-testimonial {
	background: var(--wp--preset--color--cream);
	border: 0;
	border-left: 4px solid var(--wp--preset--color--orange);
	border-radius: 6px;
	margin: 0;
	padding: 1.75rem 1.75rem 1.5rem;
}

.wp-block-quote.eden-testimonial p {
	color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.55;
}

.wp-block-quote.eden-testimonial cite {
	color: var(--wp--preset--color--rust);
	display: block;
	font-size: 0.9375rem;
	font-style: normal;
	font-weight: 700;
	margin-top: 1rem;
}

.eden-stat-feature .wp-block-quote.eden-testimonial {
	margin-top: var(--wp--preset--spacing--40);
}

.eden-quote-band .eden-quote cite {
	color: #FF9B40; /* orange mixed 80/20 with white: AA on navy */
	display: block;
	font-size: 1rem;
	font-style: normal;
	font-weight: 700;
	margin-top: 1.25rem;
}

/* ---- Our Impact page ---- */

.wp-block-image.is-focus-right-upper img {
	object-position: 62% 25%;
}

.eden-impact-intro__lead {
	color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.35;
	margin: 0;
	text-wrap: balance;
}

/* The 7 questions: numbered, serif, with a hairline between them. */
.eden-questions__cols {
	gap: var(--wp--preset--spacing--60);
}

.eden-questions__not {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--medium);
}

.eden-questions__struck {
	font-style: italic;
}

.eden-questions__but {
	color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 600;
}

.wp-block-list.eden-questions {
	counter-reset: eden-q;
	list-style: none;
	margin: 0;
	padding: 0;
}

.wp-block-list.eden-questions li {
	align-items: baseline;
	border-bottom: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--navy);
	counter-increment: eden-q;
	display: flex;
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	gap: 1.25rem;
	padding: 0.85rem 0;
}

.wp-block-list.eden-questions li:first-child {
	border-top: 1px solid var(--wp--preset--color--border);
}

.wp-block-list.eden-questions li::before {
	color: var(--wp--preset--color--rust);
	content: counter(eden-q, decimal-leading-zero);
	flex: 0 0 2rem;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

/* Impact Highlights: one featured line above the photo cards, a plain grid below. */
.eden-impact__feature {
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
	column-gap: var(--wp--preset--spacing--40);
	margin-bottom: var(--wp--preset--spacing--50) !important;
	padding-bottom: var(--wp--preset--spacing--40);
}

.eden-impact__feature .eden-counter {
	color: var(--wp--preset--color--orange);
	margin: 0;
}

.eden-impact__feature-label {
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.3;
	margin: 0;
	max-width: 22em;
}

.eden-impact__more {
	margin-top: var(--wp--preset--spacing--60) !important;
}

/* Five across: smaller numbers so "15,000+" and "10,000+" never touch their neighbours. */
.eden-impact__more .eden-counter {
	font-size: clamp(2.25rem, 1.6rem + 1.6vw, 3rem);
}

/* Graduates strip: four portrait photos in a row. */
.eden-strip__photo {
	border-radius: 6px;
	margin: 0;
	overflow: hidden;
	width: 100%;
}

.eden-strip__photo img {
	display: block;
	width: 100%;
}

/* ---- Thrift Boutique page ---- */

/* Hero: the Home boutique band look (orange glow), split with the storefront photo. */
.eden-boutique-hero h1 {
	color: var(--wp--preset--color--navy);
	margin-top: 1.25rem;
}

.eden-boutique-hero h1 + .is-style-eyebrow {
	margin-top: 0.75rem;
}

.eden-boutique-hero .eden-boutique-hero__logo {
	margin: 0;
	max-width: 132px;
}

.eden-boutique-hero .eden-boutique-band__logo img {
	box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.14), 0 16px 32px -10px rgba(168, 58, 0, 0.5);
}

.eden-boutique-hero__cols {
	gap: var(--wp--preset--spacing--60);
}

.eden-boutique-hero__photo {
	box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.14), 0 24px 48px -12px rgba(168, 58, 0, 0.5);
	margin-inline: auto;
	max-width: 460px;
}

.eden-boutique-hero .wp-block-button.is-style-outline .wp-block-button__link {
	color: var(--wp--preset--color--ink);
}

/* "Inside the Boutique" gallery: equal 4:5 frames, captions below, kept small (one photo is low-res). */
.eden-gallery__grid .wp-block-image {
	margin: 0 auto;
	max-width: 380px;
	width: 100%;
}

.eden-gallery__grid .wp-block-image figcaption {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.0625rem;
	margin: 0;
	padding: 0.85rem 1rem;
	text-align: center;
}

.eden-gallery__grid .eden-framed-image {
	aspect-ratio: auto;
}

.eden-gallery__grid .eden-framed-image img {
	aspect-ratio: 4 / 5;
	height: auto;
}

/* "See the Boutique": Instagram reel, centred, max 540px; the button is the fallback. */
.eden-reel__embed {
	margin: var(--wp--preset--spacing--40) auto;
	max-width: 540px;
}

.eden-reel__embed .instagram-media {
	margin: 0 auto !important;
	max-width: 540px !important;
	min-width: 280px !important;
	width: 100% !important;
}

/* "More Than a Boutique": the belief as a large navy quote. */
.eden-boutique-belief .eden-quote {
	margin-block: var(--wp--preset--spacing--40);
}

.eden-boutique-belief .eden-quote p {
	color: var(--wp--preset--color--navy);
	font-size: var(--wp--preset--font-size--xx-large);
}

/* S.H.I.N.E. tiles: white tiles, a large orange initial, the word below. */
.eden-shine__tile {
	background: var(--wp--preset--color--white);
	border-bottom: 4px solid var(--wp--preset--color--orange);
	border-radius: 6px;
	box-shadow: 0 10px 28px -12px rgba(168, 58, 0, 0.35);
	padding: 1.75rem 0.75rem 1.5rem;
	text-align: center;
}

.eden-shine__tile > * {
	margin-block: 0;
}

.eden-shine__letter {
	color: var(--wp--preset--color--burnt);
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(3.5rem, 2.5rem + 3vw, 5rem);
	font-weight: 600;
	line-height: 1;
}

.eden-shine .eden-shine__word {
	font-size: clamp(1.0625rem, 0.85rem + 0.6vw, 1.5rem);
	margin-top: 0.75rem;
}

/* Phones: two tiles per row, so "E" spans the last row. */
@media (max-width: 599px) {
	.eden-shine__tile:last-child {
		grid-column: 1 / -1;
	}
}

/* Notes under steps and lists. */
.eden-boutique-note {
	margin-top: var(--wp--preset--spacing--50) !important;
}

/* Visit Us: one centred card. */
.eden-visit__card {
	padding: clamp(2rem, 1.5rem + 2vw, 3rem) !important;
}

.eden-visit__card .is-style-eyebrow {
	margin-bottom: 0.25rem;
}

.eden-visit__hours {
	color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--x-large);
	margin-top: 0;
}

.eden-visit__address {
	color: var(--wp--preset--color--navy);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	margin-top: 0;
}

.eden-visit__map {
	margin-top: var(--wp--preset--spacing--40);
}

/* Social and map link cards. */
.eden-card--icon-instagram::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C416E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='5' ry='5'/%3E%3Cpath d='M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z'/%3E%3Cline x1='17.5' y1='6.5' x2='17.51' y2='6.5'/%3E%3C/svg%3E");
}

.eden-card--icon-facebook::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C416E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E");
}

.eden-card--icon-map::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C416E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

/* Small heading above a list inside a split (Wellness: "Wellness Support Includes"). */
.eden-list-heading {
	font-size: var(--wp--preset--font-size--large);
	margin-top: var(--wp--preset--spacing--40);
}

/* Statement band (Housing): a quiet lead line, then one large heading, centred on navy. */
.eden-statement__lead {
	color: var(--wp--preset--color--cream);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	margin-bottom: 0.5rem;
}

.eden-statement .eden-statement__main {
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--huge);
	margin-top: 0;
	text-wrap: balance;
}

.eden-statement__main::after {
	background: var(--wp--preset--color--orange);
	content: "";
	display: block;
	height: 3px;
	margin: 1.5rem auto 0;
	width: 4rem;
}

/* ==========================================================================
   21. 404
   ========================================================================== */

.eden-404 .wp-block-search {
	margin-left: max(0px, calc((100% - var(--wp--style--global--content-size, 760px)) / 2)) !important;
	margin-top: var(--wp--preset--spacing--40);
	max-width: 32rem;
}

/* ==========================================================================
   21. Reduced motion
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
