/* Homepage-specific composition. Global surfaces, typography and controls remain token-driven. */

/* --------------------------------------------------------------------------
 * D2 — Homepage hero
 * -------------------------------------------------------------------------- */
.amp-home-hero.amp-section {
	position: relative;
	overflow: clip;
	padding-block: clamp(1.25rem, 3vw, 2.25rem) clamp(2rem, 5vw, 4rem);
	background:
		radial-gradient(circle at 10% 15%, color-mix(in srgb, var(--wp--preset--color--accent) 8%, transparent), transparent 21rem),
		linear-gradient(180deg, var(--wp--preset--color--white) 0%, var(--wp--custom--surface--purple-soft) 100%);
}

.amp-home-hero-shell.wp-block-group {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.04fr) minmax(19rem, .96fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
	max-inline-size: var(--wp--style--global--wide-size);
	min-block-size: clamp(31rem, 62vw, 40rem);
	padding: clamp(2rem, 5vw, 4.75rem);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 9%, transparent);
	border-radius: clamp(1.5rem, 3vw, 2.5rem);
	background:
		radial-gradient(circle at 87% 16%, color-mix(in srgb, var(--wp--preset--color--primary-hover) 10%, transparent) 0 4.5rem, transparent 4.6rem),
		radial-gradient(circle at 96% 84%, color-mix(in srgb, var(--wp--preset--color--green) 11%, transparent) 0 8rem, transparent 8.1rem),
		linear-gradient(135deg, color-mix(in srgb, var(--wp--preset--color--white) 98%, transparent), color-mix(in srgb, var(--wp--preset--color--soft) 96%, transparent));
	box-shadow: 0 28px 70px rgb(54 24 73 / 10%);
	isolation: isolate;
}

.amp-home-hero-shell::before,
.amp-home-hero-shell::after {
	content: "";
	position: absolute;
	z-index: -1;
	border-radius: 999px;
	pointer-events: none;
}

.amp-home-hero-shell::before {
	inset-block-start: 12%;
	inset-inline-end: 42%;
	inline-size: 5rem;
	block-size: 5rem;
	background: color-mix(in srgb, var(--wp--preset--color--primary) 5%, transparent);
}

.amp-home-hero-shell::after {
	inset-block-end: 10%;
	inset-inline-start: 4%;
	inline-size: 7rem;
	block-size: 7rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--green) 12%, transparent);
}

.amp-home-hero-copy.wp-block-group {
	position: relative;
	z-index: 2;
	max-inline-size: 42rem;
	min-inline-size: 0;
	margin: 0;
}

.amp-home-hero-copy > * { margin-block-start: 0; }
.amp-home-hero-copy > * + * { margin-block-start: var(--wp--preset--spacing--40); }

.amp-home-hero-eyebrow.is-style-amp-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	inline-size: fit-content;
	padding: .5rem .85rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--green) 16%, transparent);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--custom--surface--green-soft);
	color: #237A3B;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.35;
}

.amp-home-hero-eyebrow::before {
	content: "";
	inline-size: .5rem;
	block-size: .5rem;
	flex: 0 0 auto;
	border-radius: 50%;
	background: var(--wp--preset--color--green);
	box-shadow: 0 0 0 .24rem color-mix(in srgb, var(--wp--preset--color--green) 10%, transparent);
}

.amp-home-hero-title.is-style-amp-hero-title {
	max-inline-size: 13ch;
	margin-block-end: 0;
	font-size: clamp(2.35rem, 5vw, 4.7rem);
	font-weight: 700;
	line-height: 1.18;
	letter-spacing: -.025em;
	color: var(--wp--preset--color--dark);
	text-wrap: balance;
}

.amp-home-hero-title strong { color: var(--wp--preset--color--primary); }

.amp-home-hero-lead {
	max-inline-size: 37rem;
	margin-block-end: 0;
	font-size: clamp(1.08rem, 1.7vw, 1.28rem);
	line-height: 1.9;
	color: var(--wp--custom--surface--muted);
	text-wrap: pretty;
}

.amp-home-hero-actions.wp-block-buttons {
	gap: .75rem;
	margin-block-start: var(--wp--preset--spacing--50);
}

.amp-home-hero-actions .wp-block-button__link {
	min-block-size: 3rem;
	padding-inline: 1.35rem;
}

/* Editorial CTA links are configured directly from Gutenberg. Do not render an
 * unconfigured action as a fake link on the public site. It remains visible in
 * the editor so staff can select it and add a destination. */
body:not(.wp-admin) .amp-home-hero-actions .wp-block-button__link:not([href]) {
	display: none;
}

.amp-home-hero-secondary .wp-block-button__link {
	border-color: color-mix(in srgb, var(--wp--preset--color--primary) 28%, transparent);
	background: color-mix(in srgb, var(--wp--preset--color--white) 75%, transparent);
}

.amp-home-hero-media.wp-block-group {
	position: relative;
	min-inline-size: 0;
	margin: 0;
}

.amp-home-hero-image.wp-block-image {
	position: relative;
	z-index: 1;
	margin: 0;
}

.amp-home-hero-image img {
	display: block;
	inline-size: 100%;
	aspect-ratio: 5 / 4;
	object-fit: cover;
	border: .45rem solid color-mix(in srgb, var(--wp--preset--color--white) 92%, transparent);
	border-radius: clamp(1.35rem, 3vw, 2.25rem);
	background: var(--wp--custom--surface--purple-soft);
	box-shadow: 0 28px 64px rgb(56 25 74 / 17%);
}

.amp-home-hero-media:has(img[src]:not([src=""]))::before {
	content: "";
	position: absolute;
	z-index: 0;
	inset: 9% -4% -5% 12%;
	border-radius: 2.5rem;
	background: linear-gradient(135deg, color-mix(in srgb, var(--wp--preset--color--primary) 10%, transparent), color-mix(in srgb, var(--wp--preset--color--green) 9%, transparent));
	transform: rotate(-3deg);
}

.amp-home-hero-note.wp-block-group {
	position: absolute;
	z-index: 3;
	inset-inline-start: clamp(-2rem, -3vw, -1rem);
	inset-block-end: clamp(1rem, 3vw, 2.25rem);
	max-inline-size: min(17rem, 78%);
	padding: .95rem 1.05rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 10%, transparent);
	border-radius: var(--wp--custom--radius--medium);
	background: color-mix(in srgb, var(--wp--preset--color--white) 92%, transparent);
	box-shadow: 0 18px 42px rgb(54 24 73 / 14%);
	backdrop-filter: blur(14px);
}

.amp-home-hero-note > * { margin: 0; }
.amp-home-hero-note > * + * { margin-block-start: .25rem; }
.amp-home-hero-note p { font-size: var(--wp--preset--font-size--small); line-height: 1.65; color: var(--wp--custom--surface--muted); }
.amp-home-hero-note .amp-home-hero-note-kicker { color: var(--wp--preset--color--primary); font-weight: 700; }

/* No-image state: keep the hero intentional rather than leaving an empty grid. */
.amp-home-hero-media:not(:has(img[src]:not([src=""]))) { display: none; }
.amp-home-hero-shell:not(:has(.amp-home-hero-media img[src]:not([src=""]))) {
	grid-template-columns: minmax(0, 1fr);
	min-block-size: clamp(27rem, 50vw, 34rem);
}
.amp-home-hero-shell:not(:has(.amp-home-hero-media img[src]:not([src=""]))) .amp-home-hero-copy {
	max-inline-size: 51rem;
	margin-inline: auto;
	text-align: center;
}
.amp-home-hero-shell:not(:has(.amp-home-hero-media img[src]:not([src=""]))) .amp-home-hero-title,
.amp-home-hero-shell:not(:has(.amp-home-hero-media img[src]:not([src=""]))) .amp-home-hero-lead {
	margin-inline: auto;
}
.amp-home-hero-shell:not(:has(.amp-home-hero-media img[src]:not([src=""]))) .amp-home-hero-actions {
	justify-content: center;
}

/* Gutenberg must always expose the empty native Image block for selection. */
.editor-styles-wrapper .amp-home-hero-media:not(:has(img[src]:not([src=""]))) {
	display: block;
}
.editor-styles-wrapper .amp-home-hero-shell:not(:has(.amp-home-hero-media img[src]:not([src=""]))) {
	grid-template-columns: minmax(0, 1fr) minmax(19rem, .96fr);
}
.editor-styles-wrapper .amp-home-hero-actions .wp-block-button__link:not([href]) { display: inline-flex; }

/* --------------------------------------------------------------------------
 * Search sits outside the hero so editors can remove it without breaking the
 * hero composition.
 * -------------------------------------------------------------------------- */
.amp-home-search-section.amp-section {
	position: relative;
	z-index: 4;
	padding-block: 0 var(--wp--preset--spacing--70);
	background: var(--wp--preset--color--white);
}

.amp-home-search.wp-block-group {
	display: grid;
	grid-template-columns: minmax(13rem, .42fr) minmax(0, 1fr);
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: center;
	max-inline-size: 68rem;
	margin-inline: auto;
	margin-block-start: clamp(-1.5rem, -3vw, -1rem);
	padding: clamp(1.15rem, 2.8vw, 1.75rem);
	border: 1px solid var(--wp--custom--border--color);
	border-radius: var(--wp--custom--radius--large);
	background: color-mix(in srgb, var(--wp--preset--color--white) 96%, transparent);
	box-shadow: 0 22px 55px rgb(54 24 73 / 11%);
	backdrop-filter: blur(16px);
}

.amp-home-search-copy > * { margin: 0; }
.amp-home-search-copy > * + * { margin-block-start: .25rem; }
.amp-home-search-title { font-size: var(--wp--preset--font-size--heading-small); line-height: 1.35; }
.amp-home-search-control { min-inline-size: 0; margin: 0; }
.amp-home-search-control .amp-search-widget { max-inline-size: none; margin: 0; box-shadow: none; }
.amp-home-search-control .wp-block-search { margin: 0; }
.amp-home-search-control .wp-block-search__inside-wrapper {
	min-block-size: 3.35rem;
	border: 1px solid var(--wp--custom--border--input);
	border-radius: var(--wp--custom--radius--medium);
	background: var(--wp--preset--color--white);
}

/* --------------------------------------------------------------------------
 * Existing homepage cards / article feed
 * -------------------------------------------------------------------------- */
.amp-home-topics.is-style-amp-grid,
.amp-home-articles .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--50);
}
.amp-home-articles .wp-block-post-template > li { margin: 0; min-inline-size: 0; }
.amp-home-articles .amp-article-card { block-size: 100%; box-sizing: border-box; }
.amp-article-card .wp-block-post-featured-image { margin: 0; }
.amp-article-card .wp-block-post-featured-image img { inline-size: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--wp--custom--radius--small); }
.amp-article-card .wp-block-post-title { font-size: var(--wp--preset--font-size--heading-small); overflow-wrap: anywhere; }
.amp-article-card .wp-block-post-date { font-size: var(--wp--preset--font-size--small); }
.amp-topic-card h3 a,
.amp-article-card h3 a { text-decoration-thickness: 1px; text-underline-offset: .2em; }

@media (max-width: 64rem) {
	.amp-home-hero-shell.wp-block-group {
		grid-template-columns: minmax(0, 1fr) minmax(16rem, .78fr);
		gap: clamp(1.5rem, 4vw, 3rem);
		padding: clamp(1.75rem, 4vw, 3.25rem);
	}

	.amp-home-hero-title.is-style-amp-hero-title { font-size: clamp(2.25rem, 5vw, 3.6rem); }
	.amp-home-hero-note { inset-inline-start: -.75rem; }
}

@media (max-width: 48rem) {
	.amp-home-hero.amp-section { padding-block-start: 1rem; }

	.amp-home-hero-shell.wp-block-group,
	.editor-styles-wrapper .amp-home-hero-shell.wp-block-group {
		grid-template-columns: minmax(0, 1fr);
		min-block-size: 0;
		gap: var(--wp--preset--spacing--60);
		padding: clamp(1.5rem, 6vw, 2.25rem);
	}

	.amp-home-hero-copy.wp-block-group { max-inline-size: none; }
	.amp-home-hero-title.is-style-amp-hero-title { max-inline-size: 15ch; font-size: clamp(2.15rem, 9vw, 3.15rem); }
	.amp-home-hero-lead { font-size: 1.0625rem; }
	.amp-home-hero-media.wp-block-group { max-inline-size: 34rem; margin-inline: auto; }
	.amp-home-hero-note { inset-inline-start: .75rem; inset-block-end: .75rem; }
	.amp-home-hero-media:has(img[src]:not([src=""]))::before { inset: 8% 4% -4% 12%; }

	.amp-home-search.wp-block-group {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--wp--preset--spacing--40);
		margin-block-start: -1rem;
	}

	.amp-home-topics.is-style-amp-grid,
	.amp-home-articles .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 36rem) {
	.amp-home-hero-shell.wp-block-group { border-radius: 1.5rem; }
	.amp-home-hero-actions.wp-block-buttons { display: grid; grid-template-columns: minmax(0, 1fr); }
	.amp-home-hero-actions .wp-block-button,
	.amp-home-hero-actions .wp-block-button__link { inline-size: 100%; }
	.amp-home-hero-image img { aspect-ratio: 4 / 3; border-width: .3rem; }
	.amp-home-hero-note { position: relative; inset: auto; max-inline-size: none; margin-block-start: .75rem; }
	.amp-home-search-section.amp-section { padding-block-end: var(--wp--preset--spacing--60); }
	.amp-home-topics.is-style-amp-grid,
	.amp-home-articles .wp-block-post-template { grid-template-columns: minmax(0, 1fr); }
}

/* --------------------------------------------------------------------------
 * D3 — Homepage section composition
 * -------------------------------------------------------------------------- */
body:not(.wp-admin) .amp-editorial-link .wp-block-button__link:not([href]) {
	display: none;
}
.editor-styles-wrapper .amp-editorial-link .wp-block-button__link:not([href]) {
	display: inline-flex;
}

.amp-home-section-heading.wp-block-group {
	max-inline-size: 46rem;
	margin: 0 0 clamp(2rem, 4vw, 3rem);
}
.amp-home-section-heading > * { margin-block-start: 0; }
.amp-home-section-heading > * + * { margin-block-start: .65rem; }
.amp-home-section-heading h2 {
	font-size: clamp(2rem, 3.6vw, 3rem);
	line-height: 1.25;
	letter-spacing: -.018em;
	text-wrap: balance;
}
.amp-home-section-heading > p:last-child {
	max-inline-size: 42rem;
	color: var(--wp--custom--surface--muted);
	font-size: 1.05rem;
	line-height: 1.9;
}
.amp-home-section-heading--split.wp-block-group {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(18rem, .72fr);
	gap: clamp(2rem, 6vw, 6rem);
	align-items: end;
	max-inline-size: none;
}
.amp-home-section-heading--split > p:last-child {
	margin: 0 0 .25rem;
}

/* Topic pathways: two editorial visual features followed by lighter quick paths. */
.amp-home-pathways.amp-section {
	position: relative;
	background:
		radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--wp--preset--color--primary) 5%, transparent), transparent 24rem),
		var(--wp--preset--color--white);
}
.amp-pathways-featured.wp-block-group {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 2rem);
	margin: 0;
}
.amp-pathway-feature.wp-block-group {
	position: relative;
	display: grid;
	grid-template-columns: minmax(10rem, .82fr) minmax(0, 1.18fr);
	min-block-size: 21rem;
	margin: 0;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 9%, transparent);
	border-radius: var(--wp--custom--radius--large);
	background: var(--wp--preset--color--white);
	box-shadow: 0 18px 48px rgb(54 24 73 / 8%);
}
.amp-pathway-feature--purple {
	background: linear-gradient(145deg, var(--wp--preset--color--white) 22%, color-mix(in srgb, var(--wp--preset--color--soft) 96%, transparent) 100%);
}
.amp-pathway-feature--green {
	border-color: color-mix(in srgb, var(--wp--preset--color--green) 12%, transparent);
	background: linear-gradient(145deg, var(--wp--preset--color--white) 22%, rgb(239 250 243 / 92%) 100%);
}
.amp-pathway-feature__image.wp-block-image {
	min-inline-size: 0;
	min-block-size: 100%;
	margin: 0;
	background: color-mix(in srgb, var(--wp--preset--color--primary) 5%, transparent);
}
.amp-pathway-feature__image img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	min-block-size: 21rem;
	object-fit: cover;
}
.amp-pathway-feature:not(:has(.amp-pathway-feature__image img[src]:not([src=""]))) {
	grid-template-columns: minmax(0, 1fr);
}
.amp-pathway-feature:not(:has(.amp-pathway-feature__image img[src]:not([src=""]))) .amp-pathway-feature__image {
	display: none;
}
.editor-styles-wrapper .amp-pathway-feature:not(:has(.amp-pathway-feature__image img[src]:not([src=""]))) {
	grid-template-columns: minmax(10rem, .82fr) minmax(0, 1.18fr);
}
.editor-styles-wrapper .amp-pathway-feature:not(:has(.amp-pathway-feature__image img[src]:not([src=""]))) .amp-pathway-feature__image {
	display: block;
}
.amp-pathway-feature__copy.wp-block-group {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	min-inline-size: 0;
	margin: 0;
	padding: clamp(1.5rem, 3vw, 2.5rem);
}
.amp-pathway-feature__copy > * { margin-block-start: 0; }
.amp-pathway-feature__copy > * + * { margin-block-start: .75rem; }
.amp-pathway-kicker {
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .04em;
	color: var(--wp--preset--color--primary);
}
.amp-pathway-feature--green .amp-pathway-kicker { color: #237A3B; }
.amp-pathway-feature h3 {
	font-size: clamp(1.45rem, 2.2vw, 2rem);
	line-height: 1.35;
	text-wrap: balance;
}
.amp-pathway-feature__copy > p:not(.amp-pathway-kicker) {
	color: var(--wp--custom--surface--muted);
	line-height: 1.85;
}
.amp-pathway-feature .wp-block-buttons { margin-block-start: 1rem; }
.amp-pathway-feature .wp-block-button__link {
	min-block-size: 2.75rem;
	padding-inline: 1rem;
	background: color-mix(in srgb, var(--wp--preset--color--white) 75%, transparent);
}

.amp-pathways-compact.wp-block-group {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	margin-block-start: clamp(1.25rem, 3vw, 2rem);
}
.amp-pathway-compact.wp-block-group {
	position: relative;
	min-inline-size: 0;
	margin: 0;
	padding: clamp(1.25rem, 2.6vw, 1.75rem);
	border: 1px solid var(--wp--custom--border--color);
	border-radius: var(--wp--custom--radius--medium);
	background: var(--wp--preset--color--white);
	box-shadow: 0 10px 28px rgb(54 24 73 / 5%);
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.amp-pathway-compact:hover {
	transform: translateY(-3px);
	border-color: color-mix(in srgb, var(--wp--preset--color--primary) 16%, transparent);
	box-shadow: 0 18px 38px rgb(54 24 73 / 9%);
}
.amp-pathway-compact > * { margin-block-start: 0; }
.amp-pathway-compact > * + * { margin-block-start: .6rem; }
.amp-pathway-index {
	display: inline-grid;
	place-items: center;
	inline-size: 2.2rem;
	block-size: 2.2rem;
	border-radius: .8rem;
	background: var(--wp--custom--surface--purple-soft);
	color: var(--wp--preset--color--primary);
	font-size: .75rem;
	font-weight: 800;
}
.amp-pathway-compact h3 { font-size: 1.1rem; line-height: 1.45; }
.amp-pathway-compact > p:not(.amp-pathway-index) {
	min-block-size: 4.9em;
	color: var(--wp--custom--surface--muted);
	font-size: .94rem;
	line-height: 1.7;
}
.amp-pathway-compact .wp-block-buttons { margin-block-start: 1rem; }
.amp-pathway-compact .wp-block-button__link {
	min-block-size: auto;
	padding: .1rem 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--primary);
	font-size: .9rem;
	font-weight: 700;
}
.amp-pathway-compact .wp-block-button__link::after { content: " ←"; }

/* Support/service area uses one large narrative column and a stacked service rail. */
.amp-home-services.amp-section {
	background:
		linear-gradient(180deg, color-mix(in srgb, var(--wp--preset--color--soft) 60%, transparent), color-mix(in srgb, var(--wp--preset--color--white) 96%, transparent));
}
.amp-home-services-shell.wp-block-group {
	display: grid;
	grid-template-columns: minmax(16rem, .72fr) minmax(0, 1.28fr);
	gap: clamp(2rem, 7vw, 6.5rem);
	align-items: start;
}
.amp-home-services-intro.wp-block-group {
	position: sticky;
	top: 7rem;
	margin: 0;
	padding-block: .5rem;
}
.amp-home-services-intro > * { margin-block-start: 0; }
.amp-home-services-intro > * + * { margin-block-start: .8rem; }
.amp-home-services-intro h2 {
	font-size: clamp(2rem, 3.6vw, 3.05rem);
	line-height: 1.25;
	text-wrap: balance;
}
.amp-home-services-intro > p:not(.is-style-amp-eyebrow):not(.amp-home-services-note) {
	color: var(--wp--custom--surface--muted);
	font-size: 1.05rem;
	line-height: 1.9;
}
.amp-home-services-note {
	max-inline-size: 29rem;
	padding-block-start: .75rem;
	border-block-start: 1px solid var(--wp--custom--border--color);
	color: var(--wp--custom--surface--muted);
	font-size: .82rem;
	line-height: 1.65;
}
.amp-home-services-list.wp-block-group {
	display: grid;
	gap: 1rem;
	margin: 0;
}
.amp-service-path.wp-block-group {
	position: relative;
	display: grid;
	grid-template-columns: 6rem minmax(10rem, .55fr) minmax(0, 1fr) auto;
	gap: clamp(1rem, 2.5vw, 2rem);
	align-items: center;
	margin: 0;
	padding: clamp(1.25rem, 2.6vw, 1.75rem);
	border: 1px solid var(--wp--custom--border--color);
	border-radius: var(--wp--custom--radius--large);
	background: color-mix(in srgb, var(--wp--preset--color--white) 92%, transparent);
	box-shadow: 0 12px 34px rgb(54 24 73 / 5%);
}
.amp-service-path::before {
	content: "";
	position: absolute;
	inset-block: 1.1rem;
	inset-inline-start: 0;
	inline-size: .24rem;
	border-radius: 999px;
	background: var(--wp--preset--color--primary);
}
.amp-service-path--green::before { background: var(--wp--preset--color--green); }
.amp-service-path--orange::before { background: var(--wp--preset--color--accent); }
.amp-service-path__tag {
	display: inline-grid;
	place-items: center;
	inline-size: 4.6rem;
	block-size: 4.6rem;
	margin: 0;
	border-radius: 1.35rem;
	background: var(--wp--custom--surface--purple-soft);
	color: var(--wp--preset--color--primary);
	font-weight: 800;
}
.amp-service-path--green .amp-service-path__tag {
	background: var(--wp--custom--surface--green-soft);
	color: #237A3B;
}
.amp-service-path--orange .amp-service-path__tag {
	background: color-mix(in srgb, var(--wp--preset--color--accent) 9%, transparent);
	color: #B64F00;
}
.amp-service-path h3 { margin: 0; font-size: 1.2rem; line-height: 1.45; }
.amp-service-path > p:not(.amp-service-path__tag) {
	margin: 0;
	color: var(--wp--custom--surface--muted);
	font-size: .94rem;
	line-height: 1.7;
}
.amp-service-path .wp-block-buttons { margin: 0; justify-self: end; }
.amp-service-path .wp-block-button__link {
	white-space: nowrap;
	min-block-size: auto;
	padding: .55rem .85rem;
	background: transparent;
}

/* Compact reference feed: preserve the existing dynamic article source. */
.amp-reference-latest .amp-reference-actions { max-inline-size: 18rem; margin-inline-start: auto; margin-block-end: var(--wp--preset--spacing--50); padding-block-start: 0; }
.amp-reference-latest .wp-block-post-template { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--wp--preset--spacing--40); }
.amp-reference-latest .amp-article-card {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1fr);
	gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	height: 100%;
	padding: var(--wp--preset--spacing--30);
	border: 0;
	border-radius: var(--wp--custom--radius--medium);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--soft);
}
.amp-reference-latest .amp-article-card > * { min-inline-size: 0; margin: 0; }
.amp-reference-latest .amp-article-card figure { grid-row: 1 / span 3; align-self: stretch; }
.amp-reference-latest .amp-article-card figure a { display: block; height: 100%; }
.amp-reference-latest .amp-article-card figure img { width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--wp--custom--radius--medium); }
.amp-reference-latest .amp-related-category { align-self: start; color: var(--wp--preset--color--primary); font-size: var(--wp--preset--font-size--small); }
.amp-reference-latest .amp-article-card h3 { font-size: var(--wp--preset--font-size--body); line-height: 1.5; }
.amp-reference-latest .amp-article-card time { color: var(--wp--custom--surface--muted); font-size: var(--wp--preset--font-size--small); }
.amp-reference-latest .amp-article-card:not(:has(figure)) { grid-template-columns: minmax(0, 1fr); }

/* Legacy presentation remains available to previously saved homepage blocks. */
.amp-home-latest.amp-section { background: var(--wp--preset--color--white); }
.amp-home-latest .amp-home-section-heading { margin-block-end: clamp(1.75rem, 3vw, 2.5rem); }
.amp-home-latest .amp-feed-heading { display: none; }
.amp-home-latest .amp-home-articles .wp-block-post-template {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.1rem;
}
.amp-home-latest .amp-article-card {
	overflow: hidden;
	padding: 0 0 1.25rem;
	border: 1px solid var(--wp--custom--border--color);
	border-radius: var(--wp--custom--radius--large);
	background: var(--wp--preset--color--white);
	box-shadow: 0 12px 34px rgb(54 24 73 / 6%);
}
.amp-home-latest .amp-article-card > :not(figure) {
	margin-inline: 1.25rem;
}
.amp-home-latest .amp-article-card .wp-block-post-featured-image img {
	border-radius: 0;
	aspect-ratio: 16 / 10;
}
.amp-home-latest .wp-block-post-template > li:first-child {
	grid-column: 1 / -1;
}
.amp-home-latest .wp-block-post-template > li:first-child .amp-article-card:has(figure) {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(18rem, .92fr);
	grid-template-rows: auto 1fr;
	align-items: center;
	min-block-size: 22rem;
	padding: 0;
	background: linear-gradient(135deg, var(--wp--preset--color--white), var(--wp--custom--surface--purple-soft));
}
.amp-home-latest .wp-block-post-template > li:first-child figure {
	grid-column: 1;
	grid-row: 1 / 3;
	block-size: 100%;
}
.amp-home-latest .wp-block-post-template > li:first-child figure img {
	block-size: 100%;
	aspect-ratio: auto;
	object-fit: cover;
}
.amp-home-latest .wp-block-post-template > li:first-child time,
.amp-home-latest .wp-block-post-template > li:first-child h3 {
	grid-column: 2;
	margin-inline: clamp(1.5rem, 4vw, 3rem);
}
.amp-home-latest .wp-block-post-template > li:first-child time {
	align-self: end;
	margin-block-end: .65rem;
}
.amp-home-latest .wp-block-post-template > li:first-child h3 {
	align-self: start;
	font-size: clamp(1.55rem, 2.8vw, 2.35rem);
	line-height: 1.35;
}

/* Final support band. */
.amp-home-support.amp-section {
	padding-block-start: clamp(2rem, 4vw, 3rem);
	padding-block-end: clamp(4rem, 7vw, 6rem);
	background: var(--wp--preset--color--white);
}
.amp-home-support-shell.wp-block-group {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(17rem, .85fr);
	gap: clamp(2rem, 6vw, 5rem);
	align-items: center;
	overflow: hidden;
	padding: clamp(2rem, 5vw, 4rem);
	border-radius: clamp(1.5rem, 3vw, 2.5rem);
	background:
		radial-gradient(circle at 8% 12%, color-mix(in srgb, var(--wp--preset--color--accent) 18%, transparent), transparent 14rem),
		radial-gradient(circle at 92% 86%, color-mix(in srgb, var(--wp--preset--color--green) 16%, transparent), transparent 18rem),
		linear-gradient(135deg, #3b0764 0%, var(--wp--preset--color--dark) 70%);
	box-shadow: 0 28px 70px color-mix(in srgb, var(--wp--preset--color--dark) 18%, transparent);
	color: var(--wp--preset--color--white);
}
.amp-home-support-copy.wp-block-group { margin: 0; }
.amp-home-support-copy > * { margin-block-start: 0; }
.amp-home-support-copy > * + * { margin-block-start: .85rem; }
.amp-home-support-eyebrow {
	inline-size: fit-content;
	padding: .42rem .78rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--white) 16%, transparent);
	border-radius: 999px;
	background: color-mix(in srgb, var(--wp--preset--color--white) 8%, transparent);
	color: #DCC7ED;
	font-size: .82rem;
	font-weight: 700;
}
.amp-home-support-copy h2 {
	max-inline-size: 14ch;
	font-size: clamp(2rem, 4vw, 3.4rem);
	line-height: 1.2;
	color: var(--wp--preset--color--white);
	text-wrap: balance;
}
.amp-home-support-copy > p:not(.amp-home-support-eyebrow) {
	max-inline-size: 41rem;
	color: color-mix(in srgb, var(--wp--preset--color--white) 78%, transparent);
	font-size: 1.05rem;
	line-height: 1.9;
}
.amp-home-support .amp-support-actions { gap: .7rem; margin-block-start: 1.5rem; }
.amp-home-support .amp-support-actions .wp-block-button__link {
	border-color: color-mix(in srgb, var(--wp--preset--color--white) 30%, transparent);
}
.amp-home-support .amp-support-actions .is-style-outline .wp-block-button__link {
	background: color-mix(in srgb, var(--wp--preset--color--white) 7%, transparent);
	color: var(--wp--preset--color--white);
}
.amp-home-support-points.wp-block-group {
	display: grid;
	gap: .75rem;
	margin: 0;
}
.amp-home-support-points > p {
	display: grid;
	gap: .2rem;
	margin: 0;
	padding: 1rem 1.1rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--white) 12%, transparent);
	border-radius: var(--wp--custom--radius--medium);
	background: color-mix(in srgb, var(--wp--preset--color--white) 7%, transparent);
	backdrop-filter: blur(10px);
}
.amp-home-support-points strong { color: var(--wp--preset--color--white); }
.amp-home-support-points span { color: color-mix(in srgb, var(--wp--preset--color--white) 68%, transparent); font-size: .9rem; line-height: 1.6; }

@media (max-width: 68rem) {
	.amp-pathways-compact.wp-block-group { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.amp-home-services-shell.wp-block-group { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
	.amp-home-services-intro.wp-block-group { position: static; max-inline-size: 45rem; }
	.amp-service-path.wp-block-group { grid-template-columns: 5rem minmax(9rem, .55fr) minmax(0, 1fr) auto; }
}

@media (max-width: 52rem) {
	.amp-home-section-heading--split.wp-block-group,
	.amp-pathways-featured.wp-block-group,
	.amp-home-support-shell.wp-block-group {
		grid-template-columns: minmax(0, 1fr);
	}
	.amp-home-section-heading--split { gap: 1rem; }
	.amp-pathway-feature.wp-block-group { min-block-size: 0; }
	.amp-service-path.wp-block-group {
		grid-template-columns: auto minmax(0, 1fr);
		align-items: start;
	}
	.amp-service-path h3 { align-self: center; }
	.amp-service-path > p:not(.amp-service-path__tag),
	.amp-service-path .wp-block-buttons {
		grid-column: 2;
		justify-self: start;
	}
	.amp-home-latest .wp-block-post-template > li:first-child .amp-article-card:has(figure) {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto;
		min-block-size: 0;
		padding-block-end: 1.5rem;
	}
	.amp-home-latest .wp-block-post-template > li:first-child figure,
	.amp-home-latest .wp-block-post-template > li:first-child time,
	.amp-home-latest .wp-block-post-template > li:first-child h3 {
		grid-column: 1;
		grid-row: auto;
	}
	.amp-home-latest .wp-block-post-template > li:first-child figure { block-size: auto; }
	.amp-home-latest .wp-block-post-template > li:first-child figure img { aspect-ratio: 16 / 9; }
	.amp-home-latest .wp-block-post-template > li:first-child time,
	.amp-home-latest .wp-block-post-template > li:first-child h3 { margin-inline: 1.25rem; }
}

@media (max-width: 40rem) {
	.amp-pathway-feature.wp-block-group,
	.editor-styles-wrapper .amp-pathway-feature.wp-block-group {
		grid-template-columns: minmax(0, 1fr);
	}
	.amp-pathway-feature__image img { min-block-size: 0; aspect-ratio: 16 / 10; }
	.amp-pathways-compact.wp-block-group,
	.amp-home-latest .amp-home-articles .wp-block-post-template {
		grid-template-columns: minmax(0, 1fr);
	}
	.amp-pathway-compact > p:not(.amp-pathway-index) { min-block-size: 0; }
	.amp-service-path.wp-block-group { grid-template-columns: minmax(0, 1fr); }
	.amp-service-path__tag { inline-size: 3.8rem; block-size: 3.8rem; border-radius: 1.1rem; }
	.amp-service-path > p:not(.amp-service-path__tag),
	.amp-service-path .wp-block-buttons { grid-column: 1; }
	.amp-home-support-shell.wp-block-group { padding: 1.5rem; }
	.amp-home-support .amp-support-actions.wp-block-buttons { display: grid; grid-template-columns: minmax(0, 1fr); }
	.amp-home-support .amp-support-actions .wp-block-button,
	.amp-home-support .amp-support-actions .wp-block-button__link { inline-size: 100%; }
}
