/*
Theme Name: Aegis
Theme URI: https://example.com/
Author: Project Team
Description: Custom block theme for Soundwalks, Places & POIs and Locals.
Version: 0.2.67
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: aegis
*/

:root {
	--aegis-border-color: color-mix(in srgb, currentColor 18%, transparent);
	--aegis-header-offset: 4.75rem;
	/* Switch to hamburger nav at this width and below (matches cramped desktop layout). */
	--aegis-header-mobile-max: 1024px;
	--aegis-header-z-index: 1100;
	--aegis-parallax-header-offset: 4.75rem;

	/* Canonical spacing roles — values from Figma Sound-walk-App. */
	--aegis-space-section: var(--wp--preset--spacing--60, 4rem); /* 64px */
	--aegis-space-section-mobile: var(--wp--preset--spacing--45, 2rem); /* 32px */
	--aegis-space-section-lg: var(--wp--preset--spacing--60, 4rem); /* landing bands also 64px in Figma */
	--aegis-space-section-lg-mobile: var(--wp--preset--spacing--45, 2rem);
	--aegis-space-stack: var(--wp--preset--spacing--60, 4rem); /* 64px between detail sections */
	--aegis-space-listing: var(--wp--preset--spacing--50, 2.5rem); /* 40px */
	--aegis-space-heading-tight: var(--wp--preset--spacing--10, 0.5rem); /* 8px heading → media/intro */
	--aegis-space-heading-text: var(--wp--preset--spacing--30, 1rem); /* 16px heading → paragraph */
	--aegis-space-heading-content: var(--wp--preset--spacing--45, 2rem); /* 32px heading → cards */
	--aegis-space-hero-eyebrow-title: var(--wp--preset--spacing--20, 0.75rem); /* 12px eyebrow → title in heroes */
	--aegis-space-related: 1.875rem; /* 30px heading → related carousel (Figma) */
	--aegis-space-favourite: 3.125rem; /* 50px favourite-routes heading → cards */

	--aegis-header-cluster-gap: var(--wp--preset--spacing--45, 2rem); /* 32px logo ↔ nav ↔ tools */
	--aegis-header-item-gap: var(--wp--preset--spacing--45, 2rem); /* 32px around nav dividers */
	--aegis-header-tool-gap: var(--wp--preset--spacing--45, 2rem); /* 32px lang ↔ search (same row gap) */
	--aegis-header-pad-block: var(--wp--preset--spacing--30, 1rem); /* 16px */
	--aegis-header-pad-inline: var(--wp--preset--spacing--60, 4rem); /* 64px */
}

@media (max-width: 1024px) {
	:root {
		--aegis-header-cluster-gap: var(--wp--preset--spacing--30, 1rem);
		--aegis-header-pad-block: var(--wp--preset--spacing--10, 0.5rem);
		--aegis-header-pad-inline: var(--wp--preset--spacing--30, 1rem);
	}
}

/* Leaflet panes use z-index up to 1000; keep maps below the fixed header. */
.aegis-place-map-layout__map,
.aegis-soundwalk-map-layout__map,
.aegis-place-contact__map,
.aegis-local-contact__map,
.aegis-soundwalk-route__map {
	isolation: isolate;
	position: relative;
	z-index: 0;
}

html {
	scroll-behavior: smooth;
}

body {
	text-wrap: pretty;
}

a {
	text-underline-offset: 0.18em;
}

.wp-site-blocks {
	min-height: 100vh;
}

.aegis-uppercase {
	text-transform: uppercase;
}

.aegis-card {
	border: none;
	border-radius: var(--wp--custom--border-radius--small, 8px);
	box-shadow: var(--wp--custom--shadow--card, 0 1px 2px rgba(0, 0, 0, 0.25));
	overflow: hidden;
}

.aegis-card > *:not(.wp-block-post-featured-image) {
	padding-inline: var(--wp--preset--spacing--30);
}

.aegis-card > .wp-block-post-title,
.aegis-card > .wp-block-post-excerpt {
	padding-block-end: var(--wp--preset--spacing--30);
}

.aegis-card > .wp-block-post-title,
.aegis-card > .wp-block-post-title a {
	color: var(--wp--preset--color--primary, #3e6a67);
	font-family: var(--wp--preset--font-family--puritan);
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
}

/*
 * Search results — sit below the fixed navbar and use current card styles.
 */
body.search .wp-site-blocks > main.aegis-search.aegis-wide-rail,
body.search .wp-site-blocks > main.aegis-search {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-heading-content);
	margin-inline: auto;
	max-width: var(--wp--style--global--content-size, 45rem);
	padding-block-end: var(--aegis-space-section);
	padding-block-start: calc(
		var(--aegis-header-offset, 4.75rem) + var(--wp--preset--spacing--45)
	);
	width: 100%;
}

.aegis-search__title,
.aegis-search .wp-block-query-title {
	color: var(--wp--preset--color--not-black, #121010);
	font-family: var(--wp--preset--font-family--puritan);
	font-size: var(--wp--preset--font-size--heading-4, 2rem);
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
	text-transform: uppercase;
}

.aegis-search__query,
.aegis-search__results,
.aegis-search .wp-block-post-template {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--40);
	margin: 0;
	max-width: none;
	padding: 0;
	width: 100%;
}

.aegis-search .wp-block-post {
	list-style: none;
	margin: 0;
	max-width: none;
	width: 100%;
}

.aegis-search__card,
.aegis-search .aegis-card {
	background: var(--wp--preset--color--surface, #ffffff);
	border-radius: var(--wp--custom--border-radius--small, 8px);
	box-shadow: var(--wp--custom--shadow--card, 0 1px 2px rgba(0, 0, 0, 0.25));
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
	overflow: hidden;
	padding: var(--wp--preset--spacing--30);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	width: 100%;
}

.aegis-search__card:hover,
.aegis-search__card:focus-within {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
	transform: translateY(-2px);
}

.aegis-search .aegis-card > *:not(.wp-block-post-featured-image),
.aegis-search .aegis-card > .wp-block-post-title,
.aegis-search .aegis-card > .wp-block-post-excerpt {
	padding-block-end: 0;
	padding-inline: 0;
}

.aegis-search__card .wp-block-post-featured-image {
	border-radius: var(--wp--custom--border-radius--small, 8px);
	margin: 0;
	overflow: hidden;
}

.aegis-search__card .wp-block-post-featured-image img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.aegis-search__card-title,
.aegis-search .aegis-card > .wp-block-post-title,
.aegis-search .aegis-card > .wp-block-post-title a {
	color: var(--wp--preset--color--primary, #3e6a67);
	font-family: var(--wp--preset--font-family--puritan);
	font-size: var(--wp--preset--font-size--heading-2, 1.25rem) !important;
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
	text-decoration: none;
	text-transform: uppercase;
}

.aegis-search__card-excerpt,
.aegis-search .aegis-card > .wp-block-post-excerpt,
.aegis-search .aegis-card > .wp-block-post-excerpt p {
	color: var(--wp--preset--color--text, #2d2a29);
	font-family: var(--wp--preset--font-family--inter);
	font-size: var(--wp--preset--font-size--body, 1rem);
	line-height: 1.5;
	margin: 0;
}

.aegis-search__empty {
	color: var(--wp--preset--color--muted, #6e756f);
	margin: 0;
}

.aegis-search__pagination {
	margin-block-start: var(--wp--preset--spacing--20);
}

@media (max-width: 781px) {
	body.search .wp-site-blocks > main.aegis-search {
		padding-block-end: var(--aegis-space-section-mobile);
		padding-block-start: calc(
			var(--aegis-header-offset, 4.75rem) + var(--wp--preset--spacing--45)
		);
	}
}

.aegis-meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--10) var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 700;
	color: var(--wp--preset--color--brand);
}

/* Soundwalk cards */
.aegis-soundwalk-card {
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--border-radius--small, 8px);
	box-shadow: var(--wp--custom--shadow--card, 0 1px 2px rgba(0, 0, 0, 0.25));
	overflow: hidden;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	width: 100%;
}

.aegis-soundwalk-card:hover,
.aegis-soundwalk-card:focus-within {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
	transform: translateY(-4px);
}

.aegis-soundwalk-card__link {
	color: inherit;
	display: block;
	height: 100%;
	text-decoration: none;
}

.aegis-soundwalk-card__link:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

.aegis-soundwalk-card__media {
	background: var(--wp--preset--color--section-muted);
	overflow: hidden;
	position: relative;
}

.aegis-soundwalk-card__media--placeholder {
	min-height: 100%;
}

.aegis-soundwalk-card__image {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.aegis-soundwalk-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: var(--wp--preset--spacing--10);
	min-width: 0;
	padding: var(--wp--preset--spacing--30);
}

.aegis-soundwalk-card__title {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--puritan);
	font-size: var(--wp--preset--font-size--heading-2);
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
	text-transform: uppercase;
}

.aegis-soundwalk-card__teaser {
	color: var(--wp--preset--color--text);
	font-size: var(--wp--preset--font-size--body-small);
	line-height: 1.7142857143;
	margin: 0;
}

.aegis-soundwalk-card--horizontal .aegis-soundwalk-card__teaser,
.aegis-soundwalk-card--hero .aegis-soundwalk-card__teaser {
	color: var(--wp--preset--color--not-black);
}

.aegis-soundwalk-card__meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--10);
	justify-content: space-between;
	min-height: 1.875rem;
}

.aegis-soundwalk-card__meta-item {
	align-items: center;
	color: var(--wp--preset--color--text);
	display: inline-flex;
	flex-shrink: 0;
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 400;
	gap: 0.3125rem;
	line-height: 1.7142857143;
}

.aegis-soundwalk-card--horizontal .aegis-soundwalk-card__meta-item,
.aegis-soundwalk-card--hero .aegis-soundwalk-card__meta-item {
	color: var(--wp--preset--color--not-black);
}

.aegis-soundwalk-card__meta-item--text-only {
	padding-inline-start: 0;
}

.aegis-soundwalk-card__meta-icon {
	align-items: center;
	color: var(--wp--preset--color--primary);
	display: inline-flex;
	flex-shrink: 0;
	height: 1.5rem;
	justify-content: center;
	width: 1.5rem;
}

.aegis-soundwalk-card__meta-icon img,
.aegis-soundwalk-card__meta-icon svg {
	display: block;
	height: 1.5rem;
	width: 1.5rem;
}

.aegis-soundwalk-card--vertical {
	margin-inline: auto;
	max-width: 16.875rem;
}

.aegis-soundwalk-card--vertical .aegis-soundwalk-card__link {
	display: flex;
	flex-direction: column;
}

.aegis-soundwalk-card--vertical .aegis-soundwalk-card__media {
	aspect-ratio: 1;
	border-radius: var(--wp--custom--border-radius--small, 8px) var(--wp--custom--border-radius--small, 8px) 0 0;
	width: 100%;
}

.aegis-soundwalk-card--horizontal {
	margin-inline: auto;
	max-width: 27.0625rem;
}

.aegis-soundwalk-card--horizontal .aegis-soundwalk-card__link {
	align-items: stretch;
	display: flex;
	flex-direction: row;
}

.aegis-soundwalk-card--horizontal .aegis-soundwalk-card__media {
	align-self: stretch;
	aspect-ratio: 1;
	border-radius: var(--wp--custom--border-radius--small, 8px) 0 0 var(--wp--custom--border-radius--small, 8px);
	flex: 0 0 31%;
	max-width: 13.4375rem;
	min-width: 7.5rem;
}

.aegis-soundwalk-card--hero {
	margin-inline: auto;
	max-height: 12.5rem;
	max-width: 20.5rem;
}

.aegis-soundwalk-card--hero .aegis-soundwalk-card__link {
	align-items: stretch;
	display: flex;
	flex-direction: row;
	min-height: 12.5rem;
}

.aegis-soundwalk-card--hero .aegis-soundwalk-card__media {
	align-self: stretch;
	border-radius: var(--wp--custom--border-radius--small, 8px) 0 0 var(--wp--custom--border-radius--small, 8px);
	flex: 0 0 7.5rem;
	width: 7.5rem;
}

.aegis-soundwalk-card--hero .aegis-soundwalk-card__meta {
	row-gap: var(--wp--preset--spacing--10);
}

.aegis-soundwalk-card.is-editor-preview .aegis-soundwalk-card__editor-placeholder {
	border: 1px dashed var(--aegis-border-color);
	border-radius: var(--wp--custom--border-radius--small, 8px);
	padding: var(--wp--preset--spacing--30);
}

.aegis-soundwalk-card.is-editor-preview .aegis-soundwalk-card__editor-placeholder .description {
	color: var(--wp--preset--color--text);
	font-size: var(--wp--preset--font-size--body-small);
	margin: 0;
}

.aegis-soundwalk-card-editor-preview .aegis-soundwalk-card__editor-placeholder {
	border: 1px dashed var(--aegis-border-color);
	border-radius: var(--wp--custom--border-radius--small, 8px);
	padding: var(--wp--preset--spacing--30);
}

.aegis-soundwalk-card-editor-preview .aegis-soundwalk-card__editor-placeholder .description {
	color: var(--wp--preset--color--text);
	font-size: var(--wp--preset--font-size--body-small);
	margin: 0;
}

.aegis-soundwalk-card-editor-preview .aegis-soundwalk-card__link {
	cursor: default;
	pointer-events: none;
}

.aegis-soundwalk-card-editor-preview .wp-block-custom-database-soundwalk-card {
	width: 100%;
}

@media (max-width: 781px) {
	.aegis-soundwalk-card--horizontal,
	.aegis-soundwalk-card--hero {
		max-width: 100%;
	}

	.aegis-soundwalk-card--horizontal .aegis-soundwalk-card__link,
	.aegis-soundwalk-card--hero .aegis-soundwalk-card__link {
		flex-direction: column;
		min-height: 0;
	}

	.aegis-soundwalk-card--horizontal .aegis-soundwalk-card__media,
	.aegis-soundwalk-card--hero .aegis-soundwalk-card__media {
		border-radius: var(--wp--custom--border-radius--small, 8px) var(--wp--custom--border-radius--small, 8px) 0 0;
		flex-basis: auto;
		max-width: none;
		width: 100%;
	}

	.aegis-soundwalk-card--horizontal .aegis-soundwalk-card__media {
		aspect-ratio: 1;
	}

	.aegis-soundwalk-card--hero {
		max-height: none;
	}

	.aegis-soundwalk-card--hero .aegis-soundwalk-card__media {
		aspect-ratio: 16 / 10;
		flex: 0 0 auto;
	}
}

/* Place / POI cards (Figma: POI Vertical + POI Horizontal) */
.aegis-place-card {
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--surface, #ffffff);
	border-radius: var(--wp--custom--border-radius--small, 8px);
	box-shadow: var(--wp--custom--shadow--card-soft, 0 0 5px rgba(0, 0, 0, 0.2));
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.aegis-place-card:hover,
.aegis-place-card:focus-within {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
	transform: translateY(-4px);
}

.aegis-place-card__link {
	color: inherit;
	display: block;
	height: 100%;
	text-decoration: none;
}

.aegis-place-card__link:focus-visible {
		outline: 2px solid var(--wp--preset--color--primary, #3e6a67);
	outline-offset: 2px;
}

.aegis-place-card--horizontal .aegis-place-card__link {
	display: flex;
	flex-direction: row;
	align-items: stretch;
}

.aegis-place-card--vertical .aegis-place-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.aegis-place-card--vertical {
	max-width: 16.875rem; /* 270px */
	width: 100%;
}

.aegis-place-card--horizontal {
	flex-direction: row;
	align-items: stretch;
	max-width: 20.5rem; /* 328px */
	width: 100%;
}

.aegis-place-card__media {
	aspect-ratio: 1;
	background: var(--wp--preset--color--section-muted, #e1dede);
	display: block;
	flex-shrink: 0;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.aegis-place-card--vertical .aegis-place-card__media {
	border-radius: var(--wp--custom--border-radius--small, 8px)
		var(--wp--custom--border-radius--small, 8px) 0 0;
}

.aegis-place-card__media--placeholder {
	min-height: 0;
}

.aegis-detail-carousel .aegis-place-card__media--placeholder,
.aegis-detail-carousel .aegis-local-card__media--placeholder {
	min-height: 0;
}

.aegis-detail-carousel .aegis-place-card__link,
.aegis-detail-carousel .aegis-local-card__link {
	height: auto;
}

.aegis-detail-carousel .aegis-place-card--vertical .aegis-place-card__link,
.aegis-detail-carousel .aegis-local-card--vertical .aegis-local-card__link {
	height: auto;
}

.aegis-place-card__image {
	display: block;
	height: 100%;
	max-width: 100%;
	min-width: 0;
	object-fit: cover;
	width: 100%;
}

.aegis-place-card--horizontal .aegis-place-card__media {
	width: 7.5rem; /* 120px */
	aspect-ratio: auto;
	align-self: stretch;
	min-height: 7.5rem;
}

.aegis-place-card__body {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--10, 0.5rem);
	padding: var(--wp--preset--spacing--30, 1rem);
	flex: 1;
	min-width: 0;
}

.aegis-place-card--horizontal .aegis-place-card__body {
	padding: 0.75rem 1rem;
	justify-content: center;
}

.aegis-place-card__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--puritan, 'Puritan', serif);
	font-size: var(--wp--preset--font-size--heading-2, 1.25rem);
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary, #3e6a67);
}

.aegis-place-card__subtitle {
	margin: 0;
	font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif);
	font-size: var(--wp--preset--font-size--body-small, 0.875rem);
	font-weight: 400;
	line-height: 1.7142857143;
	color: var(--wp--preset--color--not-black, #121010);
}

.aegis-place-card__meta {
	display: flex;
	align-items: center;
	min-height: 1.875rem;
}

.aegis-place-card__meta-item {
	align-items: center;
	color: var(--wp--preset--color--not-black, #121010);
	display: inline-flex;
	flex-shrink: 0;
	font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif);
	font-size: var(--wp--preset--font-size--body-small, 0.875rem);
	font-weight: 400;
	gap: 0.3125rem;
	line-height: 1.7142857143;
}

.aegis-place-card__meta-icon {
	align-items: center;
	color: var(--wp--preset--color--primary, #3e6a67);
	display: inline-flex;
	flex-shrink: 0;
	height: 1.5rem;
	justify-content: center;
	width: 1.5rem;
}

.aegis-place-card__meta-icon img,
.aegis-place-card__meta-icon svg {
	display: block;
	height: 1.5rem;
	width: 1.5rem;
}

.aegis-place-card-editor-preview .aegis-place-card__link {
	pointer-events: none;
}

/*
 * Wide content rail — Figma wide container (1152px) + horizontal inset.
 * Used by page headers, liveability patterns, and other alignwide sections.
 * This is the single source of horizontal inset (editor + frontend).
 */
.aegis-wide-rail,
.aegis-page-header__inner,
.aegis-liveability-page.alignwide,
.aegis-liveability-cta__content.aegis-wide-rail,
.aegis-start-journey__inner.aegis-wide-rail,
.aegis-favourite-routes__inner.aegis-wide-rail,
.aegis-pioneering-routes__inner.aegis-wide-rail,
.aegis-locals-page.alignwide,
.wp-block-post-content > .alignwide.aegis-place-map-layout,
.wp-block-post-content > .alignwide.aegis-wide-rail {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size, 1152px);
	padding-inline: var(--wp--custom--layout--wide-inset, var(--wp--preset--spacing--60));
	width: 100%;
}

/* Prevent theme.json root / template padding from doubling the inset on live pages. */
main.wp-block-group:has(.aegis-wide-rail),
main.wp-block-group:has(.aegis-liveability-page),
main.wp-block-group:has(.aegis-locals-page),
main.wp-block-group:has(.aegis-local-detail),
main.wp-block-group:has(.aegis-local-header),
main.wp-block-group:has(.aegis-soundwalk-detail),
main.wp-block-group:has(.wp-block-post-content .aegis-soundwalk-detail),
main.wp-block-group:has(.wp-block-post-content .aegis-wide-rail),
main.wp-block-group:has(.wp-block-post-content .aegis-liveability-page),
main.wp-block-group:has(.wp-block-post-content .aegis-locals-page),
main.wp-block-group:has(.wp-block-post-content .aegis-local-detail),
main.wp-block-group:has(.wp-block-post-content .aegis-local-header),
main.wp-block-group:has(.wp-block-post-content .aegis-place-detail),
main.wp-block-group:has(.aegis-place-detail),
main.wp-block-group:has(.wp-block-post-content .wp-block-aegis-page-header),
main.wp-block-group:has(.wp-block-post-content .aegis-page-header) {
	max-width: none;
	padding-inline: 0 !important;
	width: 100%;
}

.wp-block-post-content:has(.aegis-wide-rail),
.wp-block-post-content:has(.aegis-liveability-page),
.wp-block-post-content:has(.aegis-locals-page),
.wp-block-post-content:has(.aegis-local-detail),
.wp-block-post-content:has(.aegis-local-header),
.wp-block-post-content:has(.aegis-place-detail),
.wp-block-post-content:has(.aegis-soundwalk-detail) {
	margin-inline: 0;
	max-width: none;
	padding-inline: 0;
}

.aegis-liveability-page > .aegis-place-type-filter,
.aegis-liveability-page > .aegis-place-map-layout,
.aegis-locals-page > .aegis-place-type-filter,
.aegis-locals-page > .wp-block-query,
.aegis-local-detail > .wp-block-custom-database-local-video,
.aegis-local-detail > .wp-block-custom-database-local-contact,
.aegis-local-detail > .wp-block-custom-database-local-related,
.aegis-place-detail > .wp-block-custom-database-place-video,
.aegis-place-detail > .wp-block-custom-database-place-contact,
.aegis-place-detail > .wp-block-custom-database-place-related,
.aegis-soundwalk-detail > [class*="wp-block-custom-database-soundwalk"],
.aegis-wide-rail > .aegis-place-type-filter,
.aegis-wide-rail > .aegis-place-map-layout,
.aegis-wide-rail > .wp-block-query,
.wp-block-post-content > .alignwide.aegis-place-map-layout > *,
.wp-block-post-content > .alignwide.aegis-wide-rail > * {
	margin-inline: 0;
	max-width: none;
	padding-inline: 0;
	width: 100%;
}

/* Nested alignwide on filter blocks must not break out of the rail. */
.aegis-wide-rail .aegis-place-type-filter.alignwide,
.aegis-liveability-page .aegis-place-type-filter.alignwide,
.aegis-locals-page .aegis-place-type-filter.alignwide {
	margin-inline: 0;
	max-width: none;
	width: 100%;
}

.aegis-liveability-page {
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-listing);
	margin-block-end: var(--aegis-space-listing);
}

.aegis-locals-page {
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-listing);
	margin-block-end: var(--aegis-space-listing);
}

.aegis-local-detail.aegis-wide-rail,
.aegis-place-detail.aegis-wide-rail,
.aegis-soundwalk-detail.aegis-wide-rail {
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-stack);
	padding-block: var(--aegis-space-section);
}

@media (max-width: 781px) {
	.aegis-local-detail.aegis-wide-rail,
	.aegis-place-detail.aegis-wide-rail,
	.aegis-soundwalk-detail.aegis-wide-rail,
	.aegis-soundwalk-detail > .aegis-soundwalk-cta,
	.aegis-soundwalk-cta {
		padding-block: var(--aegis-space-section-mobile);
	}

	.aegis-local-header {
		padding-block-end: var(--aegis-space-section-mobile);
		padding-block-start: calc(
			var(--aegis-header-offset, 4.75rem) + var(--aegis-space-heading-content)
		);
	}

	:where(.wp-site-blocks) > .aegis-local-header + main .aegis-local-detail.aegis-wide-rail,
	:where(.wp-site-blocks) > .wp-block-custom-database-local-header + main .aegis-local-detail.aegis-wide-rail,
	.wp-block-post-content > .aegis-local-header + .aegis-local-detail.aegis-wide-rail,
	.wp-block-post-content > .wp-block-custom-database-local-header + .aegis-local-detail.aegis-wide-rail,
	main.wp-block-group > .aegis-local-header + .aegis-local-detail.aegis-wide-rail,
	main.wp-block-group > .wp-block-custom-database-local-header + .aegis-local-detail.aegis-wide-rail {
		padding-block-start: 0;
		padding-block-end: var(--aegis-space-section-mobile);
	}
}

.aegis-place-map-layout {
	align-items: start;
	display: grid;
	gap: var(--wp--preset--spacing--50);
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	width: 100%;
}

.aegis-place-map-layout__cards,
.aegis-place-map-layout__map,
.aegis-place-map-layout__query {
	margin: 0;
	max-width: 100%;
	min-width: 0;
	padding: 0;
	width: 100%;
}

.aegis-place-map-layout__cards .wp-block-post-template,
.aegis-place-map-layout__cards .wp-block-post {
	margin: 0;
	max-width: 100%;
	min-width: 0;
	padding: 0;
}

.aegis-place-map-layout__cards .aegis-place-card--vertical {
	box-sizing: border-box;
	max-width: 100%;
	min-width: 0;
	width: 100%;
}

.aegis-place-map-layout__cards .wp-block-post-template {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.aegis-place-map-layout__map {
	border-radius: var(--wp--custom--border-radius--small, 8px);
	box-shadow: var(--wp--custom--shadow--card, 0 1px 2px rgba(0, 0, 0, 0.25));
	min-height: 37.5rem;
	overflow: hidden;
	position: sticky;
	top: calc(var(--aegis-header-offset, 4.75rem) + var(--wp--preset--spacing--30));
}

.aegis-place-map-layout__map .guardians-map,
.aegis-place-map-layout__map #liveability-map,
.aegis-place-map-layout__map #liveability-leaflet,
.aegis-place-map-layout__map .leaflet-container {
	border-radius: inherit;
	height: 37.5rem;
	min-height: 37.5rem;
	width: 100%;
}

@media (max-width: 1100px) {
	.aegis-place-map-layout__cards .wp-block-post-template {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 781px) {
	.aegis-place-map-layout {
		gap: var(--wp--preset--spacing--40);
		grid-template-areas:
			"map"
			"cards";
		grid-template-columns: minmax(0, 1fr);
	}

	.aegis-place-map-layout__map {
		grid-area: map;
		min-height: 16.5rem;
		position: relative;
		top: auto;
	}

	.aegis-place-map-layout__cards {
		grid-area: cards;
	}

	.aegis-place-map-layout__map .guardians-map,
	.aegis-place-map-layout__map #liveability-map,
	.aegis-place-map-layout__map #liveability-leaflet,
	.aegis-place-map-layout__map .leaflet-container {
		height: 16.5rem;
		min-height: 16.5rem;
	}

	.aegis-place-map-layout__map.is-map-fullscreen {
		height: 100dvh;
		min-height: 0;
	}

	.aegis-place-map-layout__map.is-map-fullscreen .guardians-map,
	.aegis-place-map-layout__map.is-map-fullscreen #liveability-map,
	.aegis-place-map-layout__map.is-map-fullscreen #liveability-leaflet,
	.aegis-place-map-layout__map.is-map-fullscreen .leaflet-container {
		height: 100%;
		min-height: 100%;
	}
}

/*
 * Soundwalk cards + route map split layout.
 */
main.wp-block-group:has(.aegis-soundwalk-map-page),
main.wp-block-group:has(.wp-block-post-content .aegis-soundwalk-map-page),
main.wp-block-group:has(.aegis-soundwalk-map-layout),
main.wp-block-group:has(.wp-block-post-content .aegis-soundwalk-map-layout) {
	max-width: none;
	padding-inline: 0 !important;
}

.wp-block-post-content:has(.aegis-soundwalk-map-page),
.wp-block-post-content:has(.aegis-soundwalk-map-layout) {
	margin-inline: 0;
	max-width: none;
	padding-inline: 0;
}

.aegis-soundwalk-map-page,
.wp-block-post-content > .aegis-soundwalk-map-layout {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size, 72rem);
	padding-inline: var(--wp--preset--spacing--60);
	width: 100%;
}

.aegis-soundwalk-map-page > .aegis-soundwalk-map-layout {
	margin-inline: 0;
	max-width: none;
	padding-inline: 0;
	width: 100%;
}

.aegis-soundwalk-map-layout {
	align-items: start;
	display: grid;
	gap: var(--wp--preset--spacing--50);
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	width: 100%;
}

.aegis-soundwalk-map-layout__cards,
.aegis-soundwalk-map-layout__map,
.aegis-soundwalk-map-layout__query {
	margin: 0;
	max-width: none;
	padding: 0;
	width: 100%;
}

.aegis-soundwalk-map-layout__cards .wp-block-post-template,
.aegis-soundwalk-map-layout__cards .wp-block-post {
	margin: 0;
	padding: 0;
}

.aegis-soundwalk-map-layout__cards .aegis-soundwalk-card--vertical {
	max-width: none;
	width: 100%;
}

.aegis-soundwalk-map-layout__cards .wp-block-post-template {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.aegis-soundwalk-map-layout__map {
	border-radius: var(--wp--custom--border-radius--small, 8px);
	box-shadow: var(--wp--custom--shadow--card, 0 1px 2px rgba(0, 0, 0, 0.25));
	min-height: 37.5rem;
	overflow: hidden;
	position: sticky;
	top: calc(var(--aegis-header-offset, 4.75rem) + var(--wp--preset--spacing--30));
}

.aegis-soundwalk-map-layout__map .guardians-soundwalk-map,
.aegis-soundwalk-map-layout__map #soundwalk-map,
.aegis-soundwalk-map-layout__map #soundwalk-leaflet,
.aegis-soundwalk-map-layout__map .leaflet-container {
	border-radius: inherit;
	height: 37.5rem;
	min-height: 37.5rem;
	width: 100%;
}

.aegis-soundwalk-card.is-route-highlighted,
.aegis-soundwalk-card.is-route-highlighted:hover,
.aegis-soundwalk-card.is-route-highlighted:focus-within {
	box-shadow:
		0 0 0 3px var(--wp--preset--color--primary, #3e6a67),
		0 8px 24px rgba(0, 0, 0, 0.18);
	transform: translateY(-2px);
}

.aegis-place-card.is-map-highlighted,
.aegis-place-card.is-map-highlighted:hover,
.aegis-place-card.is-map-highlighted:focus-within {
	box-shadow:
		0 0 0 3px var(--wp--preset--color--accent, #f8d877),
		0 8px 24px rgba(0, 0, 0, 0.18);
	transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
	.aegis-soundwalk-card,
	.aegis-place-card {
		transition: box-shadow 0.2s ease;
	}

	.aegis-soundwalk-card:hover,
	.aegis-soundwalk-card:focus-within,
	.aegis-place-card:hover,
	.aegis-place-card:focus-within,
	.aegis-soundwalk-card.is-route-highlighted,
	.aegis-soundwalk-card.is-route-highlighted:hover,
	.aegis-soundwalk-card.is-route-highlighted:focus-within,
	.aegis-place-card.is-map-highlighted,
	.aegis-place-card.is-map-highlighted:hover,
	.aegis-place-card.is-map-highlighted:focus-within {
		transform: none;
	}
}

@media (max-width: 1100px) {
	.aegis-soundwalk-map-layout__cards .wp-block-post-template {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 781px) {
	.aegis-soundwalk-map-layout {
		gap: var(--wp--preset--spacing--40);
		grid-template-areas:
			"map"
			"cards";
		grid-template-columns: minmax(0, 1fr);
	}

	.aegis-soundwalk-map-layout__map {
		grid-area: map;
		min-height: 16.5rem;
		position: relative;
		top: auto;
	}

	.aegis-soundwalk-map-layout__cards {
		grid-area: cards;
	}

	.aegis-soundwalk-map-layout__map .guardians-soundwalk-map,
	.aegis-soundwalk-map-layout__map #soundwalk-map,
	.aegis-soundwalk-map-layout__map #soundwalk-leaflet,
	.aegis-soundwalk-map-layout__map .leaflet-container {
		height: 16.5rem;
		min-height: 16.5rem;
	}

	.aegis-soundwalk-map-layout__map.is-map-fullscreen {
		height: 100dvh;
		min-height: 0;
	}

	.aegis-soundwalk-map-layout__map.is-map-fullscreen .guardians-soundwalk-map,
	.aegis-soundwalk-map-layout__map.is-map-fullscreen #soundwalk-map,
	.aegis-soundwalk-map-layout__map.is-map-fullscreen #soundwalk-leaflet,
	.aegis-soundwalk-map-layout__map.is-map-fullscreen .leaflet-container {
		height: 100%;
		min-height: 100%;
	}
}

@media (max-width: 782px) {
	.aegis-place-card--vertical,
	.aegis-place-card--horizontal {
		box-sizing: border-box;
		max-width: 100%;
		min-width: 0;
	}

	.aegis-place-card--horizontal {
		flex-direction: column;
	}

	.aegis-place-card--horizontal .aegis-place-card__link {
		flex-direction: column;
	}

	.aegis-place-card--horizontal .aegis-place-card__media {
		width: 100%;
		aspect-ratio: 16 / 10;
		min-height: auto;
	}
}

/* Local cards (Figma: Local Vertical + Local Horizontal) */
.aegis-local-card {
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--surface, #ffffff);
	border-radius: var(--wp--custom--border-radius--small, 8px);
	box-shadow: var(--wp--custom--shadow--card-soft, 0 0 5px rgba(0, 0, 0, 0.2));
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.2s ease;
}

.aegis-local-card:hover {
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.25);
}

.aegis-local-card__link {
	color: inherit;
	display: block;
	height: 100%;
	text-decoration: none;
}

.aegis-local-card__link:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary, #3e6a67);
	outline-offset: 2px;
}

.aegis-local-card--horizontal .aegis-local-card__link {
	display: flex;
	flex-direction: row;
	align-items: stretch;
}

.aegis-local-card--vertical .aegis-local-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.aegis-local-card--vertical {
	max-width: 16.875rem; /* 270px */
	width: 100%;
}

.aegis-local-card--horizontal {
	flex-direction: row;
	align-items: stretch;
	max-width: 20.5rem; /* 328px */
	width: 100%;
}

.aegis-local-card__media {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	flex-shrink: 0;
	background: var(--wp--preset--color--section-muted, #e1dede);
	overflow: hidden;
	position: relative;
}

.aegis-local-card--vertical .aegis-local-card__media {
	border-radius: var(--wp--custom--border-radius--small, 8px)
		var(--wp--custom--border-radius--small, 8px) 0 0;
}

.aegis-local-card__media--placeholder {
	min-height: 100%;
}

.aegis-local-card__image {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.aegis-local-card--horizontal .aegis-local-card__media {
	width: 7.5rem; /* 120px */
	aspect-ratio: auto;
	align-self: stretch;
	min-height: 7.5rem;
}

.aegis-local-card__body {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--10, 0.5rem);
	padding: var(--wp--preset--spacing--30, 1rem);
	flex: 1;
	min-width: 0;
}

.aegis-local-card--horizontal .aegis-local-card__body {
	padding: 0.75rem 1rem;
	justify-content: center;
}

.aegis-local-card__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--puritan, 'Puritan', serif);
	font-size: var(--wp--preset--font-size--heading-2, 1.25rem);
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary, #3e6a67);
}

.aegis-local-card__subtitle {
	margin: 0;
	font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif);
	font-size: var(--wp--preset--font-size--body-small, 0.875rem);
	font-weight: 400;
	line-height: 1.7142857143;
	color: var(--wp--preset--color--not-black, #121010);
}

.aegis-local-card__meta {
	display: flex;
	align-items: center;
	min-height: 1.875rem;
}

.aegis-local-card__meta-item {
	align-items: center;
	color: var(--wp--preset--color--not-black, #121010);
	display: inline-flex;
	flex-shrink: 0;
	font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif);
	font-size: var(--wp--preset--font-size--body-small, 0.875rem);
	font-weight: 400;
	gap: 0.3125rem;
	line-height: 1.7142857143;
}

.aegis-local-card__meta-icon {
	align-items: center;
	color: var(--wp--preset--color--primary, #3e6a67);
	display: inline-flex;
	flex-shrink: 0;
	height: 1.5rem;
	justify-content: center;
	width: 1.5rem;
}

.aegis-local-card__meta-icon img,
.aegis-local-card__meta-icon svg {
	display: block;
	height: 1.5rem;
	width: 1.5rem;
}

.aegis-local-card-editor-preview .aegis-local-card__link {
	pointer-events: none;
}

@media (max-width: 782px) {
	.aegis-local-card--vertical,
	.aegis-local-card--horizontal {
		box-sizing: border-box;
		max-width: 100%;
		min-width: 0;
	}

	.aegis-local-card--horizontal {
		flex-direction: column;
	}

	.aegis-local-card--horizontal .aegis-local-card__media {
		width: 100%;
		aspect-ratio: 16 / 10;
		min-height: auto;
	}
}

/* Local detail header — Figma Locals Hero 7028:9919
 * Top clears the fixed navbar, then matches other heroes (cover/minimal).
 * Bottom keeps one section gap; detail rail drops its top padding so the
 * hero→section gap is not doubled. */
.aegis-local-header {
	--aegis-local-header-bg: #e3f2e5;
	background-color: var(--aegis-local-header-bg);
	box-sizing: border-box;
	margin-block-end: 0;
	padding-block-end: var(--aegis-space-section);
	/* Clear the fixed navbar, then one heading-content gap (32px). */
	padding-block-start: calc(
		var(--aegis-header-offset, 4.75rem) + var(--aegis-space-heading-content)
	);
}

.aegis-local-header.alignfull,
.wp-block-custom-database-local-header.alignfull {
	margin-inline: 0;
	max-width: none;
	width: 100%;
}

/* Collapse theme blockGap between local hero and main (same as page-header). */
:where(.wp-site-blocks) > .aegis-local-header + main,
:where(.wp-site-blocks) > .wp-block-custom-database-local-header + main,
.wp-block-post-content:has(> .aegis-local-header.alignfull),
.wp-block-post-content:has(> .wp-block-custom-database-local-header.alignfull),
main.wp-block-group:has(> .aegis-local-header.alignfull),
main.wp-block-group:has(> .wp-block-custom-database-local-header.alignfull) {
	margin-block-start: 0;
	padding-top: 0;
}

:where(.wp-site-blocks) > .aegis-local-header + main .aegis-local-detail.aegis-wide-rail,
:where(.wp-site-blocks) > .wp-block-custom-database-local-header + main .aegis-local-detail.aegis-wide-rail,
.wp-block-post-content > .aegis-local-header + .aegis-local-detail.aegis-wide-rail,
.wp-block-post-content > .wp-block-custom-database-local-header + .aegis-local-detail.aegis-wide-rail,
main.wp-block-group > .aegis-local-header + .aegis-local-detail.aegis-wide-rail,
main.wp-block-group > .wp-block-custom-database-local-header + .aegis-local-detail.aegis-wide-rail {
	padding-block-start: 0;
}

.aegis-local-header__inner {
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-heading-text); /* 16px — Figma 7028:9919 */
}

/* Same eyebrow → title rhythm as Location / Soundwalk heroes. */
.aegis-local-header__eyebrow + .aegis-local-header__title {
	margin-block-start: calc(var(--aegis-space-hero-eyebrow-title) - var(--aegis-space-heading-text));
}

.aegis-local-header__eyebrow {
	margin: 0;
	text-transform: none;
}

.aegis-local-header__title {
	margin: 0;
	text-transform: uppercase;
}

.aegis-local-header__layout {
	align-items: start;
	display: grid;
	gap: var(--aegis-space-stack); /* 64px */
	grid-template-columns: minmax(0, 20.5rem) minmax(0, 1fr);
}

.aegis-local-header__portrait {
	margin: 0;
	max-width: 20.5rem;
	width: 100%;
}

.aegis-local-header__portrait-image {
	border-radius: var(--wp--custom--border-radius--small, 8px);
	display: block;
	height: auto;
	max-height: 36.5rem;
	object-fit: cover;
	width: 100%;
}

.aegis-local-header__content {
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-heading-content); /* 32px */
}

.aegis-local-header__about {
	color: var(--wp--preset--color--not-black, #121010);
	font-family: var(--wp--preset--font-family--inter);
	font-size: var(--wp--preset--font-size--body, 1rem);
	font-weight: 400;
	line-height: 1.5;
	margin: 0;
}

.aegis-local-header__about > :first-child {
	margin-block-start: 0;
}

.aegis-local-header__about > :last-child {
	margin-block-end: 0;
}

.aegis-local-header__connected {
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-heading-tight); /* 8px */
	max-width: 20.5rem;
}

.aegis-local-header__connected-heading {
	font-size: var(--wp--preset--font-size--heading-4, 2rem);
	line-height: 1.25;
	margin: 0;
}

.aegis-local-header__connected-card .aegis-place-card--horizontal,
.aegis-local-header__connected-card .aegis-soundwalk-card--horizontal {
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
	margin-inline: 0;
	max-width: 20.5rem;
}

@media (max-width: 781px) {
	.aegis-local-header__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.aegis-local-header__portrait,
	.aegis-local-header__connected {
		max-width: none;
	}

	.aegis-local-header__connected-card .aegis-place-card--horizontal,
	.aegis-local-header__connected-card .aegis-soundwalk-card--horizontal {
		max-width: none;
		width: 100%;
	}

	.aegis-local-header__connected-card .aegis-place-card--horizontal .aegis-place-card__link,
	.aegis-local-header__connected-card .aegis-soundwalk-card--horizontal .aegis-soundwalk-card__link {
		align-items: stretch;
		flex-direction: row;
		min-height: 0;
	}

	.aegis-local-header__connected-card .aegis-place-card--horizontal .aegis-place-card__media,
	.aegis-local-header__connected-card .aegis-soundwalk-card--horizontal .aegis-soundwalk-card__media {
		aspect-ratio: auto;
		border-radius: var(--wp--custom--border-radius--small, 8px) 0 0 var(--wp--custom--border-radius--small, 8px);
		flex: 0 0 7.5rem;
		max-width: 7.5rem;
		min-height: 7.5rem;
		min-width: 7.5rem;
		width: 7.5rem;
	}
}

/* Local / Place detail sections — Figma 7060:10956 */
.aegis-local-detail > .wp-block-custom-database-local-video,
.aegis-local-detail > .wp-block-custom-database-local-contact,
.aegis-local-detail > .wp-block-custom-database-local-related,
.aegis-place-detail > .wp-block-custom-database-place-video,
.aegis-place-detail > .wp-block-custom-database-place-contact,
.aegis-place-detail > .wp-block-custom-database-place-related {
	margin-block: 0;
}

.aegis-local-video,
.aegis-place-video {
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-heading-tight); /* Figma 7060:10956 — 8px */
}

.aegis-local-contact,
.aegis-place-contact {
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-heading-text); /* Figma — 16px */
}

.aegis-local-video__heading,
.aegis-local-contact__heading,
.aegis-place-video__heading,
.aegis-place-contact__heading {
	font-size: var(--wp--preset--font-size--heading-3, 1.5rem);
	line-height: 1.3333333333;
	margin: 0;
	padding-block: 0.75rem 0; /* Figma pt 12px on video/contact headings */
}

.aegis-local-video__heading,
.aegis-local-contact__heading,
.aegis-place-contact__heading {
	text-transform: uppercase;
}

.aegis-local-contact__layout,
.aegis-place-contact__layout {
	gap: var(--wp--preset--spacing--40, 1.5rem);
}

.aegis-local-contact__list,
.aegis-place-contact__list {
	gap: var(--wp--preset--spacing--30, 1rem);
}

.aegis-local-contact__item,
.aegis-place-contact__item {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.aegis-local-contact__label,
.aegis-place-contact__label {
	color: var(--wp--preset--color--not-black, #121010);
	font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif);
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1.3333333333;
	margin: 0;
}

.aegis-local-contact__value,
.aegis-place-contact__value {
	align-items: center;
	color: var(--wp--preset--color--primary, #3e6a67);
	display: flex;
	font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif);
	font-size: var(--wp--preset--font-size--body-small, 0.875rem);
	font-weight: 700;
	gap: 0.25rem;
	line-height: 1.7142857143;
	margin: 0;
	padding-block-start: 0;
}

.aegis-local-contact__link,
.aegis-place-contact__link {
	color: var(--wp--preset--color--primary, #3e6a67);
	font-weight: 700;
}

.aegis-local-contact__link:hover,
.aegis-local-contact__link:focus-visible,
.aegis-place-contact__link:hover,
.aegis-place-contact__link:focus-visible {
	color: var(--wp--preset--color--primary, #3e6a67);
	text-decoration: underline;
}

.aegis-local-contact__icon,
.aegis-place-contact__icon {
	align-items: center;
	color: var(--wp--preset--color--primary, #3e6a67);
	display: inline-flex;
	flex-shrink: 0;
	height: 24px;
	justify-content: center;
	line-height: 0;
	width: 24px;
}

.aegis-local-contact__icon img,
.aegis-local-contact__icon svg,
.aegis-place-contact__icon img,
.aegis-place-contact__icon svg {
	display: block;
	flex-shrink: 0;
	height: 24px;
	shape-rendering: geometricPrecision;
	width: 24px;
}

.aegis-local-contact__link .aegis-place-contact__icon,
.aegis-place-contact__link .aegis-place-contact__icon {
	align-items: center;
	color: var(--wp--preset--color--primary, #3e6a67);
	display: inline-flex;
	flex-shrink: 0;
	height: 24px;
	justify-content: center;
	line-height: 0;
	width: 24px;
}

.aegis-local-contact__link .aegis-place-contact__icon img,
.aegis-place-contact__link .aegis-place-contact__icon img,
.aegis-local-contact__link .aegis-place-contact__icon svg,
.aegis-place-contact__link .aegis-place-contact__icon svg {
	display: block;
	flex-shrink: 0;
	height: 24px;
	shape-rendering: geometricPrecision;
	width: 24px;
}

.aegis-local-related,
.aegis-place-related {
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-related); /* Figma 30px */
}

.aegis-local-related__heading {
	font-size: var(--wp--preset--font-size--heading-4, 2rem);
	line-height: 1.25;
	margin: 0;
	padding-block-start: 0;
	text-transform: capitalize;
}

.aegis-local-related__header {
	margin: 0;
}

.aegis-local-related__track {
	margin-block-start: 0;
}

.aegis-local-related__controls {
	gap: var(--wp--preset--spacing--30, 1rem);
}

.aegis-local-related__nav {
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--wp--preset--color--primary, #3e6a67);
	height: 1.75rem;
	line-height: 0;
	width: 1.75rem;
}

.aegis-local-related__nav:hover,
.aegis-local-related__nav:focus-visible {
	background: transparent;
	color: var(--wp--preset--color--primary, #3e6a67);
	opacity: 0.72;
}

.aegis-local-related__cards {
	gap: var(--wp--preset--spacing--40, 1.5rem);
}

.aegis-local-related__cards .aegis-local-card {
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
	max-width: 16.875rem;
	min-width: 16.875rem;
}

.aegis-place-related__cards .aegis-place-card {
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
	flex: 0 0 auto;
	max-width: 16.875rem;
	min-width: 16.875rem;
	scroll-snap-align: start;
}

.aegis-place-related__cards .aegis-place-card--vertical .aegis-place-card__link {
	height: auto;
}

@media (min-width: 782px) {
	.aegis-local-contact__layout {
		align-items: stretch;
	}

	.aegis-local-contact__map,
	.aegis-local-contact__list {
		flex: 1 1 0;
		max-width: none;
		min-width: 0;
	}

	.aegis-local-contact__map {
		min-height: 18rem;
	}

	.aegis-local-contact__map iframe,
	.aegis-local-contact__map .guardians-map,
	.aegis-local-contact__map #liveability-leaflet,
	.aegis-local-contact__map .leaflet-container {
		min-height: 18rem;
	}
}

.aegis-map-placeholder {
	aspect-ratio: 1;
	border-radius: var(--wp--custom--border-radius--medium, 20px);
	background-color: var(--wp--preset--color--section-muted);
	min-height: 20rem;
}

/* Page header */
.aegis-page-header {
	margin-block-end: 0;
}

.wp-block-post-content:has(> .wp-block-aegis-page-header.alignfull),
.wp-block-post-content:has(> .aegis-page-header.alignfull),
main.wp-block-group:has(> .wp-block-aegis-page-header.alignfull),
main.wp-block-group:has(> .aegis-page-header.alignfull) {
	margin-block-start: 0;
	margin-inline: 0;
	max-width: none;
	padding-block-start: 0;
	padding-inline: 0;
	width: 100%;
}

.wp-block-post-content > .wp-block-aegis-page-header.alignfull:first-child,
.wp-block-post-content > .aegis-page-header.alignfull:first-child,
main.wp-block-group > .wp-block-aegis-page-header.alignfull:first-child,
main.wp-block-group > .aegis-page-header.alignfull:first-child {
	margin-block-start: calc(-1 * var(--aegis-header-offset, 4.75rem));
}

.wp-block-aegis-page-header.alignfull,
.aegis-page-header.alignfull {
	margin-inline: 0;
	max-width: none;
	width: 100%;
}

.aegis-page-header__cover {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	box-sizing: border-box;
	min-height: 42.5rem;
	overflow: hidden;
	padding-block-start: var(--aegis-header-offset, 4.75rem);
	position: relative;
}

.aegis-page-header__media {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 100%;
	inset: 0;
	pointer-events: none;
	position: absolute;
	transform-origin: center center;
	width: 100%;
	z-index: 0;
}

.aegis-page-header__cover.has-rotated-image .aegis-page-header__media {
	inset: -50%;
}

.aegis-page-header__cover .wp-block-cover__image-background,
.aegis-page-header__cover .wp-block-cover__background {
	object-position: center;
}

.aegis-page-header__cover::before {
	background: linear-gradient(
		90deg,
		rgba(0, 0, 0, 0.7) 33.173%,
		rgba(0, 0, 0, 0) 65.385%
	);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.aegis-page-header__cover .wp-block-cover__inner-container {
	max-width: none;
	padding: 0;
	position: relative;
	width: 100%;
	z-index: 2;
}

.aegis-page-header__inner {
	position: relative;
	width: 100%;
	z-index: 2;
}

.aegis-page-header__content {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--40);
	/* Figma Hero Container: max-w 564px / min-w 328px (6721:5881) */
	max-width: 35.25rem;
	min-width: min(100%, 20.5rem);
	padding-block: var(--wp--preset--spacing--80) var(--wp--preset--spacing--60);
	position: relative;
	width: 100%;
	z-index: 2;
}

.aegis-page-header__content--minimal {
	gap: var(--aegis-space-heading-text);
	max-width: var(--wp--style--global--content-size, 720px);
	padding-block: 0;
}

/* Shared eyebrow → title gap for Location / Soundwalk / Local heroes (12px). */
.aegis-page-header__content > .aegis-page-header__eyebrow + .aegis-page-header__title {
	margin-block-start: calc(var(--aegis-space-hero-eyebrow-title) - var(--wp--preset--spacing--40));
}

.aegis-page-header__content--minimal > .aegis-page-header__eyebrow + .aegis-page-header__title {
	margin-block-start: calc(var(--aegis-space-hero-eyebrow-title) - var(--aegis-space-heading-text));
}

.aegis-page-header__eyebrow {
	margin: 0;
}

.aegis-page-header__cover .aegis-page-header__eyebrow,
.aegis-page-header__cover .aegis-page-header__eyebrow.block-editor-rich-text__editable {
	color: var(--wp--preset--color--jasmine, #f8d877);
}

.aegis-page-header__cover .aegis-page-header__title,
.aegis-page-header__cover .aegis-page-header__title.block-editor-rich-text__editable,
.aegis-page-header__cover .aegis-page-header__intro,
.aegis-page-header__cover .aegis-page-header__intro.block-editor-rich-text__editable {
	color: var(--wp--preset--color--surface);
}

.aegis-page-header .wp-block-post-terms.aegis-page-header__eyebrow {
	gap: 0;
}

.aegis-page-header .wp-block-post-terms.aegis-page-header__eyebrow:not(:has(a)) {
	display: none;
}

.aegis-page-header .wp-block-post-terms.aegis-page-header__eyebrow a {
	color: inherit;
	pointer-events: none;
	text-decoration: none;
}

.aegis-page-header__title {
	margin: 0;
}

.aegis-page-header__intro {
	margin: 0;
}

.aegis-page-header__intro p {
	margin: 0;
}

/* Figma Body/B3 — Inter Regular 16/24, letter-spacing 0. */
.aegis-page-header__intro,
.aegis-page-header__intro p,
.aegis-page-header__intro.block-editor-rich-text__editable,
.aegis-hero-band p:not(.has-eyebrow-font-size):not(.has-puritan-font-family),
.aegis-local-header__about,
.aegis-local-header__about p {
	font-family: var(--wp--preset--font-family--inter);
	font-size: var(--wp--preset--font-size--body, 1rem);
	font-style: normal;
	font-synthesis: none;
	font-weight: 400 !important;
	letter-spacing: 0;
	line-height: 1.5;
}

.aegis-page-header__intro strong,
.aegis-page-header__intro b,
.aegis-local-header__about strong,
.aegis-local-header__about b,
.aegis-hero-band p:not(.has-eyebrow-font-size) strong,
.aegis-hero-band p:not(.has-eyebrow-font-size) b {
	font-weight: 400 !important;
}

.aegis-page-header__cover .aegis-page-header__intro,
.aegis-page-header__cover .aegis-page-header__intro p,
.aegis-page-header__cover .aegis-page-header__intro.block-editor-rich-text__editable,
.aegis-hero-band .wp-block-cover p:not(.has-eyebrow-font-size):not(.has-puritan-font-family) {
	color: var(--wp--preset--color--surface, #ffffff);
}

.aegis-page-header--minimal .aegis-page-header__intro,
.aegis-page-header--minimal .aegis-page-header__intro p {
	color: var(--wp--preset--color--text, #2d2a29);
}

.aegis-page-header__intro p + p {
	margin-block-start: 1.5rem; /* Figma blank line between Body/B3 paragraphs */
}

.aegis-page-header .wp-block-post-excerpt:has(.wp-block-post-excerpt__excerpt:empty) {
	display: none;
}

.aegis-page-header .wp-block-post-excerpt .wp-block-post-excerpt__excerpt:empty {
	display: none;
}

.aegis-page-header__actions {
	align-self: flex-start;
	display: none;
	gap: var(--wp--preset--spacing--30);
	margin: 0;
	width: auto;
}

.aegis-page-header__actions:has(.aegis-page-header__cta),
.aegis-page-header__actions:has(.wp-block-button__link:not(:empty)) {
	display: flex;
}

.aegis-page-header__cta {
	background-color: var(--wp--preset--color--jasmine, #f8d877);
	border-radius: var(--wp--custom--border-radius--small, 8px);
	box-shadow: var(--wp--custom--shadow--button, 0 1px 2px rgba(0, 0, 0, 0.25));
	color: var(--wp--preset--color--not-black, #121010);
	display: inline-flex;
	font-family: var(--wp--preset--font-family--puritan);
	font-size: var(--wp--preset--font-size--heading-2);
	font-weight: 700;
	justify-content: center;
	line-height: 1.2;
	min-height: 2.5rem;
	padding: 0.5rem 0.75rem;
	text-decoration: none;
	text-transform: uppercase;
	width: auto;
}

.aegis-page-header--cover-soundwalk .aegis-page-header__cover::before {
	background: linear-gradient(
		90deg,
		rgba(0, 0, 0, 0.7) 45%,
		rgba(0, 0, 0, 0) 55%
	);
}

.aegis-page-header--cover-soundwalk .aegis-page-header__cover .aegis-page-header__eyebrow,
.aegis-page-header--cover-soundwalk .aegis-page-header__cover .aegis-page-header__eyebrow.block-editor-rich-text__editable,
.aegis-page-header--cover-soundwalk .aegis-page-header__heading-group .aegis-page-header__eyebrow {
	color: var(--wp--preset--color--jasmine, #f8d877);
	font-weight: 700;
	line-height: 1.25; /* Heading/h7 — 16/20 */
	text-transform: none;
}

.aegis-page-header--cover-soundwalk .aegis-page-header__title {
	color: var(--wp--preset--color--surface, #ffffff);
	line-height: 1.2; /* Heading/H3 — 40/48 */
}

.aegis-page-header--cover-soundwalk .aegis-page-header__content {
	gap: var(--aegis-space-heading-text);
	max-width: 23rem; /* 368px — Figma Soundwalk Hero Container */
	padding-block: var(--wp--preset--spacing--80) var(--wp--preset--spacing--60);
}

.aegis-page-header--cover-soundwalk .aegis-page-header__heading-group {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
}

.aegis-page-header--cover-soundwalk .aegis-page-header__meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.aegis-page-header--cover-soundwalk .aegis-page-header__meta-item {
	align-items: center;
	color: var(--wp--preset--color--surface, #ffffff);
	display: inline-flex;
	font-family: var(--wp--preset--font-family--inter);
	font-size: var(--wp--preset--font-size--body);
	font-weight: 400;
	gap: 0.25rem; /* 4px icon → label */
	line-height: 1.5; /* Body/B3 — 16/24 */
}

.aegis-page-header--cover-soundwalk .aegis-page-header__meta-label {
	color: var(--wp--preset--color--surface, #ffffff);
	font-weight: 400;
}

.aegis-page-header--cover-soundwalk .aegis-page-header__meta-icon {
	align-items: center;
	display: inline-flex;
	filter: drop-shadow(0 1px 0.5px rgba(0, 0, 0, 0.25));
	flex-shrink: 0;
	height: 1.5rem;
	justify-content: center;
	overflow: hidden;
	width: 1.5rem;
}

.aegis-page-header--cover-soundwalk .aegis-page-header__meta-icon img,
.aegis-page-header--cover-soundwalk .aegis-page-header__meta-icon svg {
	display: block;
	height: 1.5rem;
	width: 1.5rem;
}

.aegis-page-header--cover-soundwalk .aegis-page-header__audio {
	margin: 0;
	width: 100%;
}

.aegis-page-header--cover-soundwalk .aegis-soundwalk-audio {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
}

.aegis-page-header--cover-soundwalk .aegis-soundwalk-audio__label {
	color: var(--wp--preset--color--jasmine, #f8d877);
	font-weight: 700;
	line-height: 1.25; /* Heading/h7 — 16/20 */
	margin: 0;
	text-transform: none;
}

.aegis-page-header--cover-soundwalk .aegis-soundwalk-audio__player {
	align-items: center;
	display: flex;
	filter: drop-shadow(0 1px 0.5px rgba(0, 0, 0, 0.25));
	gap: 2.3125rem;
	margin-block-start: 0;
	width: 100%;
}

.aegis-page-header--cover-soundwalk .aegis-soundwalk-audio__waveform {
	cursor: pointer;
	flex: 1 1 auto;
	height: 3.4375rem;
	min-width: 0;
	overflow: hidden;
	position: relative;
	touch-action: manipulation;
}

.aegis-page-header--cover-soundwalk .aegis-soundwalk-audio__waveform:focus-visible {
	outline: 2px solid var(--wp--preset--color--jasmine, #f8d877);
	outline-offset: 2px;
}

.aegis-page-header--cover-soundwalk .aegis-soundwalk-audio__waveform-canvas {
	display: block;
	height: 100%;
	width: 100%;
}

.aegis-page-header--cover-soundwalk .aegis-soundwalk-audio__waveform--static img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scaleY(-1);
	width: 100%;
}

.aegis-page-header--cover-soundwalk .aegis-soundwalk-audio__toggle {
	align-items: center;
	background: var(--wp--preset--color--primary, #3e6a67);
	border: 0;
	border-radius: 999px;
	box-shadow: 0 2px 1px rgba(0, 0, 0, 0.25);
	cursor: pointer;
	display: inline-flex;
	flex-shrink: 0;
	height: 3.4375rem;
	justify-content: center;
	padding: 0;
	position: relative;
	width: 3.4375rem;
}

.aegis-page-header--cover-soundwalk .aegis-soundwalk-audio__toggle:focus-visible {
	outline: 2px solid var(--wp--preset--color--jasmine, #f8d877);
	outline-offset: 2px;
}

.aegis-page-header--cover-soundwalk .aegis-soundwalk-audio__toggle-icon {
	display: block;
}

.aegis-page-header--cover-soundwalk .aegis-soundwalk-audio__toggle-icon--play {
	border-color: transparent transparent transparent var(--wp--preset--color--surface, #ffffff);
	border-style: solid;
	border-width: 0.55rem 0 0.55rem 0.9rem;
	height: 0;
	margin-left: 0.2rem;
	width: 0;
}

.aegis-page-header--cover-soundwalk .aegis-soundwalk-audio__toggle-icon--pause {
	display: none;
	height: 1.1rem;
	position: relative;
	width: 0.95rem;
}

.aegis-page-header--cover-soundwalk .aegis-soundwalk-audio__toggle-icon--pause::before,
.aegis-page-header--cover-soundwalk .aegis-soundwalk-audio__toggle-icon--pause::after {
	background: var(--wp--preset--color--surface, #ffffff);
	border-radius: 1px;
	content: "";
	height: 100%;
	position: absolute;
	top: 0;
	width: 0.3rem;
}

.aegis-page-header--cover-soundwalk .aegis-soundwalk-audio__toggle-icon--pause::before {
	left: 0;
}

.aegis-page-header--cover-soundwalk .aegis-soundwalk-audio__toggle-icon--pause::after {
	right: 0;
}

.aegis-page-header--cover-soundwalk .aegis-soundwalk-audio.is-playing .aegis-soundwalk-audio__toggle-icon--play {
	display: none;
}

.aegis-page-header--cover-soundwalk .aegis-soundwalk-audio.is-playing .aegis-soundwalk-audio__toggle-icon--pause {
	display: block;
}

.aegis-page-header--cover-soundwalk .aegis-soundwalk-audio__native,
.aegis-page-header--cover-soundwalk .aegis-soundwalk-audio__youtube-host {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.aegis-page-header--cover-soundwalk .aegis-soundwalk-audio__fallback-link {
	color: var(--wp--preset--color--surface, #ffffff);
	font-weight: 700;
}

.aegis-page-header--cover-soundwalk .aegis-page-header__actions {
	margin-block-start: 0;
}

.aegis-page-header--cover-soundwalk .aegis-page-header__cta {
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
	color: var(--wp--preset--color--not-black, #121010);
	width: auto;
}

.aegis-page-header--minimal {
	box-sizing: border-box;
	padding-block-end: var(--wp--preset--spacing--60);
	/* Clear the fixed navbar, then add section spacing. */
	padding-block-start: calc(
		var(--aegis-header-offset, 4.75rem) + var(--wp--preset--spacing--60)
	);
}

.aegis-page-header.is-editor-preview .aegis-page-header__editor-placeholder {
	border: 1px dashed var(--aegis-border-color);
	padding: var(--wp--preset--spacing--40);
}

.aegis-page-header.is-editor-preview .aegis-page-header__editor-placeholder .description {
	color: var(--wp--preset--color--muted);
	margin-block: var(--wp--preset--spacing--20) 0 0;
}

.aegis-page-header__cover .aegis-page-header__image-controls {
	inset-block-start: var(--wp--preset--spacing--30);
	inset-inline-end: var(--wp--preset--spacing--30);
	opacity: 0;
	position: absolute;
	transition: opacity 0.15s ease;
	z-index: 3;
}

.aegis-page-header__cover:hover .aegis-page-header__image-controls,
.aegis-page-header__cover:focus-within .aegis-page-header__image-controls,
.is-selected .aegis-page-header__cover .aegis-page-header__image-controls {
	opacity: 1;
}

.aegis-page-header__image-picker {
	backdrop-filter: blur(4px);
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid var(--aegis-border-color);
	border-radius: var(--wp--custom--border-radius--small, 8px);
	color: var(--wp--preset--color--primary);
	cursor: pointer;
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 700;
	padding: 0.5rem 0.75rem;
}

.aegis-page-header__content .block-editor-rich-text__editable {
	margin: 0;
	position: relative;
	z-index: 2;
}

.aegis-page-header__content .block-editor-rich-text__editable[data-empty="true"]::before {
	opacity: 0.72;
}

.aegis-page-header__actions .wp-block-button {
	width: auto;
}

.aegis-page-header__actions .wp-block-button__link {
	box-shadow: var(--wp--custom--shadow--button, 0 1px 4px rgba(0, 0, 0, 0.25));
	min-height: 2.5rem;
	text-transform: uppercase;
	width: auto;
}

.aegis-page-header--minimal .aegis-page-header__title {
	color: var(--wp--preset--color--foreground);
}

.aegis-page-header--minimal .aegis-page-header__intro {
	color: var(--wp--preset--color--text);
}

.aegis-page-header__cover:not(.has-background-dim):not(.has-background) {
	background-color: var(--wp--preset--color--primary);
}

@media (max-width: 781px) {
	.aegis-page-header__cover {
		height: auto;
		min-height: 0;
		padding-block-start: calc(
			var(--aegis-header-offset, 4.75rem) + var(--wp--preset--spacing--45)
		);
	}

	.aegis-page-header__content,
	.aegis-page-header--cover-soundwalk .aegis-page-header__content {
		max-width: none;
		padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--45);
	}

	.aegis-page-header__cover::before {
		background: linear-gradient(
			180deg,
			rgba(0, 0, 0, 0.72) 0%,
			rgba(0, 0, 0, 0.35) 100%
		);
	}
}

.aegis-hero-band .wp-block-button__link {
	box-shadow: var(--wp--custom--shadow--button, 0 1px 4px rgba(0, 0, 0, 0.25));
}

/* Eyebrow paragraph → display heading: same hero rhythm (12px). */
.aegis-hero-band .has-eyebrow-font-size + .wp-block-heading {
	margin-block-start: calc(var(--aegis-space-hero-eyebrow-title) - var(--wp--preset--spacing--40));
}

.aegis-hero-band .wp-block-cover__inner-container {
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--60);
}

.aegis-hero-band .wp-block-cover {
	border-radius: 0;
}

/* Header — Figma NavigationPrimary: px 64px, py 16px (Stormy Teal background) */
.aegis-header {
	padding-block: var(--aegis-header-pad-block);
	padding-inline: var(--aegis-header-pad-inline);
}

/* Sticky navbar — fixed to viewport, hides on scroll down, returns on scroll up. */
header.wp-block-template-part:has(.aegis-header) {
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	transform: translate3d(0, 0, 0);
	transition: transform 0.28s ease;
	will-change: transform;
	z-index: var(--aegis-header-z-index, 1100);
}

header.wp-block-template-part:has(.aegis-header).is-header-hidden {
	transform: translate3d(0, -100%, 0);
}

@media (prefers-reduced-motion: reduce) {
	header.wp-block-template-part:has(.aegis-header) {
		transition: none;
	}
}

body:has(.aegis-header):not(:has(.aegis-parallax-hero)):not(
		:has(.aegis-page-header.alignfull, .wp-block-aegis-page-header.alignfull)
	):not(
		:has(.aegis-local-header, .wp-block-custom-database-local-header)
	)
	.wp-site-blocks
	> main {
	padding-top: var(--aegis-header-offset);
}

body:has(.aegis-parallax-hero) main.wp-block-group {
	max-width: none;
	padding-inline: 0;
	padding-top: 0;
	width: 100%;
}

body:has(.aegis-parallax-hero) .wp-block-post-content {
	max-width: none;
	padding-inline: 0;
	width: 100%;
}

header.wp-block-template-part:has(.aegis-header.is-style-header-dark) {
	background-color: var(--wp--preset--color--primary);
	margin-block-end: 0;
}

header.wp-block-template-part:has(.aegis-header.is-style-header-light) {
	background-color: var(--wp--preset--color--background);
	margin-block-end: 0;
}

/*
 * Collapse root block gap between navbar and the next section.
 * theme.json blockGap becomes margin-block-start on .wp-site-blocks > * + *
 * (see wp-includes/class-wp-theme-json.php).
 */
:where(.wp-site-blocks) > header.wp-block-template-part:has(.aegis-header) + * {
	margin-block-start: 0;
}

/* Pull cover headers under the fixed navbar (template parts + CPT templates).
 * Minimal headers stay below the navbar — do not pull them up. */
:where(.wp-site-blocks)
	> header.wp-block-template-part:has(.aegis-header)
	+ .wp-block-template-part:has(.aegis-page-header.alignfull:not(.aegis-page-header--minimal)),
:where(.wp-site-blocks)
	> header.wp-block-template-part:has(.aegis-header)
	+ .wp-block-template-part:has(.wp-block-aegis-page-header.alignfull:not(.aegis-page-header--minimal)),
:where(.wp-site-blocks)
	> header.wp-block-template-part:has(.aegis-header)
	+ .aegis-page-header.alignfull:not(.aegis-page-header--minimal),
:where(.wp-site-blocks)
	> header.wp-block-template-part:has(.aegis-header)
	+ .wp-block-aegis-page-header.alignfull:not(.aegis-page-header--minimal),
:where(.wp-site-blocks)
	> header.wp-block-template-part:has(.aegis-header)
	+ main
	> .aegis-page-header.alignfull:not(.aegis-page-header--minimal):first-child,
:where(.wp-site-blocks)
	> header.wp-block-template-part:has(.aegis-header)
	+ main
	> .wp-block-aegis-page-header.alignfull:not(.aegis-page-header--minimal):first-child {
	margin-block-start: calc(-1 * var(--aegis-header-offset, 4.75rem));
}

/* Source pages — title below fixed navbar (spacing-45 = half of former spacing-60). */
.aegis-source-page__header,
body.page-template-page-source .aegis-source-page__header {
	background: transparent;
	box-sizing: border-box;
	margin-block-start: 0;
	padding-block-end: var(--wp--preset--spacing--45);
	padding-block-start: calc(
		var(--aegis-header-offset, 4.75rem) + var(--wp--preset--spacing--45)
	);
	width: 100%;
}

.aegis-source-page__header.alignfull,
body.page-template-page-source .aegis-source-page__header.alignfull {
	margin-inline: calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}

.aegis-source-page__title,
.aegis-source-page__header .wp-block-post-title,
.aegis-source-page__header .wp-block-heading,
body.page-template-page-source .aegis-source-page__title,
body.page-template-page-source .aegis-source-page__header .wp-block-post-title {
	color: var(--wp--preset--color--not-black, #121010);
	font-family: var(--wp--preset--font-family--puritan);
	font-size: var(--wp--preset--font-size--display, 2.5rem);
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
	max-width: var(--wp--style--global--content-size, 720px);
	text-transform: uppercase;
}

body.page-template-page-source .wp-site-blocks > main.aegis-source-page {
	padding-block-start: 0;
}

:where(.wp-site-blocks) > .aegis-page-header.alignfull + main,
:where(.wp-site-blocks) > .wp-block-aegis-page-header.alignfull + main,
:where(.wp-site-blocks)
	> .wp-block-template-part:has(.aegis-page-header.alignfull)
	+ main {
	margin-block-start: 0;
}

.aegis-header.is-style-header-dark {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--surface);
}

.aegis-header.is-style-header-light {
	background-color: var(--wp--preset--color--background);
	color: var(--wp--preset--color--foreground);
}

.aegis-header__inner,
.aegis-header__brand-nav,
.aegis-header__tools,
.aegis-header__utilities {
	align-items: center;
	display: flex;
}

.aegis-header__inner {
	gap: var(--aegis-header-cluster-gap);
	justify-content: space-between;
	width: 100%;
}

.aegis-header__brand-nav {
	flex: 1 1 auto;
	gap: var(--aegis-header-cluster-gap);
	min-width: 0;
}

.aegis-header__tools {
	flex: 0 0 auto;
	gap: var(--aegis-header-tool-gap);
	position: relative;
}

/* Divider after About, before language/search (Figma NavigationPrimary). */
.aegis-header__tools::before {
	background-color: currentColor;
	content: "";
	flex-shrink: 0;
	height: 1.5625rem;
	width: 2px;
}

.aegis-header__utilities {
	flex: 0 0 auto;
	gap: var(--aegis-header-tool-gap);
	justify-content: flex-end;
}

.aegis-header .wp-block-site-logo {
	flex-shrink: 0;
	line-height: 0;
}

.aegis-header .wp-block-site-logo a {
	display: inline-flex;
}

.aegis-header .wp-block-site-logo img {
	display: block;
	height: auto;
	max-height: 2.5rem;
	width: auto;
	max-width: 8.875rem;
}

.aegis-header.is-style-header-dark .wp-block-site-logo img {
	filter: brightness(0) invert(1);
}

/* Target the <nav> only — WP also puts .wp-block-navigation on the inner <ul>. */
.aegis-header nav.wp-block-navigation {
	align-items: center;
	display: flex;
	flex: 0 1 auto;
	flex-direction: row;
	min-width: 0;
}

.aegis-header .wp-block-navigation__container {
	align-items: center;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	/* Figma NavigationPrimary: 32px between logo/links/dividers/tools. */
	gap: var(--aegis-header-item-gap);
	list-style: none;
	margin: 0;
	padding: 0;
}

.aegis-header .wp-block-navigation .wp-block-navigation-item {
	align-items: center;
	display: flex;
}

.aegis-header .wp-block-navigation .wp-block-navigation-item__content {
	color: inherit;
	font-family: var(--wp--preset--font-family--puritan);
	font-size: var(--wp--preset--font-size--heading-2);
	font-weight: 700;
	line-height: 1.2;
	min-height: 1.5rem;
	padding-block: 0;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.aegis-header .wp-block-navigation .wp-block-navigation-item__content:hover,
.aegis-header .wp-block-navigation .wp-block-navigation-item__content:focus-visible {
	opacity: 0.85;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

/*
 * Figma NavigationPrimary (EL): Puritan Bold 20/24, capitalize.
 * Puritan has no Greek glyphs, so Inter Bold paints the Greek and
 * Puritan still covers any Latin in the same label (e.g. Soundwalks).
 */
html[lang="el"] .aegis-header .wp-block-navigation,
html[lang="el"] .aegis-header .wp-block-navigation .wp-block-navigation-item__content,
html[lang="el"] .aegis-header__mobile-menu-body .wp-block-navigation-item__content {
	font-family: "Puritan", "Inter", sans-serif !important;
	font-size: var(--wp--preset--font-size--heading-2);
	font-weight: 700;
	line-height: 1.5rem;
	text-transform: capitalize !important;
}

.aegis-header .wp-block-navigation .wp-block-navigation-item + .wp-block-navigation-item {
	border-inline-start: 0;
	/* Divider is a flex child; 32px gap on each side matches Figma. */
	gap: var(--aegis-header-item-gap);
	margin-inline-start: 0;
	padding-inline-start: 0;
}

.aegis-header .wp-block-navigation .wp-block-navigation-item + .wp-block-navigation-item::before {
	background-color: currentColor;
	content: "";
	flex-shrink: 0;
	height: 1.5625rem;
	width: 2px;
}

.aegis-header__language {
	flex-shrink: 0;
	height: 1.5rem;
	position: relative;
	width: 1.5rem;
}

.aegis-header__language::before {
	background: center / contain no-repeat;
	content: "";
	height: 1.5rem;
	inset: 0;
	pointer-events: none;
	position: absolute;
	width: 1.5rem;
}

.aegis-header.is-style-header-dark .aegis-header__language::before {
	background-image: url(assets/icons/language-dark.svg);
}

.aegis-header.is-style-header-light .aegis-header__language::before {
	background-image: url(assets/icons/language-light.svg);
}

.aegis-header__language .wp-block-polylang-language-switcher {
	height: 1.5rem;
	margin: 0;
	width: 1.5rem;
}

.aegis-header__language .wp-block-polylang-language-switcher select {
	appearance: none;
	background: transparent;
	border: 0;
	color: transparent;
	cursor: pointer;
	height: 1.5rem;
	inset: 0;
	margin: 0;
	opacity: 0;
	padding: 0;
	position: absolute;
	width: 1.5rem;
}

.aegis-header__language .wp-block-polylang-language-switcher select:focus-visible {
	opacity: 1;
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.aegis-header__language .wp-block-polylang-language-switcher ul {
	display: none;
}

.aegis-header__search {
	flex-shrink: 0;
	height: 1.5rem;
	position: relative;
	width: 1.5rem;
}

.aegis-header__search-toggle {
	display: none;
}

.aegis-header__search-trigger {
	background: center / 0.875rem no-repeat;
	border: 0;
	cursor: pointer;
	display: block;
	height: 1.5rem;
	margin: 0;
	padding: 0;
	width: 1.5rem;
}

.aegis-header.is-style-header-dark .aegis-header__search-trigger {
	background-image: url(assets/icons/search-dark.svg);
}

.aegis-header.is-style-header-light .aegis-header__search-trigger {
	background-image: url(assets/icons/search-light.svg);
}

.aegis-header__search-trigger:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.aegis-header__search:not(:has(.aegis-header__search-toggle:checked)) .aegis-header__search-panel {
	display: none;
}

.aegis-header__search-panel {
	background-color: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--border-radius--small, 8px);
	box-shadow: var(--wp--custom--shadow--card, 0 1px 2px rgba(0, 0, 0, 0.25));
	color: var(--wp--preset--color--text);
	margin-top: var(--wp--preset--spacing--10);
	min-width: min(18rem, calc(100vw - 2rem));
	padding: var(--wp--preset--spacing--10);
	position: absolute;
	right: 0;
	top: calc(100% + var(--wp--preset--spacing--10));
	z-index: 100;
}

.aegis-header__search-panel .wp-block-search__inside-wrapper {
	border-color: color-mix(in srgb, var(--wp--preset--color--text) 20%, transparent);
}

.aegis-header__search-panel .wp-block-search__input:focus-visible,
.aegis-header__search-panel .wp-block-search__button:focus-visible {
	outline: 2px solid var(--wp--preset--color--brand);
	outline-offset: 2px;
}

.aegis-header__cta {
	flex-shrink: 0;
}

.aegis-header__cta .wp-block-button,
.aegis-soundwalk-cta__actions .wp-block-button {
	margin: 0;
}

/* Shared filled CTA — navbar + soundwalk app CTA */
.aegis-header__cta .wp-block-button__link,
.aegis-soundwalk-cta__actions .wp-block-button__link {
	align-items: center;
	border-radius: var(--wp--custom--border-radius--small, 8px);
	box-shadow: var(--wp--custom--shadow--card, 0 1px 2px rgba(0, 0, 0, 0.25));
	display: inline-flex;
	font-family: var(--wp--preset--font-family--puritan);
	font-size: var(--wp--preset--font-size--heading-2);
	font-weight: 700;
	line-height: 1.2;
	min-height: 2.75rem;
	padding-block: var(--wp--preset--spacing--10);
	padding-inline: var(--wp--preset--spacing--20);
	text-transform: uppercase;
	white-space: nowrap;
}

html[lang="el"] .aegis-header__cta .wp-block-button__link,
html[lang="el"] .aegis-header__mobile-menu-body .aegis-header__cta .wp-block-button__link {
	font-family: "Puritan", "Inter", sans-serif !important;
	font-size: var(--wp--preset--font-size--heading-2);
	font-weight: 700;
	line-height: 1.5rem;
	text-transform: capitalize !important;
}

.aegis-header__mobile-toggle,
.aegis-header__mobile-menu {
	display: none;
}

.aegis-header__mobile-toggle {
	appearance: none;
	background-color: transparent;
	border: 0;
	cursor: pointer;
	flex-shrink: 0;
	height: 1.5rem;
	min-height: 1.5rem;
	min-width: 1.5rem;
	padding: 0;
	width: 1.5rem;
}

.aegis-header__mobile-toggle:focus-visible,
.aegis-header__mobile-menu-close:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

@media (min-width: 1025px) {
	.aegis-header__brand-nav > nav.wp-block-navigation {
		display: flex;
	}

	.aegis-header__tools {
		display: flex;
	}

	.aegis-header__mobile-toggle,
	.aegis-header__mobile-menu {
		display: none !important;
	}
}

@media (max-width: 1024px) {
	.aegis-header {
		padding-block: var(--aegis-header-pad-block);
		padding-inline: var(--aegis-header-pad-inline);
	}

	.aegis-header__inner {
		flex-wrap: nowrap;
		gap: 0;
	}

	.aegis-header__brand-nav {
		gap: var(--aegis-header-cluster-gap);
		justify-content: space-between;
		width: 100%;
	}

	.aegis-header__utilities,
	.aegis-header__tools {
		display: none !important;
	}

	.aegis-header__brand-nav > nav.wp-block-navigation {
		display: none;
	}

	.aegis-header__mobile-toggle {
		align-items: center;
		background-color: transparent !important;
		box-shadow: none !important;
		color: transparent;
		display: flex !important;
		justify-content: center;
		margin-inline-start: auto;
	}

	.aegis-header.is-style-header-dark .aegis-header__mobile-toggle {
		background: center / 1.5rem no-repeat url(assets/icons/menu-hamburger-white.svg) !important;
	}

	.aegis-header.is-style-header-light .aegis-header__mobile-toggle {
		background: center / 1.5rem no-repeat url(assets/icons/menu-hamburger-primary.svg) !important;
	}

	/* Dropdown panel — only as tall as its content, not a full-page overlay. */
	.aegis-header__mobile-menu {
		background-color: var(--wp--preset--color--primary, #3e6a67);
		box-sizing: border-box;
		color: var(--wp--preset--color--surface, #ffffff);
		display: flex;
		flex-direction: column;
		height: auto;
		left: 0;
		max-height: min(100vh, 100dvh);
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		padding: 0 var(--wp--preset--spacing--30, 1rem) var(--wp--preset--spacing--30, 1rem);
		position: fixed;
		right: 0;
		top: 0;
		width: 100%;
		z-index: 100001;
	}

	.aegis-header__mobile-menu[hidden] {
		display: none !important;
	}

	.aegis-header.is-mobile-menu-open,
	header.wp-block-template-part:has(.aegis-header.is-mobile-menu-open) {
		background-color: var(--wp--preset--color--primary, #3e6a67);
	}

	.aegis-header.is-mobile-menu-open {
		color: var(--wp--preset--color--surface, #ffffff);
	}

	.aegis-header.is-mobile-menu-open .aegis-header__inner {
		visibility: hidden;
	}

	.aegis-header.is-mobile-menu-open .aegis-header__mobile-menu {
		visibility: visible;
	}

	body.admin-bar .aegis-header__mobile-menu {
		max-height: calc(100svh - 46px);
		top: 46px;
	}

	@media (min-width: 783px) {
		body.admin-bar .aegis-header__mobile-menu {
			max-height: calc(100svh - 32px);
			top: 32px;
		}
	}

	.aegis-header__mobile-menu-bar {
		align-items: center;
		display: flex;
		justify-content: space-between;
		padding-block: var(--wp--preset--spacing--10, 0.5rem);
		width: 100%;
	}

	.aegis-header__mobile-menu-logo.wp-block-site-logo img {
		filter: brightness(0) invert(1);
		max-height: 2.5rem;
		max-width: 8.875rem;
	}

	.aegis-header__mobile-menu-close {
		appearance: none;
		background: center / 1.5rem no-repeat url(assets/icons/close-white.svg) !important;
		background-color: transparent !important;
		border: 0;
		box-shadow: none !important;
		color: transparent;
		cursor: pointer;
		flex-shrink: 0;
		height: 1.5rem;
		min-height: 1.5rem;
		min-width: 1.5rem;
		padding: 0;
		width: 1.5rem;
	}

	.aegis-header__mobile-menu-divider {
		display: none;
	}

	.aegis-header__mobile-menu-body {
		display: flex;
		flex-direction: column;
		gap: var(--wp--preset--spacing--30, 1rem);
		padding-block: var(--wp--preset--spacing--30, 1rem) 0;
	}

	.aegis-header__mobile-menu-nav .wp-block-navigation__container {
		align-items: flex-start;
		display: flex;
		flex-direction: column;
		gap: var(--wp--preset--spacing--30, 1rem);
	}

	.aegis-header__mobile-menu-body .wp-block-navigation-item {
		align-items: flex-start;
		width: 100%;
	}

	.aegis-header__mobile-menu-body .wp-block-navigation-item + .wp-block-navigation-item {
		border-inline-start: 0;
		gap: 0;
		margin-inline-start: 0;
		padding-inline-start: 0;
	}

	.aegis-header__mobile-menu-body .wp-block-navigation-item + .wp-block-navigation-item::before {
		content: none;
		display: none;
	}

	.aegis-header__mobile-menu-body .wp-block-navigation-item__content {
		color: var(--wp--preset--color--surface, #ffffff);
		font-family: var(--wp--preset--font-family--puritan);
		font-size: var(--wp--preset--font-size--heading-2);
		font-weight: 700;
		line-height: 1.2;
		padding: 0;
		text-transform: uppercase;
		white-space: normal;
	}

	.aegis-header__mobile-menu-body .wp-block-navigation-item__content:hover,
	.aegis-header__mobile-menu-body .wp-block-navigation-item__content:focus-visible {
		opacity: 0.85;
		text-decoration: none;
	}

	.aegis-header__mobile-menu-body .aegis-header__cta {
		display: flex;
		justify-content: flex-start;
		margin: 0;
		width: auto;
	}

	.aegis-header__mobile-menu-body .aegis-header__cta .wp-block-button__link {
		white-space: normal;
	}

	.aegis-header__mobile-menu-extras {
		align-items: flex-end;
		align-self: flex-end;
		display: flex;
		flex-direction: column;
		gap: var(--wp--preset--spacing--30, 1rem);
		margin-inline-start: auto;
	}

	.aegis-header__mobile-menu-extras .aegis-header__language,
	.aegis-header__mobile-menu-extras .aegis-header__search {
		display: block;
		flex-shrink: 0;
		height: 1.5rem;
		min-height: 1.5rem;
		min-width: 1.5rem;
		width: 1.5rem;
	}

	.aegis-header__mobile-menu-extras .aegis-header__language::before {
		background-image: url(assets/icons/language-dark.svg);
	}

	.aegis-header__mobile-menu-extras .aegis-header__search-trigger {
		background-image: url(assets/icons/search-dark.svg);
	}

	.aegis-header__mobile-menu-extras .aegis-header__search-panel {
		box-sizing: border-box;
		left: auto;
		max-width: calc(100vw - 2 * var(--wp--preset--spacing--30, 1rem));
		right: 0;
		top: calc(100% + var(--wp--preset--spacing--10, 0.5rem));
		width: min(18rem, calc(100vw - 2 * var(--wp--preset--spacing--30, 1rem)));
	}
}

/* Footer */
.aegis-footer {
	align-items: center;
	color: var(--wp--preset--color--surface);
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--30);
	padding-block: var(--wp--preset--spacing--45);
	padding-inline: var(--wp--preset--spacing--60);
}

.aegis-footer a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--surface);
}

.aegis-footer__inner.alignwide {
	display: flex !important;
	flex-direction: column;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--30);
	justify-content: center;
	margin-inline: auto;
	max-width: 72rem;
	width: 100%;
}

.aegis-footer__inner.alignwide.is-layout-flex {
	flex-wrap: wrap;
}

.aegis-footer__inner.alignwide > .wp-block-group {
	margin-block-start: 0 !important;
	margin-inline: 0 !important;
	max-width: none !important;
}

.aegis-footer__brand,
.aegis-footer__primary,
.aegis-footer__legal {
	box-sizing: border-box;
	width: 100%;
}

.aegis-footer__brand {
	align-items: center;
	display: flex;
	justify-content: center;
	padding: var(--wp--preset--spacing--30);
}

.aegis-footer__primary,
.aegis-footer__legal {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--10); /* same rhythm as nav items */
	justify-content: flex-start;
	padding: var(--wp--preset--spacing--30);
}

.aegis-footer__primary > * + *,
.aegis-footer__legal > * + * {
	margin-block-start: 0 !important;
}

.aegis-footer__primary.is-content-justification-center,
.aegis-footer__legal.is-content-justification-center,
.aegis-footer__primary.is-layout-flex,
.aegis-footer__legal.is-layout-flex {
	align-items: flex-start;
}

.aegis-footer__logo.wp-block-site-logo {
	flex-shrink: 0;
	justify-content: center;
	line-height: 0;
	width: auto;
}

.aegis-footer__logo.wp-block-site-logo a {
	display: inline-flex;
	max-width: 100%;
}

.aegis-footer__logo.wp-block-site-logo img {
	display: block;
	filter: brightness(0) invert(1);
	height: auto;
	max-height: 5.4375rem;
	width: auto;
	max-width: min(100%, 21.25rem);
}

.aegis-footer__logo.wp-block-site-logo:not(:has(img)) {
	display: none;
}

.aegis-footer .wp-block-navigation {
	font-family: var(--wp--preset--font-family--inter);
	font-size: var(--wp--preset--font-size--body);
	width: auto;
}

.aegis-footer .wp-block-navigation__responsive-container,
.aegis-footer .wp-block-navigation__responsive-container-content {
	display: block;
}

.aegis-footer .wp-block-navigation__container {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--10);
	list-style: none;
	margin: 0;
	padding: 0;
}

.aegis-footer .wp-block-navigation-item {
	margin: 0;
	width: auto;
}

.aegis-footer .wp-block-navigation-item__content {
	color: var(--wp--preset--color--surface) !important;
	display: inline-block;
	line-height: 1.5;
	padding-block: 0;
	text-decoration: none;
	white-space: nowrap;
}

.aegis-footer .wp-block-navigation-item__content:hover,
.aegis-footer .wp-block-navigation-item__content:focus-visible {
	color: var(--wp--preset--color--surface) !important;
	opacity: 0.85;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.aegis-footer__social,
.aegis-footer__social.wp-block-social-links {
	align-items: center;
	align-self: flex-start;
	display: flex;
	justify-content: flex-start;
	margin: 0;
	min-height: calc(var(--wp--preset--font-size--body, 1rem) * 1.5);
	padding-block: 0;
	padding-inline: 0;
	width: auto;
}

.aegis-footer__social .wp-block-social-link {
	margin: 0;
}

.aegis-footer__social .wp-block-social-link-anchor {
	color: var(--wp--preset--color--surface) !important;
}

.aegis-footer__social .wp-block-social-link-anchor:hover,
.aegis-footer__social .wp-block-social-link-anchor:focus-visible {
	color: var(--wp--preset--color--surface) !important;
	opacity: 0.85;
}

.aegis-footer__social .wp-block-social-link-anchor:focus-visible {
	outline: 2px solid var(--wp--preset--color--surface);
	outline-offset: 2px;
}

.aegis-footer__social .wp-social-link svg {
	height: 1.125rem;
	width: 1.125rem;
}

.aegis-footer__copyright {
	margin-top: 0;
	max-width: 100%;
	text-align: center;
	width: 100%;
}

.aegis-footer__copyright .wp-block-shortcode,
.aegis-footer__copyright p,
.aegis-footer__copyright-line {
	box-sizing: border-box;
	color: var(--wp--preset--color--surface, #ffffff);
	font-family: var(--wp--preset--font-family--inter);
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.5rem;
	margin: 0;
	max-width: 100%;
	opacity: 0.5;
	overflow-wrap: break-word;
	text-align: center;
	text-wrap: pretty;
	width: 100%;
}

.aegis-footer__copyright-rights {
	white-space: nowrap;
}

@media (min-width: 782px) {
	.aegis-footer__inner.alignwide {
		align-items: flex-start;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		gap: 0;
		justify-content: space-between;
	}

	.aegis-footer__brand,
	.aegis-footer__primary,
	.aegis-footer__legal {
		flex: 1 1 0;
		max-width: 22.5rem;
		min-width: 0;
		padding-block: var(--wp--preset--spacing--30);
		padding-inline: var(--wp--preset--spacing--45);
	}

	.aegis-footer__brand {
		align-items: flex-start;
		justify-content: center;
	}

	.aegis-footer__primary,
	.aegis-footer__legal {
		align-items: flex-start;
	}

	.aegis-footer__logo.wp-block-site-logo {
		justify-content: flex-start;
	}

	.aegis-footer__logo.wp-block-site-logo img {
		max-height: 2.5rem;
		max-width: 8.875rem;
	}
}

@media (max-width: 781px) {
	.aegis-footer {
		padding: var(--wp--preset--spacing--30);
	}

	.aegis-footer__inner.alignwide {
		align-items: center;
		max-width: 21.25rem;
	}

	.aegis-footer__brand {
		max-width: 21.25rem;
		padding-block: 2.3125rem;
		padding-inline: var(--wp--preset--spacing--30);
	}

	.aegis-footer__logo.wp-block-site-logo img {
		max-height: 5.4375rem;
		max-width: min(100%, 21.25rem);
	}

	.aegis-footer__primary,
	.aegis-footer__legal {
		flex: 1 1 calc(50% - var(--wp--preset--spacing--30));
		max-width: calc(50% - var(--wp--preset--spacing--15));
		padding: var(--wp--preset--spacing--30);
	}

	.aegis-footer__inner.alignwide {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
	}

	.aegis-footer__brand {
		flex-basis: 100%;
	}

	.aegis-footer__copyright {
		max-width: 21.25rem;
		padding-inline: var(--wp--preset--spacing--30);
	}

	.aegis-footer__copyright-break {
		display: block;
		height: 0;
		width: 100%;
	}
}

@media (min-width: 782px) and (max-width: 1100px) {
	.aegis-footer .wp-block-navigation-item__content {
		font-size: var(--wp--preset--font-size--body-small);
	}
}

/* Place / POI detail page */
.aegis-place-detail {
	max-width: var(--wp--style--global--wide-size, 1152px);
}

.aegis-place-detail > .wp-block-custom-database-place-video,
.aegis-place-detail > .wp-block-custom-database-place-contact,
.aegis-place-detail > .wp-block-custom-database-place-related,
.aegis-local-detail > .wp-block-custom-database-local-video,
.aegis-local-detail > .wp-block-custom-database-local-contact,
.aegis-local-detail > .wp-block-custom-database-local-related,
.aegis-place-video,
.aegis-place-contact,
.aegis-place-related,
.aegis-local-video,
.aegis-local-contact,
.aegis-local-related {
	width: 100%;
}

.aegis-place-video__heading,
.aegis-place-contact__heading,
.aegis-place-related__heading,
.aegis-local-video__heading,
.aegis-local-contact__heading,
.aegis-local-related__heading {
	color: var(--wp--preset--color--primary, #3e6a67);
	font-size: var(--wp--preset--font-size--heading-4, 2rem);
	line-height: 1.25;
	margin: 0;
	padding-block-start: var(--wp--preset--spacing--30);
}

.aegis-place-video__player,
.aegis-local-video__player {
	background: var(--wp--preset--color--section-muted, #e1dede);
	border-radius: var(--wp--custom--border-radius--small, 8px);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
	overflow: hidden;
}

.aegis-place-video__embed,
.aegis-local-video__embed {
	line-height: 0;
}

.aegis-place-video__embed iframe,
.aegis-place-video__embed video,
.aegis-place-video__fallback,
.aegis-local-video__embed iframe,
.aegis-local-video__embed video,
.aegis-local-video__fallback {
	display: block;
	width: 100%;
}

.aegis-place-video__embed .wp-block-embed__wrapper,
.aegis-local-video__embed .wp-block-embed__wrapper {
	aspect-ratio: 16 / 9;
	position: relative;
	width: 100%;
}

.aegis-place-video__embed .wp-block-embed__wrapper iframe,
.aegis-local-video__embed .wp-block-embed__wrapper iframe {
	border: 0;
	display: block;
	height: 100%;
	inset: 0;
	position: absolute;
	width: 100%;
}

.aegis-place-contact__layout,
.aegis-local-contact__layout {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--40, 1.5rem);
}

.aegis-place-contact__map,
.aegis-local-contact__map {
	border-radius: var(--wp--custom--border-radius--small, 8px);
	isolation: isolate;
	min-height: 11.25rem;
	overflow: hidden;
	position: relative;
	z-index: 0;
}

.aegis-place-contact__map iframe,
.aegis-local-contact__map iframe,
.aegis-place-contact__map .guardians-map,
.aegis-local-contact__map .guardians-map,
.aegis-place-contact__map #liveability-leaflet,
.aegis-local-contact__map #liveability-leaflet,
.aegis-place-contact__map .leaflet-container,
.aegis-local-contact__map .leaflet-container {
	border: 0;
	display: block;
	height: 100%;
	min-height: 11.25rem;
	width: 100%;
}

.aegis-place-contact__list,
.aegis-local-contact__list {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
	margin: 0;
}

.aegis-place-contact__item,
.aegis-local-contact__item {
	margin: 0;
}

.aegis-place-contact__label,
.aegis-local-contact__label {
	color: var(--wp--preset--color--text, #2d2a29);
	font-size: var(--wp--preset--font-size--body-small);
	line-height: 1.33;
	margin: 0;
}

.aegis-place-contact__value,
.aegis-local-contact__value {
	color: var(--wp--preset--color--not-black, #121010);
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 700;
	line-height: 1.33;
	margin: 0;
	padding-block-start: 0.25rem;
}

.aegis-place-contact__link,
.aegis-local-contact__link {
	align-items: center;
	color: inherit;
	display: inline-flex;
	gap: 0.5rem;
	text-decoration: none;
}

.aegis-place-contact__link:hover,
.aegis-place-contact__link:focus-visible,
.aegis-local-contact__link:hover,
.aegis-local-contact__link:focus-visible {
	color: var(--wp--preset--color--primary, #3e6a67);
	text-decoration: underline;
}

.aegis-place-contact__icon,
.aegis-local-contact__icon {
	display: inline-flex;
	flex-shrink: 0;
}

.aegis-place-related__header,
.aegis-local-related__header {
	align-items: center;
	display: flex;
	gap: var(--wp--preset--spacing--40);
	justify-content: space-between;
}

.aegis-place-related__heading--mobile,
.aegis-local-related__heading--mobile {
	display: inline;
}

.aegis-place-related__heading--desktop,
.aegis-local-related__heading--desktop {
	display: none;
}

.aegis-place-related__controls,
.aegis-local-related__controls {
	display: flex;
	flex-shrink: 0;
	gap: var(--wp--preset--spacing--30);
}

.aegis-place-related__nav,
.aegis-local-related__nav {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--wp--preset--color--primary, #3e6a67);
	cursor: pointer;
	display: inline-flex;
	height: 1.75rem;
	justify-content: center;
	line-height: 0;
	padding: 0;
	width: 1.75rem;
}

.aegis-carousel-nav-icon {
	display: inline-flex;
	line-height: 0;
}

.aegis-carousel-nav-icon svg {
	display: block;
	height: 24px;
	shape-rendering: geometricPrecision;
	width: 24px;
}

.aegis-carousel-nav-icon--prev svg {
	transform: rotate(-90deg);
}

.aegis-carousel-nav-icon--next svg {
	transform: rotate(90deg);
}

.aegis-place-related__nav:hover,
.aegis-place-related__nav:focus-visible,
.aegis-local-related__nav:hover,
.aegis-local-related__nav:focus-visible {
	background: transparent;
	color: var(--wp--preset--color--primary, #3e6a67);
	opacity: 0.75;
}

.aegis-place-related__track,
.aegis-local-related__track {
	overflow-x: auto;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.aegis-place-related__track::-webkit-scrollbar,
.aegis-local-related__track::-webkit-scrollbar {
	display: none;
}

.aegis-place-related__cards,
.aegis-local-related__cards {
	display: flex;
	gap: var(--wp--preset--spacing--40);
	padding-block-end: 0.25rem;
}

.aegis-place-related__cards .aegis-place-card,
.aegis-local-related__cards .aegis-local-card {
	flex: 0 0 auto;
	max-width: 16.875rem;
	min-width: 16.875rem;
	scroll-snap-align: start;
}

.aegis-place-related__cards .aegis-place-card--vertical .aegis-place-card__link {
	height: auto;
}

.aegis-place-detail-block-preview__empty,
.aegis-place-detail-block-preview .description,
.aegis-local-detail-block-preview__empty,
.aegis-local-detail-block-preview .description {
	color: var(--wp--preset--color--muted, #6e756f);
}

@media (min-width: 782px) {
	.aegis-place-contact__layout,
	.aegis-local-contact__layout {
		align-items: stretch;
		flex-direction: row;
		gap: var(--wp--preset--spacing--45);
	}

	.aegis-place-contact__map,
	.aegis-local-contact__map {
		flex: 0 0 35.25rem;
		max-width: 35.25rem;
		min-height: 18rem;
	}

	.aegis-place-contact__map iframe,
	.aegis-local-contact__map iframe,
	.aegis-place-contact__map .guardians-map,
	.aegis-local-contact__map .guardians-map,
	.aegis-place-contact__map #liveability-leaflet,
	.aegis-local-contact__map #liveability-leaflet,
	.aegis-place-contact__map .leaflet-container,
	.aegis-local-contact__map .leaflet-container {
		min-height: 18rem;
	}

	.aegis-place-contact__list,
	.aegis-local-contact__list {
		flex: 1 1 auto;
	}

	.aegis-place-related__heading--mobile,
	.aegis-local-related__heading--mobile {
		display: none;
	}

	.aegis-place-related__heading--desktop,
	.aegis-local-related__heading--desktop {
		display: inline;
	}
}

/* Place type filter — Figma Filters 6773:5504 */
.aegis-place-type-filter {
	margin-block-end: var(--wp--preset--spacing--40);
	width: 100%;
}

.aegis-liveability-page > .aegis-place-type-filter,
.aegis-locals-page > .aegis-place-type-filter,
.aegis-wide-rail > .aegis-place-type-filter {
	margin-block-end: 0;
}

.aegis-place-type-filter__inner {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
}

.aegis-place-type-filter__types {
	display: flex;
	flex: 1 1 12rem;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
	min-width: 0;
}

.aegis-place-type-filter__divider {
	background-color: var(--wp--preset--color--not-black, #121010);
	flex-shrink: 0;
	height: 1.25rem;
	opacity: 0.35;
	width: 1px;
}

.aegis-place-type-filter__button {
	align-items: center;
	background-color: var(--wp--preset--color--honeydew, #e3f2e5);
	border: 0;
	border-radius: 12px;
	box-shadow: none;
	color: var(--wp--preset--color--not-black, #121010);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 1.125rem;
	font-weight: 400;
	gap: 0.5rem;
	line-height: 1.33;
	min-height: 2.75rem;
	padding: 0.5rem 0.75rem;
	white-space: nowrap;
}

.aegis-place-type-filter__icon {
	display: inline-flex;
	flex-shrink: 0;
	height: 1.5rem;
	width: 1.5rem;
}

.aegis-place-type-filter__icon img {
	display: block;
	height: 100%;
	width: 100%;
}

.aegis-place-type-filter__button.is-active .aegis-place-type-filter__icon img {
	filter: brightness(0) invert(1);
}

.aegis-place-type-filter__button:hover,
.aegis-place-type-filter__button:focus-visible {
	background-color: color-mix(in srgb, var(--wp--preset--color--honeydew, #e3f2e5) 88%, var(--wp--preset--color--primary, #3e6a67));
	outline: 2px solid var(--wp--preset--color--primary, #3e6a67);
	outline-offset: 2px;
}

.aegis-place-type-filter__button.is-active {
	background-color: var(--wp--preset--color--primary, #3e6a67);
	box-shadow: none;
	color: var(--wp--preset--color--surface, #ffffff);
}

.aegis-place-type-filter__button.is-active:hover,
.aegis-place-type-filter__button.is-active:focus-visible {
	background-color: color-mix(in srgb, var(--wp--preset--color--primary, #3e6a67) 90%, #000);
}

.wp-block-post.is-place-filter-hidden,
.wp-block-post.is-local-filter-hidden,
li.is-place-filter-hidden,
li.is-local-filter-hidden {
	display: none !important;
}

.aegis-place-type-filter-editor-preview .description {
	color: var(--wp--preset--color--muted, #6e756f);
}

@media (max-width: 781px) {
	.aegis-place-type-filter__inner {
		align-items: center;
		flex-direction: row;
		flex-wrap: wrap;
	}

	.aegis-place-type-filter__divider {
		display: none;
	}

	.aegis-place-type-filter__types {
		display: contents;
	}
}

/* Soundwalk detail page */
.aegis-soundwalk-detail > [class*="wp-block-custom-database-soundwalk"],
.aegis-soundwalk-story,
.aegis-soundwalk-route,
.aegis-soundwalk-pois,
.aegis-soundwalk-editorial,
.aegis-soundwalk-locals,
.aegis-soundwalk-cta {
	width: 100%;
}

.aegis-soundwalk-story__heading,
.aegis-soundwalk-route__heading,
.aegis-soundwalk-pois__heading,
.aegis-soundwalk-locals__heading {
	color: var(--wp--preset--color--primary, #3e6a67);
	font-family: var(--wp--preset--font-family--puritan);
	font-size: var(--wp--preset--font-size--heading-4, 2rem);
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
}

.aegis-soundwalk-story__layout {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--40);
}

.aegis-soundwalk-story__copy {
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-heading-text);
	max-width: 47.5rem;
}

.aegis-soundwalk-story__text {
	color: var(--wp--preset--color--not-black, #121010);
	font-family: var(--wp--preset--font-family--inter);
	line-height: 1.5;
}

.aegis-soundwalk-story__text p {
	margin-block: 0 1rem;
}

.aegis-soundwalk-story__text p:last-child {
	margin-block-end: 0;
}

/* Figma 6902:7332 — Ancestor heading + vertical local card under story copy. */
.aegis-soundwalk-story__ancestor {
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-heading-tight); /* 8px */
	max-width: 20.5rem; /* 328px */
	width: 100%;
}

.aegis-soundwalk-story__ancestor-heading {
	color: var(--wp--preset--color--primary, #3e6a67);
	font-family: var(--wp--preset--font-family--puritan);
	font-size: var(--wp--preset--font-size--heading-3, 1.5rem); /* 24px */
	font-weight: 700;
	line-height: 1.3333333333;
	margin: 0;
}

.aegis-soundwalk-story__ancestor-card {
	margin: 0;
}

.aegis-soundwalk-story__ancestor-card .aegis-local-card--vertical {
	max-width: 16.875rem; /* 270px */
	width: 100%;
}

.aegis-soundwalk-story__video {
	display: flex;
	width: 100%;
}

.aegis-soundwalk-story__embed {
	background: var(--wp--preset--color--section-muted, #e1dede);
	border: 0;
	border-radius: var(--wp--custom--border-radius--small, 8px);
	box-shadow: var(--wp--custom--shadow--card, 0 1px 2px rgba(0, 0, 0, 0.25));
	line-height: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.aegis-soundwalk-story__video-title {
	background: linear-gradient(
		180deg,
		rgba(18, 16, 16, 0.72) 0%,
		rgba(18, 16, 16, 0) 100%
	);
	color: var(--wp--preset--color--surface, #ffffff);
	font-family: var(--wp--preset--font-family--puritan);
	font-size: var(--wp--preset--font-size--heading-4, 2rem);
	font-weight: 700;
	left: 0;
	line-height: 1.25;
	margin: 0;
	padding: 1rem 1rem 2.5rem;
	pointer-events: none;
	position: absolute;
	right: 0;
	text-transform: uppercase;
	top: 0;
	z-index: 4;
}

.aegis-soundwalk-story__embed .wp-block-embed__wrapper,
.aegis-soundwalk-video {
	aspect-ratio: 9 / 16;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.aegis-soundwalk-video {
	background: var(--wp--preset--color--not-black, #121010);
	color: var(--wp--preset--color--surface, #ffffff);
	height: 100%;
}

.aegis-soundwalk-video__frame {
	height: 100%;
	position: relative;
	width: 100%;
}

.aegis-soundwalk-video__media,
.aegis-soundwalk-video__host,
.aegis-soundwalk-video__poster,
.aegis-soundwalk-video__native {
	border: 0;
	display: block;
	height: 100%;
	left: 0;
	object-fit: cover;
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 100%;
}

.aegis-soundwalk-video__media {
	overflow: hidden;
	z-index: 1;
}

.aegis-soundwalk-video__media iframe {
	aspect-ratio: 16 / 9;
	border: 0;
	height: auto;
	left: 50%;
	min-height: 100%;
	min-width: 100%;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: auto;
}

.aegis-soundwalk-video__poster {
	z-index: 2;
}

.aegis-soundwalk-video.is-started .aegis-soundwalk-video__poster {
	opacity: 0;
	visibility: hidden;
}

.aegis-soundwalk-video__ui {
	bottom: 0;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 3;
}

.aegis-soundwalk-video__play-large {
	align-items: center;
	background: var(--wp--preset--color--primary, #3e6a67);
	border: 0;
	border-radius: 999px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
	cursor: pointer;
	display: inline-flex;
	height: 4.25rem;
	justify-content: center;
	left: 50%;
	padding: 0;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: transform 0.2s ease, background-color 0.2s ease;
	width: 4.25rem;
}

.aegis-soundwalk-video__play-large:hover,
.aegis-soundwalk-video__play-large:focus-visible {
	background: color-mix(in srgb, var(--wp--preset--color--primary, #3e6a67) 88%, #000);
	transform: translate(-50%, -50%) scale(1.04);
}

.aegis-soundwalk-video__play-large:focus-visible {
	outline: 2px solid var(--wp--preset--color--jasmine, #f8d877);
	outline-offset: 3px;
}

.aegis-soundwalk-video__play-large-icon {
	border-color: transparent transparent transparent var(--wp--preset--color--surface, #ffffff);
	border-style: solid;
	border-width: 0.7rem 0 0.7rem 1.15rem;
	display: block;
	height: 0;
	margin-left: 0.25rem;
	width: 0;
}

.aegis-soundwalk-video.is-playing .aegis-soundwalk-video__play-large {
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}

.aegis-soundwalk-video__controls {
	align-items: center;
	background: linear-gradient(
		180deg,
		rgba(18, 16, 16, 0) 0%,
		rgba(18, 16, 16, 0.72) 55%,
		rgba(18, 16, 16, 0.9) 100%
	);
	box-sizing: border-box;
	cursor: default;
	display: flex;
	gap: 0.625rem;
	opacity: 0;
	padding: 2.5rem 1.5rem 0.875rem 0.875rem;
	pointer-events: none;
	transform: translateY(0.35rem);
	transition: opacity 0.2s ease, transform 0.2s ease;
	width: 100%;
}

.aegis-soundwalk-video.is-started .aegis-soundwalk-video__controls,
.aegis-soundwalk-video:focus-within .aegis-soundwalk-video__controls {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

@media (hover: hover) and (pointer: fine) {
	.aegis-soundwalk-video.is-playing:not(:hover):not(:focus-within) .aegis-soundwalk-video__controls {
		opacity: 0;
		pointer-events: none;
		transform: translateY(0.35rem);
	}
}

.aegis-soundwalk-video__toggle,
.aegis-soundwalk-video__mute {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 999px;
	color: var(--wp--preset--color--surface, #ffffff);
	cursor: pointer;
	display: inline-flex;
	flex-shrink: 0;
	height: 2.25rem;
	justify-content: center;
	padding: 0;
	width: 2.25rem;
}

.aegis-soundwalk-video__mute {
	margin-inline-end: 0.25rem;
}

.aegis-soundwalk-video__toggle:focus-visible,
.aegis-soundwalk-video__mute:focus-visible,
.aegis-soundwalk-video__progress:focus-visible {
	outline: 2px solid var(--wp--preset--color--jasmine, #f8d877);
	outline-offset: 2px;
}

.aegis-soundwalk-video__toggle-icon--play {
	border-color: transparent transparent transparent currentColor;
	border-style: solid;
	border-width: 0.4rem 0 0.4rem 0.65rem;
	display: block;
	height: 0;
	margin-left: 0.15rem;
	width: 0;
}

.aegis-soundwalk-video__toggle-icon--pause {
	display: none;
	height: 0.85rem;
	position: relative;
	width: 0.7rem;
}

.aegis-soundwalk-video__toggle-icon--pause::before,
.aegis-soundwalk-video__toggle-icon--pause::after {
	background: currentColor;
	border-radius: 1px;
	content: "";
	height: 100%;
	position: absolute;
	top: 0;
	width: 0.22rem;
}

.aegis-soundwalk-video__toggle-icon--pause::before {
	left: 0;
}

.aegis-soundwalk-video__toggle-icon--pause::after {
	right: 0;
}

.aegis-soundwalk-video.is-playing .aegis-soundwalk-video__toggle-icon--play {
	display: none;
}

.aegis-soundwalk-video.is-playing .aegis-soundwalk-video__toggle-icon--pause {
	display: block;
}

.aegis-soundwalk-video__progress {
	cursor: pointer;
	flex: 1 1 auto;
	min-width: 0;
	padding-block: 0.55rem;
	touch-action: manipulation;
}

.aegis-soundwalk-video__progress-track {
	background: rgba(255, 255, 255, 0.28);
	border-radius: 999px;
	height: 0.25rem;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.aegis-soundwalk-video__progress-fill {
	background: var(--wp--preset--color--jasmine, #f8d877);
	border-radius: inherit;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: scaleX(0);
	transform-origin: left center;
	width: 100%;
}

.aegis-soundwalk-video__time {
	color: var(--wp--preset--color--surface, #ffffff);
	display: inline-flex;
	flex-shrink: 0;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.75rem;
	gap: 0.2rem;
	letter-spacing: 0.01em;
	line-height: 1;
	min-width: 4.75rem;
	opacity: 0.92;
	white-space: nowrap;
}

.aegis-soundwalk-video__mute-icon {
	display: block;
	height: 1.15rem;
	width: 1.15rem;
}

.aegis-soundwalk-video__mute-icon svg {
	display: block;
	height: 100%;
	width: 100%;
}

.aegis-soundwalk-video__mute-icon--off {
	display: none;
}

.aegis-soundwalk-video.is-muted .aegis-soundwalk-video__mute-icon--on {
	display: none;
}

.aegis-soundwalk-video.is-muted .aegis-soundwalk-video__mute-icon--off {
	display: block;
}

.aegis-soundwalk-story__embed .wp-block-embed__wrapper iframe,
.aegis-soundwalk-story__embed .wp-block-embed__wrapper video,
.aegis-soundwalk-story__embed > video {
	aspect-ratio: 16 / 9;
	border: 0;
	height: auto;
	left: 50%;
	min-height: 100%;
	min-width: 100%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: auto;
}

.aegis-soundwalk-story__embed .wp-block-embed__wrapper video,
.aegis-soundwalk-story__embed > video {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.aegis-soundwalk-route__layout {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--60);
}

.aegis-soundwalk-route__map {
	aspect-ratio: 1 / 1;
	border-radius: var(--wp--custom--border-radius--small, 8px);
	flex: 1 1 50%;
	max-width: 100%;
	min-height: 18.75rem;
	overflow: hidden;
	width: 100%;
}

.aegis-soundwalk-route__map .guardians-soundwalk-map,
.aegis-soundwalk-route__map #soundwalk-leaflet,
.aegis-soundwalk-route__map .leaflet-container {
	height: 100%;
	width: 100%;
}

.aegis-soundwalk-route__map .leaflet-interactive {
	cursor: default;
}

.aegis-soundwalk-route__details {
	display: flex;
	flex: 1 1 50%;
	flex-direction: column;
	gap: var(--wp--preset--spacing--30);
	min-width: 0;
}

.aegis-soundwalk-route__heading {
	line-height: 1.33;
	margin: 0;
}

.aegis-soundwalk-route__panel {
	background-color: var(--wp--preset--color--honeydew, #e3f2e5);
	border-radius: var(--wp--custom--border-radius--small, 8px);
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--30);
	padding: var(--wp--preset--spacing--30);
	width: 100%;
}

.aegis-soundwalk-route__locations,
.aegis-soundwalk-route__metrics {
	display: grid;
	gap: var(--wp--preset--spacing--30);
}

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

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

.aegis-soundwalk-route__location,
.aegis-soundwalk-route__metric {
	display: flex;
	flex-direction: column;
	gap: 0.3125rem;
	min-width: 0;
}

.aegis-soundwalk-route__field-label {
	color: var(--wp--preset--color--primary, #3e6a67);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1.33;
}

.aegis-soundwalk-route__field-value {
	color: var(--wp--preset--color--primary, #3e6a67);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.71;
	word-break: break-word;
}

.aegis-soundwalk-route__metric-value {
	align-items: center;
	color: var(--wp--preset--color--primary, #3e6a67);
	display: inline-flex;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.875rem;
	font-weight: 700;
	gap: 0.25rem;
	line-height: 1.71;
	min-height: 1.5rem;
}

.aegis-soundwalk-route__stat-icon {
	align-items: center;
	display: inline-flex;
	flex-shrink: 0;
	line-height: 0;
}

.aegis-soundwalk-route__stat-icon img,
.aegis-soundwalk-route__stat-icon svg {
	display: block;
	height: 1.5rem;
	width: 1.5rem;
}

.aegis-soundwalk-route__tips,
.aegis-soundwalk-route__best-time {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
	width: 100%;
}

.aegis-soundwalk-route__tips-heading,
.aegis-soundwalk-route__best-time-heading {
	color: var(--wp--preset--color--primary, #3e6a67);
	font-size: var(--wp--preset--font-size--heading-2, 1.25rem);
	line-height: 1.2;
	margin: 0;
	text-transform: capitalize;
}

.aegis-soundwalk-route__tips-content,
.aegis-soundwalk-route__best-time-content {
	color: var(--wp--preset--color--not-black, #121010);
	font-family: var(--wp--preset--font-family--inter);
	line-height: 1.5;
}

.aegis-soundwalk-route__tips-content p,
.aegis-soundwalk-route__best-time-content p {
	margin-block: 0 1rem;
}

.aegis-soundwalk-route__tips-content p:last-child,
.aegis-soundwalk-route__best-time-content p:last-child {
	margin-block-end: 0;
}

.aegis-soundwalk-editorial__accordions {
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-stack);
}

.aegis-soundwalk-editorial__item {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
}

.aegis-soundwalk-editorial__summary {
	align-items: center;
	background: var(--wp--preset--color--honeydew, #e3f2e5);
	border-radius: 0.625rem;
	color: var(--wp--preset--color--not-black, #121010);
	cursor: pointer;
	display: flex;
	font-size: var(--wp--preset--font-size--heading-3, 1.5rem);
	justify-content: space-between;
	line-height: 1.33;
	list-style: none;
	margin: 0;
	padding: var(--wp--preset--spacing--10);
	width: 100%;
}

.aegis-soundwalk-editorial__summary::-webkit-details-marker {
	display: none;
}

.aegis-soundwalk-editorial__title {
	font-weight: 700;
}

.aegis-soundwalk-editorial__icon-wrap {
	align-items: center;
	display: inline-flex;
	flex-shrink: 0;
	height: 1.5rem;
	justify-content: center;
	width: 1.5rem;
}

.aegis-soundwalk-editorial__icon {
	background: center / contain no-repeat;
	background-image: url("assets/icons/Arrow Down.svg");
	display: block;
	height: 1.5rem;
	width: 1.5rem;
}

.aegis-soundwalk-editorial__item[open] .aegis-soundwalk-editorial__icon {
	background-image: url("assets/icons/Arrow Up.svg");
}

.aegis-soundwalk-editorial__content {
	color: var(--wp--preset--color--not-black, #121010);
	column-count: 2;
	column-gap: 2rem;
	font-family: var(--wp--preset--font-family--inter);
	line-height: 1.5;
	padding: 0;
}

.aegis-soundwalk-editorial__content > p {
	break-inside: avoid;
	margin-block: 0 0.25rem;
}

.aegis-soundwalk-editorial__content > p:last-child {
	margin-block-end: 0;
}

@media (max-width: 781px) {
	.aegis-soundwalk-editorial__content {
		column-count: 1;
	}
}

.aegis-soundwalk-detail > .aegis-soundwalk-cta,
.aegis-soundwalk-cta {
	/* Figma Soundwalk CTA 7082:13990 */
	background: var(--wp--preset--color--honeydew, #e3f2e5);
	margin-inline: calc(50% - 50vw);
	max-width: 100vw;
	padding-block: var(--wp--preset--spacing--60); /* 64px */
	padding-inline: 0;
	width: 100vw;
}

.aegis-soundwalk-cta__inner {
	align-items: stretch;
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-heading-content); /* 32px */
	width: 100%;
}

.aegis-soundwalk-cta__copy {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: var(--aegis-space-heading-content); /* 32px — text stack → button */
	min-width: 0;
}

.aegis-soundwalk-cta__text {
	display: flex;
	flex-direction: column;
	gap: 0;
	max-width: 54.8125rem; /* 877px — Figma heading measure */
}

.aegis-soundwalk-cta__heading {
	color: var(--wp--preset--color--not-black, #121010);
	font-family: var(--wp--preset--font-family--puritan);
	font-size: var(--wp--preset--font-size--heading-4, 2rem); /* 32px */
	font-weight: 700;
	line-height: 1.25; /* 40px */
	margin: 0;
	text-transform: uppercase;
}

.aegis-soundwalk-cta__intro {
	color: var(--wp--preset--color--not-black, #121010);
	font-family: var(--wp--preset--font-family--inter);
	font-size: var(--wp--preset--font-size--heading-2, 1.25rem); /* 20px — Body/B1 */
	font-weight: 400;
	line-height: 1.6; /* 32px */
	margin: 0;
	max-width: 29.25rem; /* 468px */
}

.aegis-soundwalk-cta__actions {
	align-self: flex-start;
	margin: 0;
}

.aegis-soundwalk-cta__scan {
	align-items: center;
	align-self: center;
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	gap: var(--wp--preset--spacing--30); /* 16px */
	width: 16.875rem; /* 270px */
}

.aegis-soundwalk-cta__qr {
	aspect-ratio: 1 / 1;
	background: #fff;
	display: block;
	flex-shrink: 0;
	height: auto;
	max-width: 10rem; /* ~206.5px — another 10% smaller */
	object-fit: contain;
	width: 75%;
}

.aegis-soundwalk-cta__qr canvas,
.aegis-soundwalk-cta__qr svg {
	display: block;
	height: auto;
	width: 100%;
}

.aegis-soundwalk-cta__scan-label {
	color: var(--wp--preset--color--primary, #3e6a67);
	font-family: var(--wp--preset--font-family--puritan);
	font-size: var(--wp--preset--font-size--heading-4, 2rem); /* 32px */
	font-weight: 700;
	line-height: 1.25; /* 40px */
	margin: 0;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
}

.aegis-soundwalk-pois,
.aegis-soundwalk-locals {
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-related); /* 30px, same as place/local related */
}

.aegis-soundwalk-pois__header,
.aegis-soundwalk-locals__header {
	align-items: center;
	display: flex;
	gap: var(--wp--preset--spacing--40);
	justify-content: space-between;
}

.aegis-soundwalk-pois__controls,
.aegis-soundwalk-locals__controls {
	display: flex;
	flex-shrink: 0;
	gap: var(--wp--preset--spacing--30);
}

.aegis-soundwalk-pois__nav,
.aegis-soundwalk-locals__nav {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--wp--preset--color--primary, #3e6a67);
	cursor: pointer;
	display: inline-flex;
	height: 1.75rem;
	justify-content: center;
	line-height: 0;
	padding: 0;
	width: 1.75rem;
}

.aegis-soundwalk-pois__nav:hover,
.aegis-soundwalk-pois__nav:focus-visible,
.aegis-soundwalk-locals__nav:hover,
.aegis-soundwalk-locals__nav:focus-visible {
	opacity: 0.75;
}

.aegis-soundwalk-pois__track,
.aegis-soundwalk-locals__track {
	margin-block-start: 0;
	overflow-x: auto;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.aegis-soundwalk-pois__track::-webkit-scrollbar,
.aegis-soundwalk-locals__track::-webkit-scrollbar {
	display: none;
}

.aegis-soundwalk-pois__cards,
.aegis-soundwalk-locals__cards {
	display: flex;
	gap: var(--wp--preset--spacing--40);
	padding-block-end: 0.25rem;
}

.aegis-soundwalk-pois__cards .aegis-place-card,
.aegis-soundwalk-locals__cards .aegis-local-card {
	flex: 0 0 auto;
	max-width: 16.875rem;
	min-width: 16.875rem;
	scroll-snap-align: start;
}

.aegis-soundwalk-detail-block-preview .description {
	color: var(--wp--preset--color--muted, #6e756f);
}

@media (min-width: 782px) {
	.aegis-soundwalk-story__layout {
		align-items: center;
		flex-direction: row;
		gap: var(--wp--preset--spacing--40);
	}

	.aegis-soundwalk-story__copy {
		flex: 1 1 0;
	}

	.aegis-soundwalk-story__video {
		align-self: stretch;
		flex: 1 1 0;
	}

	.aegis-soundwalk-route__layout {
		flex-direction: row;
		gap: var(--wp--preset--spacing--60);
	}

	.aegis-soundwalk-route__map,
	.aegis-soundwalk-route__details {
		flex: 1 1 0;
	}

	.aegis-soundwalk-cta__inner {
		align-items: flex-start;
		flex-direction: row;
		justify-content: space-between;
	}

	.aegis-soundwalk-cta__copy {
		flex: 1 1 auto;
		max-width: min(100%, 54.8125rem);
	}

	.aegis-soundwalk-cta__scan {
		align-self: flex-start;
		flex: 0 0 16.875rem;
		justify-content: flex-start;
		width: 16.875rem;
	}
}

@media (max-width: 781px) {
	.aegis-soundwalk-route__details {
		display: contents;
	}

	.aegis-soundwalk-route__heading,
	.aegis-soundwalk-route__panel {
		order: 1;
	}

	.aegis-soundwalk-route__map {
		order: 2;
	}

	.aegis-soundwalk-route__tips,
	.aegis-soundwalk-route__best-time {
		order: 3;
	}

	.aegis-soundwalk-route__locations,
	.aegis-soundwalk-route__metrics {
		grid-template-columns: minmax(0, 1fr);
	}

	.aegis-soundwalk-cta__inner {
		align-items: stretch;
	}

	.aegis-soundwalk-cta__copy {
		align-items: center;
		text-align: center;
	}

	.aegis-soundwalk-cta__text {
		align-items: center;
		max-width: none;
	}

	.aegis-soundwalk-cta__intro {
		max-width: 29.25rem;
	}

	.aegis-soundwalk-cta__actions {
		align-self: center;
	}

	.aegis-soundwalk-cta__scan {
		display: none;
	}
}

/*
 * Landing parallax hero — Figma 7099:9195 → 6792:5160 → 6792:5170
 * Scroll-scrubbed three-state animation inside a sticky viewport.
 */
.aegis-parallax-hero.alignfull {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}

main.wp-block-group:has(.aegis-parallax-hero),
main.wp-block-group:has(.wp-block-post-content .aegis-parallax-hero) {
	max-width: none;
	padding-inline: 0;
}

.wp-block-post-content:has(.aegis-parallax-hero) {
	margin-block-start: 0;
	margin-inline: 0;
	max-width: none;
	padding-block-start: 0;
	padding-inline: 0;
}

.aegis-parallax-hero {
	--aegis-parallax-hero-height: 100svh;
	--aegis-parallax-scroll-height: 220vh;
	--aegis-parallax-heading: #fffec7;
	--aegis-parallax-intro: #fcfcfc;
	height: var(--aegis-parallax-scroll-height);
	isolation: isolate;
	margin-block-end: 0;
	margin-block-start: 0;
	max-width: 100vw;
	position: relative;
	width: 100vw;
}

@supports (height: 100dvh) {
	.aegis-parallax-hero {
		--aegis-parallax-hero-height: 100dvh;
	}
}

.aegis-parallax-hero__viewport {
	height: var(--aegis-parallax-hero-height);
	isolation: isolate;
	max-height: var(--aegis-parallax-hero-height);
	min-height: var(--aegis-parallax-hero-height);
	overflow: hidden;
	position: sticky;
	top: 0;
	width: 100%;
	z-index: 1;
}

.aegis-parallax-hero__stage {
	inset: 0;
	margin: 0;
	padding: 0;
	pointer-events: none;
	position: absolute;
}

.aegis-parallax-hero__layer {
	margin: 0;
	max-width: none;
	position: absolute;
	will-change: transform, opacity;
}

.aegis-parallax-hero__layer img {
	display: block;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: top left;
	pointer-events: none;
	width: 100%;
}

.aegis-parallax-hero__layer.is-layer-island img,
.aegis-parallax-hero__layer.is-layer-figure img {
	object-fit: contain;
}

.aegis-parallax-hero__layer.is-layer-island img {
	object-position: bottom center;
}

.aegis-parallax-hero__layer.is-layer-figure img {
	object-position: bottom left;
}

.aegis-parallax-hero__layer.is-layer-sea img {
	object-fit: cover;
	object-position: center bottom;
}

.aegis-parallax-hero__layer.is-layer-town img {
	object-fit: cover;
	object-position: bottom center;
}

.aegis-parallax-hero__layer.is-layer-sky {
	height: 100%;
	left: auto;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 1;
}

.aegis-parallax-hero__layer.is-layer-sky img {
	/* Keep the right edge of the sky art; excess crops off the left. */
	object-position: top right;
}

.aegis-parallax-hero__layer.is-layer-sea {
	height: 98.42%;
	left: 0;
	top: 14.96%;
	width: 100%;
	z-index: 3;
}

.aegis-parallax-hero__layer.is-layer-island {
	/* Floor size: below ~1257px viewport, island stops shrinking and clips at the hero edges.
	   Anchored to the right so excess width overflows left (not right). */
	height: 89.17%;
	left: auto;
	min-width: 80rem;
	right: 5.41%; /* 100% − 5.49% − 89.1% — mirrors original left offset */
	top: 7%;
	transform-origin: bottom left;
	width: 89.1%;
	z-index: 4;
}

.aegis-parallax-hero__layer.is-layer-town {
	height: 100%;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 5;
}

.aegis-parallax-hero__layer.is-layer-figure {
	bottom: 0;
	height: 77.49%;
	left: 0.14%;
	top: auto;
	transform-origin: bottom left;
	width: 77.29%;
	z-index: 6;
}

.aegis-parallax-hero__gradient,
.aegis-parallax-hero__solid {
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	will-change: top, height, opacity;
}

.aegis-parallax-hero__gradient {
	/* Opaque stops so the wipe fully covers the heading while staying smooth. */
	background-image: linear-gradient(
		180deg,
		rgba(66, 149, 214, 0) 0%,
		#4295d6 18%,
		#6fafdf 38%,
		#b7d8f0 58%,
		#eef6fb 78%,
		#ffffff 100%
	);
	height: 26%;
	opacity: 0;
	top: 100%;
	z-index: 7;
}

.aegis-parallax-hero__solid {
	background: #ffffff;
	height: 0;
	opacity: 0;
	top: 100%;
	/* Under the gradient so only the soft fade is visible at the join. */
	z-index: 6;
}

.aegis-parallax-hero__content {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-heading-text); /* 16px — heading → paragraph */
	/* Shift ~15% above vertical center (avoid transform — JS owns that for scroll). */
	bottom: 15%;
	justify-content: center;
	left: 0;
	margin-inline: auto;
	max-width: none;
	padding-inline: var(--wp--preset--spacing--30);
	pointer-events: none;
	position: absolute;
	right: 0;
	top: -15%;
	transform: translate3d(0, 0, 0);
	transform-origin: top center;
	will-change: transform, opacity;
	z-index: 2;
}

/* Collapse theme blockGap so only heading-text gap remains. */
.aegis-parallax-hero__content.is-layout-flow > * + *,
.aegis-parallax-hero__content.is-layout-constrained > * + *,
.aegis-parallax-hero__content > * + * {
	margin-block-start: 0;
}

.aegis-parallax-hero__content h1,
.aegis-parallax-hero__content .wp-block-heading {
	color: var(--aegis-parallax-heading) !important;
	display: block;
	font-family: var(--wp--preset--font-family--puritan) !important;
	font-size: clamp(2rem, 6.667vw, 6rem) !important;
	font-style: normal;
	font-weight: 700 !important;
	height: auto;
	line-height: 1.02 !important;
	margin: 0;
	max-width: 73.056%;
	padding-inline: 0;
	position: relative;
	text-align: center;
	width: 100%;
	text-wrap: balance;
}

.aegis-parallax-hero__content .wp-block-heading br {
	display: block;
}

.aegis-parallax-hero__content p,
.aegis-parallax-hero__content .wp-block-paragraph {
	color: var(--aegis-parallax-intro) !important;
	display: block;
	font-family: var(--wp--preset--font-family--inter) !important;
	font-size: clamp(1rem, 1.667vw, 1.5rem) !important;
	font-style: normal;
	font-weight: 400 !important;
	height: auto;
	line-height: 1.5 !important;
	margin: 0;
	max-width: 40rem;
	padding-inline: 0;
	position: relative;
	text-align: center;
	width: 100%;
	text-wrap: pretty;
}

:where(.wp-site-blocks) > header.wp-block-template-part:has(.aegis-header) + main:has(.aegis-parallax-hero),
:where(.wp-site-blocks) > header.wp-block-template-part:has(.aegis-header) + .aegis-parallax-hero,
:where(.wp-site-blocks) > header.wp-block-template-part:has(.aegis-header) + * > .aegis-parallax-hero {
	margin-block-start: 0;
}

.editor-styles-wrapper .aegis-parallax-hero,
.block-editor-block-list__block.aegis-parallax-hero {
	min-height: 100svh;
	position: relative;
}

@media (prefers-reduced-motion: reduce) {
	.aegis-parallax-hero {
		height: 100svh;
		min-height: 100svh;
	}

	.aegis-parallax-hero__viewport {
		min-height: 100svh;
		position: relative;
	}

	.aegis-parallax-hero__layer,
	.aegis-parallax-hero__content,
	.aegis-parallax-hero__gradient,
	.aegis-parallax-hero__solid {
		transform: none !important;
		will-change: auto;
	}

	.aegis-parallax-hero__layer.is-layer-figure {
		opacity: 1 !important;
	}

	.aegis-parallax-hero__solid {
		opacity: 0 !important;
	}
}

@media (max-width: 900px) {
	/* Same scroll-scrubbed track as desktop — sticky viewport + tall scroll height. */
	.aegis-parallax-hero {
		--aegis-parallax-hero-height: 100svh;
		--aegis-parallax-scroll-height: 220vh;
		height: var(--aegis-parallax-scroll-height);
		min-height: 0;
	}

	@supports (height: 100dvh) {
		.aegis-parallax-hero {
			--aegis-parallax-hero-height: 100dvh;
		}
	}

	.aegis-parallax-hero__viewport {
		height: var(--aegis-parallax-hero-height);
		max-height: var(--aegis-parallax-hero-height);
		min-height: var(--aegis-parallax-hero-height);
		overflow: hidden;
		position: sticky;
		top: 0;
	}

	/* Mobile sea placement — edit top/left/width/height here (≤900px only). */
	.aegis-parallax-hero__layer.is-layer-sea {
		height: 90%;
		left: 0;
		top: 22%;
		width: 120%;
	}

	/* Mobile island placement — edit bottom/right/width/height here (≤900px only).
	   Anchored to the right so excess width overflows left. Desktop rules unchanged. */
	.aegis-parallax-hero__layer.is-layer-island {
		bottom: 0;
		height: 75%;
		left: auto;
		min-width: 0;
		right: 0;
		top: 21%;
		width: 140%;
	}

	/* Town (houses) slightly smaller on mobile — JS scales relative to this base. */
	.aegis-parallax-hero__layer.is-layer-town {
		bottom: 0;
		height: 65%;
		left: auto;
		right: 0;
		top: auto;
		width: 100%;
	}

	/* Keep all layers visible so JS keyframes can drive the animation. */
	.aegis-parallax-hero__layer.is-layer-sea,
	.aegis-parallax-hero__layer.is-layer-island {
		display: block;
	}

	.aegis-parallax-hero__solid {
		display: block;
	}

	.aegis-parallax-hero__content {
		padding-block: calc(var(--aegis-parallax-header-offset) + var(--wp--preset--spacing--40))
			var(--wp--preset--spacing--40);
		padding-inline: var(--wp--preset--spacing--30);
	}

	.aegis-parallax-hero__content h1,
	.aegis-parallax-hero__content .wp-block-heading {
		font-size: clamp(1.75rem, 9vw, 2.75rem) !important;
		line-height: 1.08 !important;
		max-width: none;
	}

	.aegis-parallax-hero__content p,
	.aegis-parallax-hero__content .wp-block-paragraph {
		box-sizing: border-box;
		font-size: clamp(0.9375rem, 3.8vw, 1.125rem) !important;
		max-width: none;
		padding-inline: 0;
		width: 100%;
	}
}

/*
 * Stone Section — Figma 6826:5889
 * Overlay/collage break out wider than the theme wide container (1152px),
 * capped at 1600px. Aspect ratio 3496/4943; no top/bottom crop.
 */
.aegis-stone-section {
	overflow-x: hidden;
	overflow-x: clip;
	padding-block: var(--aegis-space-section);
	padding-inline: 0;
}

.aegis-stone-section__canvas {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: 1600px;
	padding-inline: var(--wp--custom--layout--wide-inset, var(--wp--preset--spacing--60));
	position: relative;
	width: 100%;
}

/* Stage fills the wide content box and sets the section height */
.aegis-stone-section__stage {
	aspect-ratio: 3496 / 4943;
	height: auto;
	margin: 0;
	max-width: none;
	position: relative;
	width: 100%;
}

.aegis-stone-section__photos {
	inset: 0;
	margin: 0;
	max-width: none;
	padding: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.aegis-stone-section__photos .wp-block-image,
.aegis-stone-section__photo {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	margin: 0;
	max-width: none;
	outline: none !important;
	overflow: hidden;
	pointer-events: auto;
	position: absolute;
	z-index: 1;
}

.aegis-stone-section__photos .wp-block-image img,
.aegis-stone-section__photo img {
	border: 0 !important;
	box-shadow: none !important;
	display: block;
	height: 100%;
	max-width: none;
	object-fit: cover;
	outline: none !important;
	width: 100%;
}

/* Photo slots fill overlay holes (3496×4943); circular/elliptical crop */
.aegis-stone-section__photo.is-photo-tunnel {
	height: 26%;
	left: 20%;
	top: 20%;
	width: 55%;
}

.aegis-stone-section__photo.is-photo-flowers {
	height: 10%;
	left: 56.07%;
	top: 16%;
	width: 20%;
}

.aegis-stone-section__photo.is-photo-hills {
	height: 11.01%;
	left: 64.11%;
	top: 35%;
	width: 9.08%;
}

.aegis-stone-section__photo.is-photo-listening {
	left: 48%;
	top: 46%;
}

.aegis-stone-section__photo.is-photo-scrub {
	border-radius: 45%;
	height: 16%;
	left: 39%;
	top: 54%;
	width: 15%;
}

.aegis-stone-section__photo.is-photo-path {
	border-radius: 30%;
	left: 18.5%;
	top: 66%;
	height: 14%;
	width: 18%;
	rotate: 15deg;
}

.aegis-stone-section__photo.is-photo-portrait {
	height: 32%;
	left: 33%;
	top: 61%;
	width: 31%;
	z-index: 0;
}

.aegis-stone-section__photo.is-photo-detail {
	height: 8%;
	left: 55.52%;
	top: 66%;
	width: 8.62%;
}

/* Overlay fills the collage canvas (max 1600px) */
.aegis-stone-section__mask {
	background-color: transparent;
	background-image: url("assets/images/stone-section/stones-overlay.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	border: 0;
	display: block;
	height: 100%;
	inset: 0;
	max-width: none;
	pointer-events: none;
	position: absolute;
	width: 100%;
	z-index: 2;
}

/* Headings share the wide content box (same inset as the collage) */
.aegis-stone-section__text-rail {
	bottom: 0;
	box-sizing: border-box;
	left: var(--wp--custom--layout--wide-inset, var(--wp--preset--spacing--60));
	margin: 0;
	max-width: none;
	pointer-events: none;
	position: absolute;
	right: var(--wp--custom--layout--wide-inset, var(--wp--preset--spacing--60));
	top: 0;
	z-index: 3;
}

.aegis-stone-section__heading {
	box-sizing: border-box;
	color: var(--wp--preset--color--not-black, #121010);
	font-family: var(--wp--preset--font-family--puritan) !important;
	font-size: clamp(1.25rem, 3.5vw, var(--wp--preset--font-size--display, 2.5rem)) !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	margin: 0;
	max-width: 100%;
	pointer-events: auto;
	position: absolute;
	text-transform: uppercase;
	z-index: 3;
}

/* Mid circle: below grey overlay stone, left of scrub photo stone */
.aegis-stone-section__heading.is-position-one {
	left: 64%;
	right: auto;
	top: 27.5%;
	width: min(100%, 20rem);
}

/* Top circle: right of tunnel, above hills photo stone */
.aegis-stone-section__heading.is-position-two {
	left: 16%;
	right: auto;
	top: 58%;
	width: min(100%, 20rem);
}

/* Bottom circle: right of path stone, above lower grey stone */
.aegis-stone-section__heading.is-position-three {
	left: 70%;
	right: auto;
	top: 75%;
	width: min(100%, 20rem);
}

/*
 * Editor-only Stone Section layout.
 * Gutenberg wraps groups/HTML in extra nodes that collapse aspect-ratio stacks;
 * rebuild the same visual stack here without changing frontend rules.
 */
.editor-styles-wrapper .aegis-stone-section,
.editor-styles-wrapper .block-editor-block-list__block.aegis-stone-section,
.block-editor-block-list__block.aegis-stone-section {
	position: relative !important;
}

.editor-styles-wrapper .aegis-stone-section__canvas,
.editor-styles-wrapper .block-editor-block-list__block.aegis-stone-section__canvas,
.block-editor-block-list__block.aegis-stone-section__canvas {
	aspect-ratio: 3496 / 4943 !important;
	box-sizing: border-box !important;
	height: auto !important;
	margin-inline: auto !important;
	max-width: 1600px !important;
	min-height: 0 !important;
	overflow: hidden !important;
	padding-inline: var(--wp--custom--layout--wide-inset, var(--wp--preset--spacing--60)) !important;
	position: relative !important;
	width: 100% !important;
}

.editor-styles-wrapper .aegis-stone-section__stage,
.editor-styles-wrapper .block-editor-block-list__block.aegis-stone-section__stage,
.block-editor-block-list__block.aegis-stone-section__stage {
	aspect-ratio: auto !important;
	height: 100% !important;
	inset: 0 !important;
	margin: 0 !important;
	max-width: none !important;
	min-height: 100% !important;
	position: absolute !important;
	width: 100% !important;
}

.editor-styles-wrapper .aegis-stone-section__photos,
.editor-styles-wrapper .block-editor-block-list__block.aegis-stone-section__photos,
.block-editor-block-list__block.aegis-stone-section__photos {
	height: 100% !important;
	inset: 0 !important;
	margin: 0 !important;
	max-width: none !important;
	pointer-events: none !important;
	position: absolute !important;
	width: 100% !important;
	z-index: 1 !important;
}

.editor-styles-wrapper .aegis-stone-section__stage > .block-editor-block-list__block:has(.aegis-stone-section__mask),
.editor-styles-wrapper .aegis-stone-section__stage > .wp-block-html,
.editor-styles-wrapper .aegis-stone-section__stage .block-editor-block-list__block.wp-block-html,
.editor-styles-wrapper .aegis-stone-section__stage .wp-block-html > div {
	height: 100% !important;
	inset: 0 !important;
	margin: 0 !important;
	max-width: none !important;
	pointer-events: none !important;
	position: absolute !important;
	width: 100% !important;
	z-index: 2 !important;
}

.editor-styles-wrapper .aegis-stone-section__mask {
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: 100% 100% !important;
	display: block !important;
	height: 100% !important;
	inset: 0 !important;
	opacity: 0.92;
	pointer-events: none !important;
	position: absolute !important;
	width: 100% !important;
	z-index: 2 !important;
}

.editor-styles-wrapper .aegis-stone-section__text-rail,
.editor-styles-wrapper .block-editor-block-list__block.aegis-stone-section__text-rail,
.block-editor-block-list__block.aegis-stone-section__text-rail {
	bottom: 0 !important;
	box-sizing: border-box !important;
	height: auto !important;
	inset: 0 !important;
	left: 0 !important;
	margin: 0 !important;
	max-width: none !important;
	pointer-events: none !important;
	position: absolute !important;
	right: 0 !important;
	top: 0 !important;
	width: 100% !important;
	z-index: 3 !important;
}

.editor-styles-wrapper .aegis-stone-section__photos > .block-editor-block-list__block,
.editor-styles-wrapper .aegis-stone-section__photos > .wp-block-image {
	border: 0 !important;
	border-radius: 50% !important;
	box-shadow: none !important;
	cursor: pointer;
	margin: 0 !important;
	max-width: none !important;
	outline: none !important;
	overflow: hidden !important;
	pointer-events: auto !important;
	position: absolute !important;
	z-index: 4 !important;
}

.editor-styles-wrapper .aegis-stone-section__photos > .block-editor-block-list__block:has(.is-photo-tunnel),
.editor-styles-wrapper .aegis-stone-section__photos > .wp-block-image.is-photo-tunnel {
	height: 24.62% !important;
	left: 29.27% !important;
	top: 19.48% !important;
	width: 33.05% !important;
}

.editor-styles-wrapper .aegis-stone-section__photos > .block-editor-block-list__block:has(.is-photo-flowers),
.editor-styles-wrapper .aegis-stone-section__photos > .wp-block-image.is-photo-flowers {
	height: 6.9% !important;
	left: 56.07% !important;
	top: 16.76% !important;
	width: 17.64% !important;
}

.editor-styles-wrapper .aegis-stone-section__photos > .block-editor-block-list__block:has(.is-photo-hills),
.editor-styles-wrapper .aegis-stone-section__photos > .wp-block-image.is-photo-hills {
	height: 11.01% !important;
	left: 64.11% !important;
	top: 33.56% !important;
	width: 9.08% !important;
}

.editor-styles-wrapper .aegis-stone-section__photos > .block-editor-block-list__block:has(.is-photo-listening),
.editor-styles-wrapper .aegis-stone-section__photos > .wp-block-image.is-photo-listening {
	height: 25.06% !important;
	left: 56.75% !important;
	top: 44.11% !important;
	width: 34.11% !important;
}

.editor-styles-wrapper .aegis-stone-section__photos > .block-editor-block-list__block:has(.is-photo-scrub),
.editor-styles-wrapper .aegis-stone-section__photos > .wp-block-image.is-photo-scrub {
	height: 13.07% !important;
	left: 39.91% !important;
	top: 53.31% !important;
	width: 14.36% !important;
}

.editor-styles-wrapper .aegis-stone-section__photos > .block-editor-block-list__block:has(.is-photo-path),
.editor-styles-wrapper .aegis-stone-section__photos > .wp-block-image.is-photo-path {
	height: 19.82% !important;
	left: 33.89% !important;
	top: 70.94% !important;
	width: 30.37% !important;
}

.editor-styles-wrapper .aegis-stone-section__photos > .block-editor-block-list__block:has(.is-photo-portrait),
.editor-styles-wrapper .aegis-stone-section__photos > .wp-block-image.is-photo-portrait {
	height: 32% !important;
	left: 33% !important;
	top: 60% !important;
	width: 31% !important;
	z-index: 0 !important;
}

.editor-styles-wrapper .aegis-stone-section__photos > .block-editor-block-list__block:has(.is-photo-detail),
.editor-styles-wrapper .aegis-stone-section__photos > .wp-block-image.is-photo-detail {
	height: 6.9% !important;
	left: 55.52% !important;
	top: 65.53% !important;
	width: 8.62% !important;
}

.editor-styles-wrapper .aegis-stone-section__photos > .block-editor-block-list__block .wp-block-image,
.editor-styles-wrapper .aegis-stone-section__photos > .block-editor-block-list__block .aegis-stone-section__photo {
	border: 0 !important;
	box-shadow: none !important;
	height: 100% !important;
	inset: 0 !important;
	margin: 0 !important;
	max-width: none !important;
	outline: none !important;
	position: absolute !important;
	width: 100% !important;
}

.editor-styles-wrapper .aegis-stone-section__photos .wp-block-image img,
.editor-styles-wrapper .aegis-stone-section__photos .aegis-stone-section__photo img {
	border-radius: 50% !important;
	display: block !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
	width: 100% !important;
}

.editor-styles-wrapper .aegis-stone-section__heading,
.editor-styles-wrapper .aegis-stone-section__text-rail > .block-editor-block-list__block:has(.aegis-stone-section__heading) {
	box-sizing: border-box !important;
	margin: 0 !important;
	max-width: 100% !important;
	pointer-events: auto !important;
	position: absolute !important;
	z-index: 3 !important;
}

.editor-styles-wrapper .aegis-stone-section__heading.is-position-one,
.editor-styles-wrapper .aegis-stone-section__text-rail > .block-editor-block-list__block:has(.is-position-one) {
	left: 42% !important;
	right: auto !important;
	top: 48% !important;
	width: min(100%, 12.5rem) !important;
}

.editor-styles-wrapper .aegis-stone-section__heading.is-position-two,
.editor-styles-wrapper .aegis-stone-section__text-rail > .block-editor-block-list__block:has(.is-position-two) {
	left: 64% !important;
	right: auto !important;
	top: 25% !important;
	width: min(100%, 12.5rem) !important;
}

.editor-styles-wrapper .aegis-stone-section__heading.is-position-three,
.editor-styles-wrapper .aegis-stone-section__text-rail > .block-editor-block-list__block:has(.is-position-three) {
	left: 68% !important;
	right: auto !important;
	top: 80% !important;
	width: min(100%, 14rem) !important;
}

/*
 * Stone Section — mobile/tablet (≤781px)
 * Keep collage + overlay. Stones sit inset in the artboard (~18–82%);
 * scale the stage up so the cluster fills the viewport width.
 */
@media (max-width: 781px) {
	main.wp-block-group:has(.aegis-stone-section),
	main.wp-block-group:has(.wp-block-post-content .aegis-stone-section) {
		max-width: none;
		padding-inline: 0 !important;
	}

	.wp-block-post-content:has(.aegis-stone-section) {
		margin-inline: 0;
		max-width: none;
		padding-inline: 0;
	}

	.aegis-stone-section,
	.aegis-stone-section.alignfull {
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		max-width: 100vw;
		overflow: hidden;
		padding-block: var(--aegis-space-section-mobile);
		padding-inline: 0;
		width: 100vw;
	}

	.aegis-stone-section__canvas {
		box-sizing: border-box;
		margin-inline: 0;
		max-width: none;
		overflow: hidden;
		padding-inline: 0;
		position: relative;
		width: 100%;
	}

	/*
	 * Scale stage so the stone cluster reaches the screen edges.
	 * 145% width + -22.5% side offset crops the empty artboard margins.
	 */
	.aegis-stone-section__stage {
		aspect-ratio: 3496 / 4943;
		display: block;
		height: auto;
		margin: 0 0 0 -22.5%;
		max-width: none;
		padding: 0;
		position: relative;
		width: 135%;
	}

	.aegis-stone-section__photos {
		display: block;
		inset: 0;
		pointer-events: none;
		position: absolute;
		z-index: 1;
	}

	.aegis-stone-section__mask {
		display: block !important;
		height: 100%;
		inset: 0;
		pointer-events: none;
		position: absolute;
		width: 100%;
		z-index: 2;
	}

	.aegis-stone-section__text-rail {
		bottom: 0;
		display: block;
		inset: 0;
		left: 0;
		margin: 0;
		max-width: none;
		padding: 0;
		pointer-events: none;
		position: absolute;
		right: 0;
		top: 0;
		width: 100%;
		z-index: 3;
	}

	.aegis-stone-section__heading {
		font-size: clamp(1.125rem, 4.8vw, 1.65rem) !important;
		line-height: 1.1 !important;
		padding-inline: 0;
	}

	/* Mobile text positions — edit left/top/width here (≤781px only) */
	.aegis-stone-section__heading.is-position-one {
		font-size: clamp(1.125rem, 4.8vw, 1.65rem) !important;
		left: 62%;
		right: auto;
		top: 28%;
		width: min(100%, 12rem);
	}

	.aegis-stone-section__heading.is-position-two {
		font-size: clamp(1.125rem, 4.8vw, 1.65rem) !important;
		left: 6%;
		right: auto;
		top: 60%;
		width: min(100%, 12rem);
	}

	.aegis-stone-section__heading.is-position-three {
		font-size: clamp(1.125rem, 4.8vw, 1.65rem) !important;
		left: 70%;
		right: auto;
		top: 75%;
		width: min(100%, 12rem);
	}
}

/*
 * Liveability CTA — Figma 6828:6132
 * Honeydew band with copy, button, and village illustration.
 */
.aegis-liveability-cta.alignfull {
	margin-inline: calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}

main.wp-block-group:has(.aegis-liveability-cta),
main.wp-block-group:has(.wp-block-post-content .aegis-liveability-cta) {
	max-width: none;
}

.wp-block-post-content:has(.aegis-liveability-cta) {
	margin-inline: 0;
	max-width: none;
	padding-inline: 0;
}

/* Honeydew CTA sits flush on the footer — no root/main/footer gap.
 * Compact soundwalk sources CTA is mid-page; exclude it from flush rules. */
:where(.wp-site-blocks) > main:has(.aegis-liveability-cta:not(.aegis-liveability-cta--compact)) + footer,
:where(.wp-site-blocks) > main:has(.wp-block-post-content .aegis-liveability-cta:not(.aegis-liveability-cta--compact)) + footer {
	background-color: var(--wp--preset--color--primary, #3e6a67);
	margin-block-start: -2px;
}

main.wp-block-group:has(.aegis-liveability-cta:not(.aegis-liveability-cta--compact)),
main.wp-block-group:has(.wp-block-post-content .aegis-liveability-cta:not(.aegis-liveability-cta--compact)) {
	padding-block-end: 0 !important;
}

main:has(.aegis-liveability-cta:not(.aegis-liveability-cta--compact)) + footer .aegis-footer,
main:has(.wp-block-post-content .aegis-liveability-cta:not(.aegis-liveability-cta--compact)) + footer .aegis-footer {
	margin-block-start: 0 !important;
}

.aegis-liveability-cta {
	aspect-ratio: 1440 / 591;
	gap: 0;
	margin: 0;
	max-height: 36.9375rem;
	min-height: clamp(18rem, 41.03vw, 36.9375rem);
	overflow: hidden;
	padding: 0;
	position: relative;
	width: 100%;
}

.aegis-liveability-cta.is-layout-flow > * + *,
.aegis-liveability-cta.is-layout-constrained > * + * {
	margin-block-start: 0;
}

/* Copy lives in the theme wide rail; art is anchored to the full-bleed banner. */
.aegis-liveability-cta__content.aegis-wide-rail {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-heading-tight); /* 8px heading → intro */
	padding-block: var(--wp--preset--spacing--80) 0;
	position: relative;
	width: 100%;
	z-index: 2;
}

/* Legacy saved markup may still wrap copy in __canvas. */
.aegis-liveability-cta__canvas {
	box-sizing: border-box;
	margin: 0;
	max-width: none;
	padding: 0;
	position: static;
	width: 100%;
}

.aegis-liveability-cta__canvas.aegis-wide-rail {
	margin-inline: 0;
	max-width: none;
	padding-inline: 0;
	width: 100%;
}

.aegis-liveability-cta__canvas > .aegis-liveability-cta__content.aegis-wide-rail {
	padding-block: var(--wp--preset--spacing--80) 0;
}

.aegis-liveability-cta__content:not(.aegis-wide-rail) {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-heading-tight); /* 8px heading → intro */
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size, 1152px);
	padding-block: var(--wp--preset--spacing--80) 0;
	padding-inline: var(--wp--custom--layout--wide-inset, var(--wp--preset--spacing--60));
	position: relative;
	width: 100%;
	z-index: 2;
}

.aegis-liveability-cta__content.is-layout-flow > * + *,
.aegis-liveability-cta__content.is-layout-constrained > * + * {
	margin-block-start: 0;
}

.aegis-liveability-cta__heading {
	color: var(--wp--preset--color--not-black, #121010);
	font-family: var(--wp--preset--font-family--puritan) !important;
	font-size: var(--wp--preset--font-size--heading-4, 2rem) !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	margin: 0;
	max-width: 50.375rem;
	text-transform: uppercase;
}

.aegis-liveability-cta__intro {
	color: var(--wp--preset--color--not-black, #121010);
	font-family: var(--wp--preset--font-family--inter) !important;
	font-size: clamp(1rem, 1.389vw, 1.25rem) !important;
	line-height: calc(32 / 20) !important;
	margin: 0;
	max-width: none;
}

.aegis-liveability-cta__actions {
	display: flex;
	margin: 0;
	margin-block-start: calc(
		var(--aegis-space-heading-content) - var(--aegis-space-heading-tight)
	); /* 32px intro → button */
	max-width: 100%;
	width: auto;
}

.aegis-liveability-cta__button {
	flex-shrink: 0;
	height: auto;
	margin: 0;
	max-width: 100%;
	width: auto !important;
}

.aegis-liveability-cta__actions .aegis-liveability-cta__button .wp-block-button__link {
	align-items: center;
	background-color: var(--wp--preset--color--jasmine, #f8d877);
	border: 0;
	border-radius: var(--wp--custom--border-radius--small, 8px);
	box-shadow: var(--wp--custom--shadow--button, 0 1px 2px rgba(0, 0, 0, 0.25));
	box-sizing: border-box;
	color: var(--wp--preset--color--not-black, #121010);
	display: inline-flex;
	font-family: var(--wp--preset--font-family--puritan);
	font-size: var(--wp--preset--font-size--heading-2, 1.25rem);
	font-weight: 700;
	height: auto;
	justify-content: center;
	line-height: 1.2;
	max-width: 100%;
	min-height: 2.75rem;
	padding-block: var(--wp--preset--spacing--10, 0.5rem);
	padding-inline: var(--wp--preset--spacing--20, 0.75rem);
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	width: auto;
}

.aegis-liveability-cta .aegis-liveability-cta__art {
	align-items: flex-end;
	bottom: -1px;
	display: flex;
	height: calc(100% + 1px);
	justify-content: flex-end;
	left: auto;
	line-height: 0;
	margin: 0;
	max-width: none;
	overflow: hidden;
	padding: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: auto;
	width: 94.167%;
	z-index: 1;
}

.aegis-liveability-cta .aegis-liveability-cta__art img {
	display: block;
	height: auto;
	margin: 0;
	max-height: 100%;
	max-width: 100%;
	object-fit: contain;
	object-position: right bottom;
	padding: 0;
	position: static;
	width: auto;
}

.editor-styles-wrapper .aegis-liveability-cta__art,
.block-editor-block-list__block.aegis-liveability-cta .aegis-liveability-cta__art {
	pointer-events: none;
}

.editor-styles-wrapper .aegis-liveability-cta__art .wp-block-image,
.block-editor-block-list__block.aegis-liveability-cta .aegis-liveability-cta__art {
	cursor: pointer;
	pointer-events: auto;
	z-index: 4;
}

@media (max-width: 781px) {
	.aegis-liveability-cta {
		aspect-ratio: auto;
		max-height: none;
		min-height: clamp(18rem, 62vw, 28rem);
	}

	.aegis-liveability-cta__content.aegis-wide-rail,
	.aegis-liveability-cta__content:not(.aegis-wide-rail),
	.aegis-liveability-cta__canvas > .aegis-liveability-cta__content.aegis-wide-rail {
		padding-block: var(--wp--preset--spacing--60) 0;
	}

	.aegis-liveability-cta:not(.aegis-liveability-cta--compact):not(.aegis-soundwalk-sources-cta) .aegis-liveability-cta__heading,
	.aegis-liveability-cta:not(.aegis-liveability-cta--compact):not(.aegis-soundwalk-sources-cta) .aegis-liveability-cta__intro {
		max-width: min(18rem, 58%);
	}

	.aegis-liveability-cta:not(.aegis-liveability-cta--compact):not(.aegis-soundwalk-sources-cta) .aegis-liveability-cta__actions,
	.aegis-liveability-cta:not(.aegis-liveability-cta--compact):not(.aegis-soundwalk-sources-cta) .aegis-liveability-cta__button,
	.aegis-liveability-cta:not(.aegis-liveability-cta--compact):not(.aegis-soundwalk-sources-cta) .aegis-liveability-cta__actions .aegis-liveability-cta__button .wp-block-button__link {
		max-width: min(100%, 18rem);
	}

	.aegis-liveability-cta__actions .aegis-liveability-cta__button .wp-block-button__link {
		white-space: normal;
	}

	.aegis-liveability-cta:not(.aegis-liveability-cta--compact):not(.aegis-soundwalk-sources-cta) .aegis-liveability-cta__art {
		align-items: flex-end;
		bottom: 0;
		display: flex;
		height: auto;
		justify-content: flex-end;
		max-height: 70%;
		top: auto;
		width: min(65%, 28rem);
	}

	.aegis-liveability-cta:not(.aegis-liveability-cta--compact):not(.aegis-soundwalk-sources-cta) .aegis-liveability-cta__art img {
		height: auto;
		max-height: 14rem;
		max-width: 100%;
		width: auto;
	}
}

/*
 * Compact Liveability CTA — Figma 7211:19875
 * Shorter honeydew band (~330px) for soundwalk sources.
 */
.aegis-liveability-cta--compact,
.aegis-soundwalk-sources-cta {
	aspect-ratio: auto;
	height: 20.625rem; /* 330px */
	max-height: 20.625rem;
	min-height: 20.625rem;
	overflow: hidden;
	position: relative;
}

.aegis-liveability-cta--compact.alignfull,
.aegis-soundwalk-sources-cta.alignfull,
.aegis-soundwalk-detail > .aegis-soundwalk-sources-cta,
.aegis-soundwalk-detail > .wp-block-custom-database-soundwalk-sources-cta {
	margin-inline: calc(50% - 50vw) !important;
	max-width: 100vw !important;
	padding-inline: 0 !important;
	width: 100vw !important;
}

.aegis-liveability-cta--compact .aegis-liveability-cta__content.aegis-wide-rail,
.aegis-liveability-cta--compact .aegis-liveability-cta__content:not(.aegis-wide-rail),
.aegis-liveability-cta--compact .aegis-liveability-cta__canvas > .aegis-liveability-cta__content.aegis-wide-rail {
	gap: var(--aegis-space-heading-tight);
	padding-block: 2rem;
	position: relative;
	z-index: 2;
}

.aegis-liveability-cta--compact .aegis-liveability-cta__heading {
	font-size: var(--wp--preset--font-size--heading-4, 2rem) !important;
	line-height: 1.25 !important;
	max-width: 34rem;
}

.aegis-liveability-cta--compact .aegis-liveability-cta__intro {
	font-size: clamp(1rem, 1.389vw, 1.25rem) !important; /* 16–20 */
	line-height: calc(32 / 20) !important;
	max-width: 34rem;
}

.aegis-liveability-cta--compact .aegis-liveability-cta__actions .aegis-liveability-cta__button .wp-block-button__link {
	background-color: var(--wp--preset--color--jasmine, #f8d877);
	color: var(--wp--preset--color--not-black, #121010);
}

/* Village art: right-anchored, fully visible (no crop). */
.aegis-liveability-cta--compact .aegis-liveability-cta__art,
.aegis-soundwalk-sources-cta .aegis-liveability-cta__art {
	align-items: flex-end;
	bottom: 0;
	display: flex;
	height: 100%;
	justify-content: flex-end;
	left: auto;
	margin: 0;
	max-width: none;
	overflow: visible;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	width: min(64%, 46rem);
	z-index: 1;
}

.aegis-liveability-cta--compact .aegis-liveability-cta__art img,
.aegis-soundwalk-sources-cta .aegis-liveability-cta__art img {
	display: block;
	height: 100%;
	margin: 0;
	max-height: 100%;
	max-width: 100%;
	object-fit: contain;
	object-position: right bottom;
	padding: 0;
	position: static;
	width: auto;
}

@media (max-width: 1400px) {
	.aegis-liveability-cta--compact .aegis-liveability-cta__heading,
	.aegis-liveability-cta--compact .aegis-liveability-cta__intro,
	.aegis-soundwalk-sources-cta .aegis-liveability-cta__heading,
	.aegis-soundwalk-sources-cta .aegis-liveability-cta__intro {
		max-width: min(34rem, 48%);
	}

	.aegis-liveability-cta--compact .aegis-liveability-cta__art,
	.aegis-soundwalk-sources-cta .aegis-liveability-cta__art {
		height: 100%;
		max-height: none;
		top: auto;
		width: min(64%, 40rem);
	}

	.aegis-liveability-cta--compact .aegis-liveability-cta__art img,
	.aegis-soundwalk-sources-cta .aegis-liveability-cta__art img {
		height: 100%;
		max-height: 100%;
		max-width: 100%;
		object-fit: contain;
		object-position: right bottom;
		width: auto;
	}
}

@media (max-width: 1100px) {
	.aegis-liveability-cta:not(.aegis-liveability-cta--compact):not(.aegis-soundwalk-sources-cta) .aegis-liveability-cta__heading,
	.aegis-liveability-cta:not(.aegis-liveability-cta--compact):not(.aegis-soundwalk-sources-cta) .aegis-liveability-cta__intro {
		max-width: min(50.375rem, 52%);
	}

	.aegis-liveability-cta .aegis-liveability-cta__art {
		width: min(70%, 34rem);
	}

	.aegis-liveability-cta--compact .aegis-liveability-cta__heading,
	.aegis-liveability-cta--compact .aegis-liveability-cta__intro,
	.aegis-soundwalk-sources-cta .aegis-liveability-cta__heading,
	.aegis-soundwalk-sources-cta .aegis-liveability-cta__intro {
		max-width: min(32rem, 48%);
	}

	.aegis-liveability-cta--compact .aegis-liveability-cta__art,
	.aegis-soundwalk-sources-cta .aegis-liveability-cta__art {
		height: 100%;
		max-height: none;
		top: auto;
		width: min(58%, 34rem);
	}

	.aegis-liveability-cta--compact .aegis-liveability-cta__art img,
	.aegis-soundwalk-sources-cta .aegis-liveability-cta__art img {
		height: 100%;
		max-height: 100%;
		max-width: 100%;
		object-fit: contain;
		object-position: right bottom;
		width: auto;
	}
}

.aegis-soundwalk-detail--credits {
	padding-block-start: var(--wp--preset--spacing--60);
}

@media (max-width: 781px) {
	.aegis-liveability-cta--compact,
	.aegis-soundwalk-sources-cta {
		aspect-ratio: auto;
		height: auto;
		max-height: none;
		min-height: clamp(18rem, 62vw, 28rem);
	}

	.aegis-liveability-cta--compact .aegis-liveability-cta__content.aegis-wide-rail,
	.aegis-liveability-cta--compact .aegis-liveability-cta__content:not(.aegis-wide-rail),
	.aegis-liveability-cta--compact .aegis-liveability-cta__canvas > .aegis-liveability-cta__content.aegis-wide-rail,
	.aegis-soundwalk-sources-cta .aegis-liveability-cta__content.aegis-wide-rail {
		align-items: flex-start;
		gap: var(--aegis-space-heading-tight);
		margin-inline: auto;
		max-width: var(--wp--style--global--wide-size, 1152px);
		padding-block: var(--wp--preset--spacing--60) 0;
		padding-inline: var(--wp--custom--layout--wide-inset, var(--wp--preset--spacing--60));
		width: 100%;
	}

	.aegis-liveability-cta--compact .aegis-liveability-cta__heading,
	.aegis-soundwalk-sources-cta .aegis-liveability-cta__heading,
	.aegis-liveability-cta--compact .aegis-liveability-cta__intro,
	.aegis-soundwalk-sources-cta .aegis-liveability-cta__intro {
		max-width: min(20rem, 70%);
	}

	.aegis-liveability-cta--compact .aegis-liveability-cta__actions,
	.aegis-soundwalk-sources-cta .aegis-liveability-cta__actions {
		align-self: flex-start;
		justify-content: flex-start;
		margin: 0;
		width: auto;
	}

	.aegis-liveability-cta--compact .aegis-liveability-cta__art,
	.aegis-soundwalk-sources-cta .aegis-liveability-cta__art {
		align-items: flex-end;
		bottom: 0;
		height: auto;
		justify-content: flex-end;
		left: auto;
		max-height: 70%;
		right: 0;
		top: auto;
		width: min(65%, 25rem);
	}

	.aegis-liveability-cta--compact .aegis-liveability-cta__art img,
	.aegis-soundwalk-sources-cta .aegis-liveability-cta__art img {
		height: auto;
		max-height: 12rem;
		max-width: 100%;
		object-fit: contain;
		object-position: right bottom;
		width: auto;
	}
}


/*
 * Start Journey — Figma 6828:6066
 * Centered header + steps column + phone mockup.
 * Roles: section-lg pad · heading-tight (H→intro) · section (header→body / body gap).
 */
.aegis-start-journey {
	padding-block: var(--aegis-space-section-lg);
}

.aegis-start-journey__inner.aegis-wide-rail {
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-section); /* 64px — header → body */
}

.aegis-start-journey__header {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-heading-tight); /* 8px — Figma 6828:6066 */
	text-align: center;
	width: 100%;
}

/* Collapse theme blockGap so only role tokens remain. */
.aegis-start-journey__inner.is-layout-flow > * + *,
.aegis-start-journey__inner.is-layout-constrained > * + *,
.aegis-start-journey__header.is-layout-flow > * + *,
.aegis-start-journey__header.is-layout-constrained > * + *,
.aegis-start-journey__body.is-layout-flow > * + *,
.aegis-start-journey__body.is-layout-constrained > * + *,
.aegis-start-journey__steps.is-layout-flow > * + *,
.aegis-start-journey__steps.is-layout-constrained > * + *,
.aegis-start-journey__step.is-layout-flow > * + *,
.aegis-start-journey__step.is-layout-constrained > * + *,
.aegis-start-journey__inner > * + *,
.aegis-start-journey__header > * + *,
.aegis-start-journey__body > * + *,
.aegis-start-journey__steps > * + *,
.aegis-start-journey__step > * + * {
	margin-block-start: 0 !important;
}

.aegis-start-journey__heading {
	color: var(--wp--preset--color--text, #2d2a29) !important;
	font-family: var(--wp--preset--font-family--puritan) !important;
	font-size: var(--wp--preset--font-size--heading-4, 2rem) !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	margin: 0 !important;
	text-transform: uppercase;
}

.aegis-start-journey__intro {
	color: var(--wp--preset--color--not-black, #121010) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
	font-size: clamp(1rem, 1.5vw, 1.25rem) !important;
	font-weight: 400 !important;
	line-height: 1.6 !important;
	margin: 0 auto !important;
	max-width: 40rem;
}

.aegis-start-journey__body {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	gap: var(--aegis-space-section); /* 64px — steps ↔ phone */
	justify-content: center;
	width: 100%;
}

.aegis-start-journey__steps {
	display: flex;
	flex: 1 1 18rem;
	flex-direction: column;
	gap: var(--aegis-space-heading-text); /* 16px between steps */
	justify-content: center;
	max-width: 32rem;
	min-height: 0;
	padding-block: 0;
}

.aegis-start-journey__step {
	align-items: center;
	display: flex;
	flex-direction: row;
	gap: var(--aegis-space-heading-text); /* 16px — icon → label */
	width: 100%;
}

.aegis-start-journey__icon {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	height: 5rem;
	justify-content: center;
	width: 5rem;
}

.aegis-start-journey__icon img {
	display: block;
	height: 3.375rem;
	object-fit: contain;
	width: 3.375rem;
}

.aegis-start-journey__step-title {
	color: var(--wp--preset--color--not-black, #121010) !important;
	flex: 1 1 auto;
	font-family: var(--wp--preset--font-family--puritan) !important;
	font-size: clamp(1.25rem, 2.5vw, 2rem) !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	margin: 0 !important;
	text-transform: uppercase;
}

.aegis-start-journey__device {
	align-items: center;
	display: flex;
	flex: 0 1 auto;
	justify-content: center;
}

.aegis-start-journey__phone {
	margin: 0 !important;
	max-width: 17.2rem;
	width: 100%;
}

.aegis-start-journey__phone img {
	border-radius: 1rem;
	box-shadow: 0 1px 0.5px rgba(0, 0, 0, 0.25);
	display: block;
	height: auto;
	width: 100%;
}

.editor-styles-wrapper .aegis-start-journey__phone,
.block-editor-block-list__block.aegis-start-journey .aegis-start-journey__phone {
	cursor: pointer;
}

@media (max-width: 781px) {
	.aegis-start-journey {
		padding-block: var(--aegis-space-section-lg-mobile); /* 32px */
	}

	.aegis-start-journey__inner.aegis-wide-rail {
		gap: var(--aegis-space-listing); /* 40px — header → body on mobile */
	}

	.aegis-start-journey__body {
		flex-direction: column;
		gap: var(--aegis-space-listing); /* 40px — steps → phone */
	}

	.aegis-start-journey__steps {
		gap: var(--aegis-space-heading-text); /* 16px between steps */
		justify-content: flex-start;
		max-width: none;
		min-height: 0;
		padding-block: 0;
		width: 100%;
	}

	.aegis-start-journey__device {
		width: 100%;
	}

	.aegis-start-journey__phone {
		margin-inline: auto !important;
		max-width: 16rem;
	}
}

/*
 * Favourite Routes — Figma 6831:6699
 * Centered heading + three vertical Soundwalk cards in a row.
 */
.aegis-favourite-routes {
	padding-block: var(--aegis-space-section-lg);
}

.aegis-favourite-routes__inner.aegis-wide-rail {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-favourite); /* Figma 6831:6699 — 50px */
}

.aegis-favourite-routes__heading {
	color: var(--wp--preset--color--text, #2d2a29) !important;
	font-family: var(--wp--preset--font-family--puritan) !important;
	font-size: var(--wp--preset--font-size--heading-4, 2rem) !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	margin: 0 !important;
	text-align: center;
	text-transform: uppercase;
}

.aegis-favourite-routes__cards {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	gap: 3.4375rem; /* 55px — Figma card offset 325−270 */
	justify-content: center;
	width: 100%;
}

.aegis-favourite-routes__cards > .wp-block-custom-database-soundwalk-card,
.aegis-favourite-routes__cards > .aegis-soundwalk-card-editor-preview {
	flex: 0 1 16.875rem;
	margin: 0;
	max-width: 16.875rem;
	width: 100%;
}

.aegis-favourite-routes__cards .aegis-soundwalk-card--vertical {
	margin-inline: 0;
	max-width: none;
	width: 100%;
}

@media (max-width: 781px) {
	.aegis-favourite-routes {
		padding-block: var(--aegis-space-section-lg-mobile);
	}

	.aegis-favourite-routes__inner.aegis-wide-rail {
		gap: var(--aegis-space-heading-content);
	}

	.aegis-favourite-routes__cards {
		flex-direction: column;
		gap: 1.5rem;
	}

	.aegis-favourite-routes__cards > .wp-block-custom-database-soundwalk-card,
	.aegis-favourite-routes__cards > .aegis-soundwalk-card-editor-preview {
		flex: 0 1 auto;
		margin-inline: auto;
		max-width: 16.875rem;
	}
}

/*
 * Pioneering routes — below the Soundwalk overview cards + map.
 */
.aegis-pioneering-routes {
	box-sizing: border-box;
	padding-block: var(--aegis-space-section);
	width: 100%;
}

.aegis-pioneering-routes__inner.aegis-wide-rail {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-heading-content);
}

.aegis-pioneering-routes__header {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-heading-text);
	max-width: 47.5rem;
	text-align: center;
}

.aegis-pioneering-routes__heading {
	color: var(--wp--preset--color--text, #2d2a29);
	font-family: var(--wp--preset--font-family--puritan);
	font-size: var(--wp--preset--font-size--heading-4, 2rem);
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
	text-align: center;
	text-transform: uppercase;
}

.aegis-pioneering-routes__intro {
	color: var(--wp--preset--color--text, #2d2a29);
	font-family: var(--wp--preset--font-family--inter);
	font-size: var(--wp--preset--font-size--body, 1rem);
	line-height: 1.5;
	margin: 0;
	text-align: center;
}

.aegis-pioneering-routes__empty {
	color: var(--wp--preset--color--text, #2d2a29);
	font-family: var(--wp--preset--font-family--inter);
	font-size: var(--wp--preset--font-size--body, 1rem);
	line-height: 1.5;
	margin: 0;
	opacity: 0.72;
	text-align: center;
}

.aegis-pioneering-routes__cards {
	align-items: stretch;
	align-self: center;
	display: grid;
	gap: var(--wp--preset--spacing--40);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	/* Same column width as .aegis-soundwalk-map-layout__cards (1fr of a 2-col split). */
	width: calc((100% - var(--wp--preset--spacing--50)) / 2);
}

.aegis-pioneering-routes__cards > .wp-block-custom-database-soundwalk-card,
.aegis-pioneering-routes__cards > .aegis-soundwalk-card,
.aegis-pioneering-routes__cards .aegis-soundwalk-card--vertical {
	margin: 0;
	max-width: none;
	width: 100%;
}

@media (max-width: 1100px) {
	.aegis-pioneering-routes__cards {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 781px) {
	.aegis-pioneering-routes {
		padding-block: var(--aegis-space-section-mobile);
	}

	.aegis-pioneering-routes__cards {
		grid-template-columns: minmax(0, 1fr);
		width: 100%;
	}
}

/*
 * About Us sections — Figma 7190:12667 / 7190:14085
 */
.aegis-about-section {
	padding-block: var(--aegis-space-section);
}

.aegis-about-section + .aegis-about-section {
	padding-block-start: 0;
}

.aegis-about-section__inner.aegis-wide-rail {
	display: flex;
	flex-direction: column;
	gap: var(--aegis-space-heading-content); /* 32px — Figma collaboration */
}

/* Figma: heading → intro is 8px inside the collaboration text stack. */
.aegis-about-collaboration .aegis-about-section__heading {
	margin-block-end: calc(var(--aegis-space-heading-tight) - var(--aegis-space-heading-content)) !important;
}

.aegis-about-researchers .aegis-about-section__inner.aegis-wide-rail {
	gap: var(--aegis-space-heading-text); /* 16px — Figma researchers */
}

.aegis-about-section__heading {
	color: var(--wp--preset--color--primary, #3e6a67) !important;
	font-family: var(--wp--preset--font-family--puritan) !important;
	font-size: var(--wp--preset--font-size--heading-4, 2rem) !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	margin: 0 !important;
	text-transform: uppercase;
}

.aegis-about-section__intro {
	color: var(--wp--preset--color--text, #2d2a29);
	font-family: var(--wp--preset--font-family--inter);
	font-size: var(--wp--preset--font-size--body, 1rem);
	line-height: 1.5;
	margin: 0;
	max-width: 35.25rem; /* 564px */
}

/* University cards */
.aegis-about-university-card {
	background: var(--wp--preset--color--surface, #ffffff);
	border-radius: var(--wp--custom--border-radius--small, 8px);
	box-shadow: 0 1px 2px rgba(62, 106, 103, 0.25);
	display: flex;
	flex-direction: column;
	flex: 1 1 16.875rem;
	max-width: 23rem; /* 368px */
	min-width: 16.875rem; /* 270px */
	overflow: hidden;
	width: 100%;
}

.aegis-about-university-card__media {
	background: var(--wp--preset--color--section-muted, #e1dede);
	display: block;
	flex-shrink: 0;
	height: 12.75rem; /* 204px */
	overflow: hidden;
	position: relative;
	width: 100%;
}

.aegis-about-university-card__media--placeholder {
	min-height: 12.75rem;
}

.aegis-about-university-card__image {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.aegis-about-university-card__body {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--10, 0.5rem);
	padding: var(--wp--preset--spacing--30, 1rem);
}

.aegis-about-university-card__title {
	color: var(--wp--preset--color--primary, #3e6a67);
	font-family: var(--wp--preset--font-family--puritan);
	font-size: var(--wp--preset--font-size--heading-2, 1.25rem);
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
	text-transform: uppercase;
}

.aegis-about-university-card__department,
.aegis-about-university-card__footer {
	color: var(--wp--preset--color--text, #2d2a29);
	font-family: var(--wp--preset--font-family--inter);
	line-height: 1.5;
	margin: 0;
}

.aegis-about-university-card__department {
	font-size: var(--wp--preset--font-size--body, 1rem);
}

.aegis-about-university-card__footer {
	font-size: 0.75rem;
}

.aegis-about-collaboration__cards {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	gap: var(--aegis-space-heading-content);
	justify-content: space-between;
	width: 100%;
}

.aegis-about-collaboration__cards > .wp-block-aegis-about-university-card,
.aegis-about-collaboration__cards > .aegis-about-university-card--editor {
	flex: 1 1 16.875rem;
	margin: 0;
	max-width: 23rem;
	min-width: 16.875rem;
	width: 100%;
}

/* Researcher cards — Figma 7190:13974 (Local Vertical, no link) */
.aegis-about-researcher-card,
.wp-block-aegis-about-researcher-card.aegis-about-researcher-card {
	background: var(--wp--preset--color--surface, #ffffff);
	border-radius: var(--wp--custom--border-radius--small, 8px);
	box-shadow: var(--wp--custom--shadow--card-soft, 0 0 5px rgba(0, 0, 0, 0.2));
	display: flex;
	flex-direction: column;
	flex: 0 0 16.875rem;
	max-width: 16.875rem; /* 270px */
	min-width: 16.875rem;
	overflow: hidden;
	width: 100%;
}

.aegis-about-researcher-card__media {
	aspect-ratio: 1;
	background: var(--wp--preset--color--section-muted, #e1dede);
	border-radius: var(--wp--custom--border-radius--small, 8px)
		var(--wp--custom--border-radius--small, 8px) 0 0;
	display: block;
	flex-shrink: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.aegis-about-researcher-card__media--placeholder {
	min-height: 100%;
}

.aegis-about-researcher-card__image {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.aegis-about-researcher-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 0.5rem; /* 8px */
	min-width: 0;
	padding: var(--wp--preset--spacing--30, 1rem);
}

.aegis-about-researcher-card__names {
	color: var(--wp--preset--color--primary, #3e6a67);
	font-family: var(--wp--preset--font-family--puritan);
	font-size: 1.25rem; /* 20px */
	font-weight: 700;
	line-height: 1.2; /* 24px */
	margin: 0;
	text-transform: uppercase;
	word-break: break-word;
}

.aegis-about-researcher-card__soundwalk {
	color: var(--wp--preset--color--not-black, #121010);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.875rem; /* 14px */
	font-weight: 400;
	line-height: 1.7142857143; /* 24px */
	margin: 0;
}

.aegis-about-researchers__cards {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	gap: var(--aegis-space-heading-content);
	justify-content: center;
	width: 100%;
}

.aegis-about-researchers__cards.is-layout-flow > *,
.aegis-about-collaboration__cards.is-layout-flow > * {
	margin-block-start: 0;
}

.aegis-about-researchers__heading-wrap {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20, 1rem); /* 16px */
}

.aegis-about-researchers__cards > .wp-block-aegis-about-researcher-card,
.aegis-about-researchers__cards > .aegis-about-researcher-card--editor {
	flex: 0 0 16.875rem;
	margin: 0;
	max-width: 16.875rem;
	min-width: 16.875rem;
	width: 16.875rem;
}

.aegis-about-card__media-empty {
	align-items: center;
	color: var(--wp--preset--color--muted, #6e756f);
	display: flex;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.875rem;
	height: 100%;
	justify-content: center;
	min-height: inherit;
	width: 100%;
}

.aegis-about-card__media-controls {
	align-items: center;
	background: rgba(18, 16, 16, 0.38);
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	inset: 0;
	justify-content: center;
	opacity: 0;
	padding: 0.75rem;
	pointer-events: none;
	position: absolute;
	transition: opacity 0.15s ease;
	z-index: 2;
}

.aegis-about-researcher-card__media:hover .aegis-about-card__media-controls,
.aegis-about-university-card__media:hover .aegis-about-card__media-controls,
.aegis-about-researcher-card__media:focus-within .aegis-about-card__media-controls,
.aegis-about-university-card__media:focus-within .aegis-about-card__media-controls,
.is-selected .aegis-about-card__media-controls,
.aegis-about-researcher-card--editor .aegis-about-researcher-card__media--placeholder .aegis-about-card__media-controls,
.aegis-about-university-card--editor .aegis-about-university-card__media--placeholder .aegis-about-card__media-controls {
	opacity: 1;
	pointer-events: auto;
}

.aegis-about-card__media-button {
	margin: 0;
}

.aegis-about-card__editor-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-block-start: 0.25rem;
}

.aegis-about-researchers__cards > .block-list-appender,
.aegis-about-collaboration__cards > .block-list-appender {
	align-items: center;
	align-self: stretch;
	display: flex;
	flex: 0 0 16.875rem;
	justify-content: center;
	min-height: 12.75rem;
	min-width: 16.875rem;
}

.aegis-about-researcher-card--editor .block-editor-rich-text__editable,
.aegis-about-university-card--editor .block-editor-rich-text__editable {
	cursor: text;
	min-height: 1.5em;
}

.aegis-about-researcher-card__editor-label {
	color: var(--wp--preset--color--muted, #6e756f);
	display: flex;
	flex-direction: column;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.75rem;
	font-weight: 600;
	gap: 0.375rem;
	letter-spacing: 0.02em;
	line-height: 1.2;
	margin: 0;
	text-transform: uppercase;
	width: 100%;
}

.aegis-about-researcher-card__names-input {
	background: transparent;
	border: 1px dashed rgba(62, 106, 103, 0.35);
	border-radius: 0.25rem;
	color: var(--wp--preset--color--primary, #3e6a67);
	display: block;
	font-family: var(--wp--preset--font-family--puritan);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
	min-height: 4.5rem;
	padding: 0.375rem 0.5rem;
	resize: vertical;
	text-transform: uppercase;
	width: 100%;
}

.aegis-about-researcher-card__names-input:focus {
	border-color: var(--wp--preset--color--primary, #3e6a67);
	box-shadow: 0 0 0 1px var(--wp--preset--color--primary, #3e6a67);
	outline: none;
}

.aegis-about-researcher-card__names-input::placeholder {
	color: rgba(62, 106, 103, 0.55);
	opacity: 1;
	text-transform: none;
}

.aegis-about-researcher-card--editor .aegis-about-researcher-card__soundwalk.block-editor-rich-text__editable,
.aegis-about-university-card--editor .aegis-about-university-card__title.block-editor-rich-text__editable {
	display: block;
	min-height: 1.5rem;
}

/* Contributor accordions — Figma 7190:14083 */
.aegis-about-contributors .aegis-about-section__inner.aegis-wide-rail {
	gap: var(--aegis-space-heading-text); /* 16px — Figma contributors */
}

.aegis-about-contributors .aegis-about-section__inner.is-layout-flow > *,
.aegis-about-contributors__accordions.is-layout-flow > * {
	margin-block-start: 0;
}

.aegis-about-contributors__accordions {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--10, 0.5rem); /* 8px between bars */
}

.aegis-about-contributors__accordions .wp-block-details {
	margin: 0;
}

.aegis-about-contributors__accordions .wp-block-aegis-about-contributor-accordion,
.aegis-about-contributors__accordions .aegis-about-contributor-accordion {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20, 1rem);
	margin: 0;
}

.aegis-about-contributor-accordion--editor {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20, 1rem);
	overflow: visible;
}

.aegis-about-contributor-accordion--editor .aegis-about-accordion__content {
	overflow: visible;
	padding-block: 0.25rem 0.5rem;
}

.aegis-about-contributor-accordion--editor .aegis-about-accordion__content .block-editor-inner-blocks {
	overflow: visible;
	width: 100%;
}

.aegis-about-contributor-accordion--editor .aegis-about-accordion__content .block-editor-inner-blocks > .block-editor-block-list__layout {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	min-height: 0;
	overflow: visible;
	width: 100%;
}

.aegis-about-contributors__accordions.aegis-about-accordion--dark .aegis-about-contributor-accordion--editor .aegis-about-accordion__content .block-editor-inner-blocks > .block-editor-block-list__layout {
	column-count: 2;
	column-gap: 2rem;
	display: block;
	gap: 0;
}

.aegis-about-contributor-accordion--editor .aegis-about-accordion__content .block-editor-block-list__block {
	break-inside: auto;
	margin-block: 0;
	min-height: 0;
	overflow: visible;
	position: relative;
	width: 100%;
}

.aegis-about-contributors__accordions.aegis-about-accordion--dark .aegis-about-contributor-accordion--editor .aegis-about-accordion__content .block-editor-block-list__block {
	break-inside: avoid;
	margin-block: 0 0.25rem;
}

.aegis-about-contributor-accordion--editor .aegis-about-accordion__content .block-editor-rich-text__editable {
	min-height: 1.5em;
	overflow: visible;
	white-space: pre-wrap;
	word-break: break-word;
}

.aegis-about-accordion--dark .aegis-about-accordion__summary,
.aegis-about-accordion--mint .aegis-about-accordion__summary {
	align-items: center;
	background: transparent;
	border-radius: 0.625rem;
	cursor: pointer;
	display: flex;
	font-family: var(--wp--preset--font-family--puritan);
	font-size: 1.25rem;
	font-weight: 700;
	justify-content: space-between;
	line-height: 1.2;
	list-style: none;
	margin: 0;
	min-height: 2rem;
	padding: var(--wp--preset--spacing--10, 0.5rem);
	text-transform: capitalize;
	width: 100%;
}

.aegis-about-accordion--dark .aegis-about-accordion__item > .aegis-about-accordion__summary,
.aegis-about-accordion--dark .wp-block-aegis-about-contributor-accordion > .aegis-about-accordion__summary {
	background: var(--wp--preset--color--primary, #3e6a67);
	color: var(--wp--preset--color--surface, #ffffff);
}

.aegis-about-accordion--mint .aegis-about-accordion__item > .aegis-about-accordion__summary,
.aegis-about-accordion--mint .wp-block-aegis-about-contributor-accordion > .aegis-about-accordion__summary {
	background: var(--wp--preset--color--honeydew, #e3f2e5);
	color: var(--wp--preset--color--primary, #3e6a67);
}

.aegis-about-accordion__summary::-webkit-details-marker {
	display: none;
}

.aegis-about-accordion__summary::after {
	content: none !important;
	display: none !important;
}

.aegis-about-accordion__item {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20, 1rem); /* 16px summary → content */
}

.aegis-about-accordion--dark .wp-block-details,
.aegis-about-accordion--mint .wp-block-details {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20, 1rem); /* 16px summary → content */
}

.aegis-about-accordion--dark .wp-block-details > summary,
.aegis-about-accordion--mint .wp-block-details > summary {
	align-items: center;
	border-radius: 0.625rem; /* 10px */
	cursor: pointer;
	display: flex;
	font-family: var(--wp--preset--font-family--puritan);
	font-size: 1.25rem; /* 20px H6 */
	font-weight: 700;
	justify-content: space-between;
	line-height: 1.2; /* 24px */
	list-style: none;
	margin: 0;
	min-height: 2rem; /* 32px */
	padding: var(--wp--preset--spacing--10, 0.5rem); /* 8px */
	text-transform: capitalize;
	width: 100%;
}

.aegis-about-accordion--dark .wp-block-details > summary::-webkit-details-marker,
.aegis-about-accordion--mint .wp-block-details > summary::-webkit-details-marker {
	display: none;
}

.aegis-about-accordion--dark .wp-block-details > summary::after,
.aegis-about-accordion--mint .wp-block-details > summary::after {
	background: center / contain no-repeat;
	content: "";
	display: block;
	flex-shrink: 0;
	height: 1.5rem;
	width: 1.5rem;
}

.aegis-about-accordion--dark .wp-block-details > summary {
	background: var(--wp--preset--color--primary, #3e6a67);
	color: var(--wp--preset--color--surface, #ffffff);
}

.aegis-about-accordion--dark .wp-block-details > summary::after {
	background-image: url("assets/icons/Arrow Down.svg");
	filter: brightness(0) invert(1);
}

.aegis-about-accordion--dark .wp-block-details[open] > summary::after {
	background-image: url("assets/icons/Arrow Up.svg");
}

.aegis-about-accordion--mint .wp-block-details > summary {
	background: var(--wp--preset--color--honeydew, #e3f2e5);
	color: var(--wp--preset--color--primary, #3e6a67);
}

.aegis-about-accordion--mint .wp-block-details > summary::after {
	background-image: url("assets/icons/Arrow Down.svg");
}

.aegis-about-accordion--mint .wp-block-details[open] > summary::after {
	background-image: url("assets/icons/Arrow Up.svg");
}

.aegis-about-accordion__summary {
	align-items: center;
	border-radius: 0.625rem;
	cursor: pointer;
	display: flex;
	font-family: var(--wp--preset--font-family--puritan);
	font-size: 1.25rem;
	font-weight: 700;
	justify-content: space-between;
	line-height: 1.2;
	list-style: none;
	margin: 0;
	min-height: 2rem;
	padding: var(--wp--preset--spacing--10, 0.5rem);
	text-transform: capitalize;
	width: 100%;
}

.aegis-about-accordion__summary::-webkit-details-marker {
	display: none;
}

.aegis-about-accordion--dark .aegis-about-accordion__summary {
	background: var(--wp--preset--color--primary, #3e6a67);
	color: var(--wp--preset--color--surface, #ffffff);
}

.aegis-about-accordion--mint .aegis-about-accordion__summary {
	background: var(--wp--preset--color--honeydew, #e3f2e5);
	color: var(--wp--preset--color--primary, #3e6a67);
}

.aegis-about-accordion__title {
	font-weight: 700;
}

.aegis-about-accordion__icon-wrap {
	align-items: center;
	display: inline-flex;
	flex-shrink: 0;
	height: 1.5rem;
	justify-content: center;
	width: 1.5rem;
}

.aegis-about-accordion__icon {
	background: center / contain no-repeat;
	display: block;
	height: 1.5rem;
	width: 1.5rem;
}

.aegis-about-accordion--dark .aegis-about-accordion__icon {
	background-image: url("assets/icons/Arrow Down.svg");
	filter: brightness(0) invert(1);
}

.aegis-about-accordion--dark .aegis-about-accordion__item[open] .aegis-about-accordion__icon {
	background-image: url("assets/icons/Arrow Up.svg");
}

.aegis-about-accordion--mint .aegis-about-accordion__icon {
	background-image: url("assets/icons/Arrow Down.svg");
}

.aegis-about-accordion--mint .aegis-about-accordion__item[open] .aegis-about-accordion__icon {
	background-image: url("assets/icons/Arrow Up.svg");
}

.aegis-about-accordion__content {
	color: var(--wp--preset--color--not-black, #121010);
	font-family: var(--wp--preset--font-family--inter);
	line-height: 1.5;
	padding: 0;
}

.aegis-about-accordion--dark .aegis-about-accordion__content,
.aegis-about-accordion--mint .aegis-about-accordion__content {
	color: var(--wp--preset--color--not-black, #121010);
}

.aegis-about-contributor-accordion--editor .aegis-about-accordion__content,
.aegis-about-contributor-accordion--editor .aegis-about-accordion__content .block-editor-block-list__block,
.aegis-about-contributor-accordion--editor .aegis-about-accordion__content .block-editor-rich-text__editable,
.aegis-about-contributor-accordion--editor .aegis-about-accordion__content p {
	color: var(--wp--preset--color--not-black, #121010);
}

.aegis-about-contributors__accordions.aegis-about-accordion--dark .wp-block-aegis-about-contributor-accordion:not(.aegis-about-contributor-accordion--editor) .aegis-about-accordion__content {
	column-count: 2;
	column-gap: 2rem;
}

.aegis-about-contributors__accordions.aegis-about-accordion--dark .wp-block-aegis-about-contributor-accordion:not(.aegis-about-contributor-accordion--editor) .aegis-about-accordion__content > p,
.aegis-about-contributors__accordions.aegis-about-accordion--dark .wp-block-aegis-about-contributor-accordion:not(.aegis-about-contributor-accordion--editor) .aegis-about-accordion__content > .wp-block-group,
.aegis-about-contributors__accordions.aegis-about-accordion--dark .wp-block-aegis-about-contributor-accordion:not(.aegis-about-contributor-accordion--editor) .aegis-about-accordion__content > .wp-block-list {
	break-inside: avoid;
	margin-block: 0 0.25rem;
}

.aegis-about-contributor-entries {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem; /* 32px — Figma 7190:14148 */
}

.aegis-about-contributor-entry {
	color: var(--wp--preset--color--not-black, #121010);
	display: flex;
	flex: 1 1 20.5rem; /* 328px */
	flex-direction: column;
	gap: var(--wp--preset--spacing--20, 1rem); /* 16px */
	max-width: 35.25rem; /* 564px */
	min-width: min(100%, 20.5rem);
}

.aegis-about-contributor-entry__university {
	color: var(--wp--preset--color--not-black, #121010);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.3333333333; /* 24px */
	margin: 0;
}

.aegis-about-contributor-entry__department {
	color: var(--wp--preset--color--not-black, #121010);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	margin: 0;
}

.aegis-about-contributor-entry__names {
	color: var(--wp--preset--color--not-black, #121010);
	column-gap: 2rem;
	columns: 2;
	font-size: var(--wp--preset--font-size--body, 1rem);
	line-height: 1.5;
	margin: 0;
}

.aegis-about-contributor-entry__names p {
	color: inherit;
	margin: 0;
}

.aegis-about-contributor-entry__supervisors-label {
	color: var(--wp--preset--color--not-black, #121010);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	margin: 0;
}

.aegis-about-contributor-entry__supervisors {
	color: var(--wp--preset--color--not-black, #121010);
	font-size: var(--wp--preset--font-size--body, 1rem);
	line-height: 1.5;
	margin: 0;
}

.aegis-about-contributor-entry__department + .aegis-about-contributor-entry__names,
.aegis-about-contributor-entry__names + .aegis-about-contributor-entry__supervisors-label {
	margin-block-start: 0.25rem; /* 4px — Figma gap-[4px] */
}

@media (max-width: 781px) {
	.aegis-about-section {
		padding-block: var(--aegis-space-section-mobile);
	}

	.aegis-about-collaboration__cards,
	.aegis-about-researchers__cards {
		align-items: center;
		flex-direction: column;
		gap: var(--aegis-space-heading-content);
	}

	.aegis-about-collaboration__cards > .wp-block-aegis-about-university-card,
	.aegis-about-collaboration__cards > .aegis-about-university-card--editor,
	.aegis-about-researchers__cards > .wp-block-aegis-about-researcher-card,
	.aegis-about-researchers__cards > .aegis-about-researcher-card--editor {
		flex: 0 1 auto;
		margin-inline: auto;
		max-width: 16.875rem;
		min-width: 0;
		width: 100%;
	}

	.aegis-about-contributor-entry__names {
		columns: 1;
	}

	.aegis-about-contributors__accordions.aegis-about-accordion--dark .wp-block-aegis-about-contributor-accordion:not(.aegis-about-contributor-accordion--editor) .aegis-about-accordion__content {
		column-count: 1;
	}

	.aegis-about-contributors__accordions.aegis-about-accordion--dark .aegis-about-contributor-accordion--editor .aegis-about-accordion__content .block-editor-inner-blocks > .block-editor-block-list__layout {
		column-count: 1;
	}
}
