.site-topbar {
	background: var(--yd-color-ink);
	color: var(--yd-color-white);
	font-size: 0.875rem;
}

.site-topbar__inner,
.site-header__inner,
.site-footer__inner {
	width: min(calc(100% - 2rem), var(--yd-content-width));
	margin: 0 auto;
}

.site-topbar__inner {
	display: flex;
	flex-wrap: wrap;
	gap: var(--yd-space-1) var(--yd-space-2);
	padding: 0.5rem 0;
}

.site-topbar a {
	color: var(--yd-color-white);
}

.site-header {
	position: relative;
	background: var(--yd-color-white);
	border-bottom: 1px solid var(--yd-color-sand);
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--yd-space-2);
	min-height: 5.25rem;
}

.site-header__brand {
	color: var(--yd-color-ink);
	font-family: var(--yd-font-serif);
	font-size: clamp(1.25rem, 2vw, 1.75rem);
	font-weight: 700;
	letter-spacing: 0.02em;
	text-decoration: none;
}

.site-navigation-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	min-height: 2.75rem;
	border: 1px solid var(--yd-color-ink);
	border-radius: var(--yd-radius);
	background: var(--yd-color-white);
	color: var(--yd-color-ink);
}

/* Approved brand assets preserve their natural proportions and header height. */
.site-header__brand {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	flex-shrink: 0;
}
.site-header__logo {
	object-fit: contain;
	flex-shrink: 0;
}
.site-header__logo--mobile {
	display: block;
	width: 2.75rem;
	height: 2.75rem;
}
.site-header__logo--desktop { display: none; }
@media (min-width: 64rem) {
	.site-header__logo--desktop {
		display: block;
		width: 11.25rem;
		height: 3.75rem;
	}
	.site-header__logo--mobile,
	.site-header__mobile-wordmark { display: none; }
}

.site-navigation-toggle .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.site-navigation {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	padding: var(--yd-space-2);
	background: var(--yd-color-white);
	border-bottom: 1px solid var(--yd-color-sand);
	box-shadow: var(--yd-shadow);
	z-index: 20;
}

.site-navigation.is-open {
	display: block;
}

.site-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-navigation li {
	position: relative;
}

.site-navigation a,
.site-navigation__submenu-toggle {
	display: flex;
	align-items: center;
	width: 100%;
	padding: 0.75rem 0;
	border: 0;
	background: transparent;
	color: var(--yd-color-ink);
	font-size: 0.9375rem;
	font-weight: 600;
	text-align: left;
	text-decoration: none;
}

.site-navigation .sub-menu {
	display: none;
	padding-left: var(--yd-space-2);
}

.site-navigation .menu-item-has-children:focus-within > .sub-menu,
.site-navigation .menu-item-has-children:hover > .sub-menu,
.site-navigation .menu-item-has-children.is-open > .sub-menu {
	display: block;
}

.site-navigation .menu-item-has-children.is-closed > .sub-menu {
	display: none;
}

.site-navigation__submenu-toggle::after {
	margin-left: auto;
	content: "+";
}

.site-navigation__submenu-toggle[aria-expanded="true"]::after {
	content: "−";
}

.site-navigation__link--cta,
.site-navigation a[href$="/contact/"] {
	justify-content: center;
	padding: 0.75rem var(--yd-space-2);
	border-radius: var(--yd-radius);
	background: var(--yd-color-burgundy);
	color: var(--yd-color-white);
}

.site-navigation__link--cta:hover,
.site-navigation a[href$="/contact/"]:hover {
	background: var(--yd-color-burgundy-hover);
	color: var(--yd-color-white);
}

@media (min-width: 64rem) {
	.site-navigation-toggle {
		display: none;
	}

	.site-navigation {
		display: block;
		position: static;
		width: auto;
		padding: 0;
		border: 0;
		box-shadow: none;
	}

	.site-navigation > div > ul,
	.site-navigation > ul {
		display: flex;
		align-items: center;
		gap: 0.25rem;
	}

	.site-navigation a,
	.site-navigation__submenu-toggle {
		width: auto;
		padding: 0.625rem 0.75rem;
	}

	.site-navigation__submenu-toggle {
		cursor: default;
	}

	.site-navigation .sub-menu {
		position: absolute;
		top: calc(100% - 0.125rem);
		left: 0;
		min-width: 15rem;
		padding: var(--yd-space-1);
		background: var(--yd-color-white);
		border: 1px solid var(--yd-color-sand);
		box-shadow: var(--yd-shadow);
	}

	.site-navigation .sub-menu a {
		width: 100%;
	}

	.site-navigation__link--cta,
	.site-navigation a[href$="/contact/"] {
		margin-left: 0.25rem;
	}
}
.yd-breadcrumbs {
	background: var(--yd-color-cream);
	border-bottom: 1px solid var(--yd-color-sand);
}

.yd-breadcrumbs__list {
	display: flex;
	gap: 0.5rem;
	width: min(calc(100% - 2rem), 75rem);
	margin: 0 auto;
	padding: 0.75rem 0;
	list-style: none;
	color: var(--yd-color-muted);
	font-size: 0.875rem;
}

.yd-breadcrumbs__item + .yd-breadcrumbs__item::before {
	margin-right: 0.5rem;
	content: "/";
}

.yd-breadcrumbs__item a {
	color: var(--yd-color-ink);
}
