/* Montrose's quiet wordmark and overlay navigation. */
html {
	background: var(--base);
}
.site-header {
	position: absolute;
	inset: 0 0 auto;
	z-index: 50;
	min-height: 9.75rem;
	padding: var(--wp--preset--spacing--medium) var(--section-gutter) 0;
}

.site-header__inner {
	box-sizing: border-box;
	display: flex;
	width: min(100%, var(--wp--style--global--wide-size, 85.375rem));
	min-height: 3.75rem;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--x-small);
	margin-inline: auto;
	padding: 0.625rem;
}

.site-branding {
	flex: 1 1 8rem;
	min-width: 0;
}

.site-header__actions {
	display: flex;
	flex: 0 1 auto;
	align-items: center;
	justify-content: flex-end;
	gap: var(--wp--preset--spacing--small);
	min-width: 0;
}

.site-header__enquiry {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: var(--wp--preset--spacing--xx-small) 0.75rem;
	border: 1px solid var(--wp--preset--color--accent-light);
	color: var(--wp--preset--color--primary-dark);
	font-family: var(--wp--preset--font-family--ui);
	font-size: var(--wp--preset--font-size--action-label);
	font-weight: 300;
	letter-spacing: 0.05em;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	overflow-wrap: anywhere;
	transition: color var(--transition), background-color var(--transition), border-color var(--transition);
}

body.has-montrose-hero .site-header__enquiry {
	color: var(--wp--preset--color--secondary-ultra-light);
}

.site-header__enquiry:hover,
.site-header__enquiry:focus-visible,
body.has-montrose-hero .site-header__enquiry:hover,
body.has-montrose-hero .site-header__enquiry:focus-visible {
	border-color: var(--wp--preset--color--accent-light);
	background: var(--wp--preset--color--accent-light);
	color: var(--wp--preset--color--primary-dark);
}

.site-header__enquiry:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-light);
	outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
	.site-header__enquiry {
		transition: none;
	}
}

.site-branding__name,
.site-footer__name {
	color: var(--wp--preset--color--primary, #52665b);
	font-family: var(--wp--preset--font-family--heading, Georgia, serif);
	font-size: var(--wp--preset--font-size--brand-wordmark, 2rem);
	font-weight: 300;
	letter-spacing: 1px;
	line-height: 1.25;
	text-decoration: none;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

.custom-logo-link {
	display: block;
}

.custom-logo {
	display: block;
	width: auto;
	max-width: 20.625rem;
	max-height: 2.5rem;
}

.site-menu-toggle {
	position: relative;
	flex: 0 0 auto;
	margin-inline-start: auto;
	display: inline-flex;
	width: 3rem;
	height: 1.0625rem;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.site-menu-toggle > img:not(.site-menu-toggle__close-icon) {
	display: block;
	width: auto;
	height: auto;
	opacity: 1;
	transition: opacity 0.6s ease;
}

.site-menu-toggle .site-menu-toggle__close-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 35.7536px;
	height: 34.6769px;
	transform: translate(-50%, -50%);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease, visibility 0s linear 0.2s;
}

.primary-navigation {
	position: fixed;
	inset: 0 0 auto;
	z-index: 1;
	box-sizing: border-box;
	width: 100%;
	max-height: 100dvh;
	overflow-y: auto;
	padding: 3rem var(--section-gutter);
	background: var(--base);
	box-shadow: var(--box-shadow-m);
	clip-path: inset(0 0 100% 0);
	transition: clip-path 0.8s cubic-bezier(0.22, 0.8, 0.24, 1);
}

.primary-navigation[hidden] {
	display: none;
}

.primary-navigation.is-open {
	clip-path: inset(0);
}

@media (prefers-reduced-motion: reduce) {
	.primary-navigation {
		transition: none;
	}
}

.primary-navigation__inner {
	width: min(100%, var(--wp--style--global--wide-size, 85.375rem));
	margin-inline: auto;
}

.primary-navigation__menu {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--space-s);
	box-sizing: border-box;
	width: min(100%, 55.75rem);
	margin: 0;
	padding: var(--space-l);
	list-style: none;
}

.primary-navigation__menu > li {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: var(--space-xs);
}

.primary-navigation__menu > li::after {
	display: block;
	width: min(100%, 31.9375rem);
	height: 1px;
	background: var(--montrose-navigation-rule, none) left center / 511px 1px no-repeat;
	content: '';
}

.primary-navigation a {
	display: block;
	width: calc(100% - 0.5rem);
	color: var(--wp--preset--color--primary-semi-dark, #3b4841);
	font-family: var(--wp--preset--font-family--heading, Georgia, serif);
	font-size: var(--wp--preset--font-size--text-l);
	font-weight: 400;
	line-height: 1.5;
	text-decoration: none;
	overflow-wrap: anywhere;
	transition: color 0.6s ease, transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.primary-navigation a:hover,
.primary-navigation a:focus-visible,
.primary-navigation__menu > li.current-menu-item > a,
.primary-navigation__menu > li.current_page_item > a,
.primary-navigation__menu > li > a[aria-current="page"] {
	color: var(--wp--preset--color--accent-dark, #5d4d37);
	transform: translateX(0.5rem);
}

@media (prefers-reduced-motion: reduce) {
	.primary-navigation a {
		transition: none;
	}
}

html:has(body.has-open-site-menu),
body.has-open-site-menu {
	overflow: hidden;
	overscroll-behavior: none;
}

.site-menu-toggle[aria-expanded="true"],
.has-open-site-menu .site-menu-toggle {
	position: relative;
	z-index: 2;
	width: 3rem;
	height: 2.5rem;
}

.site-menu-toggle[aria-expanded="true"] > img:not(.site-menu-toggle__close-icon) {
	opacity: 0;
	transition-duration: 0.2s;
}

.site-menu-toggle[aria-expanded="true"] .site-menu-toggle__close-icon {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.6s ease;
}

@media (prefers-reduced-motion: reduce) {
	.site-menu-toggle img {
		transition: none;
	}
}

.site-menu-toggle[aria-expanded="false"] .site-menu-toggle__close-label,
.site-menu-toggle[aria-expanded="true"] .site-menu-toggle__open-label {
	display: none;
}

@media (max-width: 42rem) {
	.site-header {
		min-height: 7rem;
		padding: var(--wp--preset--spacing--x-small) var(--section-gutter) 0;
	}

	.site-header__enquiry {
		display: none;
	}

	.custom-logo {
		max-width: min(15rem, 60vw);
	}

}

@media (max-width: 42rem) {
	.primary-navigation:not([hidden]) {
		inset: 0;
		height: 100vh;
		height: 100dvh;
		max-height: none;
		padding-block: var(--space-m);
	}

	.primary-navigation__menu {
		width: 100%;
		padding-inline: var(--space-xs);
	}
}


body.has-montrose-hero .site-branding__name {
	color: var(--wp--preset--color--secondary-ultra-light);
	font-size: var(--wp--preset--font-size--brand-wordmark);
	letter-spacing: 1.08px;
	line-height: 1.25;
}

/* Keep the public header position when WordPress adds its admin toolbar. */
body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) {
	body.admin-bar .site-header { top: 46px; }
}
