/* ==================================================
   MARSH HARRIER — GLOBAL COLOURS
   ================================================== */

body,
#page,
#content,
.site,
.site-content,
.ast-container,
.ast-plain-container,
.ast-separate-container,
.ast-article-post,
.entry-content,
.post-content {
	background-color: #ffffff !important;
	color: #2c2c2a;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: #0f6e56 !important;
}

a,
a:visited {
	color: #0f6e56;
}

a:hover,
a:focus {
	color: #1d9e75;
}

.ast-primary-header-bar,
.site-header {
	background-color: #ffffff !important;
}


/* ==================================================
   GENERAL TYPOGRAPHY AND SPACING
   ================================================== */

.entry-content p {
	margin-top: 0;
	margin-bottom: 1.15em;
}

.entry-content p:last-child {
	margin-bottom: 0;
}

.entry-content h2,
.entry-content h3 {
	margin-top: 1.6em;
	margin-bottom: 0.45em;
}

.entry-content h2:first-child,
.entry-content h3:first-child {
	margin-top: 0;
}

.wp-block-columns {
	gap: 2rem;
	margin-top: 0.8rem;
	margin-bottom: 0.8rem;
	padding-top: 0;
}

.wp-block-columns > .wp-block-column {
	flex: 1 1 0;
	min-width: 0;
}

.entry-content p + .wp-block-columns {
	margin-top: 0.3rem;
}

.wp-block-columns + .wp-block-columns {
	margin-top: 0;
}

.wp-block-separator {
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
}


/* ==================================================
   HOME PAGE SERVICES
   ================================================== */

@media (max-width: 921px) {
	.home-services {
		gap: 16px !important;
		padding-bottom: 0 !important;
		margin-bottom: 24px !important;
	}

	.home-services > .wp-block-column {
		margin-bottom: 0 !important;
	}
}


/* ==================================================
   EXPERIENCE PAGE
   ================================================== */

.experience-entry {
	margin-bottom: 1rem;
}

.experience-entry + .experience-entry {
	border-top: 1px solid #ecefed;
	padding-top: 1.5rem;
}

.experience-date {
	margin-top: 0 !important;
	margin-bottom: 0.55rem !important;
	font-size: 0.95rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.02em;
	color: #557067 !important;
}

.experience-role {
	margin-top: 0 !important;
	margin-bottom: 0.15rem !important;
}

.experience-org {
	margin-top: 0 !important;
	margin-bottom: 1.3rem !important;
	font-size: 1.1rem !important;
	font-weight: 400 !important;
	color: #0d6b52 !important;
}

.experience-entry .wp-block-image {
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 1.5rem;
	margin-left: auto;
	text-align: center;
}

.experience-entry .wp-block-image img {
	display: block;
	width: 100%;
	max-width: 750px;
	height: auto;
	margin-right: auto;
	margin-left: auto;
}

.experience-entry p {
	max-width: 850px;
}

.experience-entry > p:last-child {
	margin-bottom: 0;
}

@media (max-width: 768px) {
	.experience-entry {
		margin-bottom: 1rem;
	}

	.experience-entry + .experience-entry {
		padding-top: 1.5rem;
	}

	.experience-date {
		font-size: 0.95rem !important;
	}

	.experience-org {
		font-size: 1.1rem !important;
		margin-bottom: 1.1rem !important;
	}
}


/* ==================================================
   ABOUT PAGE
   ================================================== */

body.page-id-1 .entry-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Collapse the portrait container to the image height */
body.page-id-1 .entry-content > .wp-block-group:first-child {
	width: 100%;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 0 24px !important;
	padding: 0 !important;
}

/* Centre the portrait without restoring the large gap */
body.page-id-1 .entry-content > .wp-block-group:first-child .wp-block-image {
	display: block;
	width: fit-content;
	max-width: 100%;
	margin: 0 auto !important;
	padding: 0 !important;
	text-align: center;
}

body.page-id-1 .entry-content > .wp-block-group:first-child .wp-block-image img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

/* Keep the opening paragraph close to the portrait */
body.page-id-1 .entry-content > .wp-block-group:first-child + p {
	margin-top: 0 !important;
}
/* Keep desktop and mobile navigation visible */
.site-header .main-header-menu a,
.site-header .main-header-menu a:visited,
.ast-mobile-popup-drawer .main-header-menu a,
.ast-mobile-popup-drawer .main-header-menu a:visited {
	color: #0f6e56 !important;
}

.site-header .main-header-menu a:hover,
.site-header .main-header-menu a:focus,
.site-header .main-header-menu .current-menu-item > a,
.ast-mobile-popup-drawer .main-header-menu a:hover,
.ast-mobile-popup-drawer .main-header-menu a:focus {
	color: #1d9e75 !important;
}

/* Keep the mobile menu icon visible */
.ast-button-wrap .mobile-menu-toggle-icon,
.ast-mobile-menu-trigger-minimal {
	color: #0f6e56 !important;
}
/* Make the mobile hamburger clearly visible */
.ast-button-wrap .menu-toggle,
.ast-button-wrap .menu-toggle .mobile-menu-toggle-icon,
.ast-button-wrap .menu-toggle svg,
.ast-mobile-menu-trigger-minimal {
	color: #0f6e56 !important;
	fill: #0f6e56 !important;
	opacity: 1 !important;
}

/* Slightly larger, easier-to-tap hamburger */
.ast-button-wrap .menu-toggle {
	font-size: 28px !important;
	padding: 8px !important;
}
/* Experience page – tighten gap below introduction */
body.page-id-525 .entry-content > p:first-of-type {
    margin-bottom: 1.5rem !important;
}

body.page-id-525 .experience-entry:first-of-type {
    margin-top: 0 !important;
}
/* Remove Gutenberg's built-in vertical padding from Experience entries */
body.page-id-525 .experience-entry {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* Restore a modest gap after the divider for later entries */
body.page-id-525 .experience-entry + .experience-entry {
	padding-top: 1.5rem !important;
}
/* Repair the three homepage service columns */
.home-services > .wp-block-column {
	flex: 1 1 0 !important;
	flex-basis: 0 !important;
	width: auto !important;
	min-width: 0 !important;
}
/* About page – Public service lists */
/* ==================================================
   ABOUT PAGE — PUBLIC SERVICE LISTS
   ================================================== */

/* Pull each list closer to its section introduction */
body.page-id-1 .public-service-list {
	margin-top: 0.75rem !important;
	margin-bottom: 1.5rem !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* Disable Gutenberg's automatic spacing between blocks */
body.page-id-1 .public-service-list .wp-block-column {
	gap: 0 !important;
	row-gap: 0 !important;
	--wp--style--block-gap: 0 !important;
}

/* Reset the organisation and role blocks */
body.page-id-1 .public-service-list .wp-block-column > h3,
body.page-id-1 .public-service-list .wp-block-column > p {
	margin: 0 !important;
	padding: 0 !important;
}

/* Small gap between organisation and role */
body.page-id-1 .public-service-list .wp-block-column > h3 + p {
	margin-top: 0.25rem !important;
}

/* Larger gap before the next organisation */
body.page-id-1 .public-service-list .wp-block-column > p + h3 {
	margin-top: 1.25rem !important;
}

/* Prevent surplus space after the final role */
body.page-id-1 .public-service-list .wp-block-column > p:last-child {
	margin-bottom: 0 !important;
}
/* Mobile: remove the large gap between stacked public-service columns */
@media (max-width: 781px) {
	body.page-id-1 .public-service-list {
		row-gap: 1rem !important;
		gap: 1rem !important;
	}

	body.page-id-1 .public-service-list > .wp-block-column {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	body.page-id-1 .public-service-list > .wp-block-column + .wp-block-column {
		margin-top: 0.5rem !important;
	}
}
/* Mobile - remove default spacing between stacked columns */
@media (max-width: 781px) {

    body.page-id-1 .public-service-list .wp-block-column:not(:first-child) {
        margin-top: 0 !important;
    }

    body.page-id-1 .public-service-list {
        gap: 0 !important;
        row-gap: 0 !important;
    }
}
/* =========================================
   WHAT I DO PAGE
   ========================================= */

body.page-id-530 .what-i-do-columns {
	align-items: flex-start !important;
	gap: 3.5rem !important;

	padding-top: 0.5rem !important;
	padding-bottom: 0.5rem !important;

	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

body.page-id-530 .what-i-do-columns > .wp-block-column {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.page-id-530 .what-i-do-columns > .wp-block-column > :first-child {
	margin-top: 0 !important;
}

body.page-id-530 .what-i-do-columns p {
	margin-top: 0 !important;
	margin-bottom: 0.8rem !important;
}

body.page-id-530 .what-i-do-columns > .wp-block-column:last-child p {
	margin-bottom: 0.9rem !important;
}

/* Space around the dividing line */
body.page-id-530 .wp-block-separator {
	margin-top: 0.5rem !important;
	margin-bottom: 0.5rem !important;
}

@media (max-width: 781px) {

	body.page-id-530 .what-i-do-columns {
		gap: 1.25rem !important;
		padding-top: 0.75rem !important;
		padding-bottom: 0.75rem !important;
	}

	body.page-id-530 .what-i-do-columns > .wp-block-column:not(:first-child) {
		margin-top: 0 !important;
	}
}