.site-header {
	background: rgba(var(--lmb-color-white-rgb), 0.96);
	border-bottom: var(--lmb-border-width) solid var(--lmb-color-border);
	color: var(--lmb-color-ink);
	font-family: var(--lmb-font-body);
	position: sticky;
	top: 0;
	z-index: 999;
}

.admin-bar .site-header {
	top: var(--lmb-size-admin-bar-mobile);
}

.site-header.is-scrolled {
	box-shadow: var(--lmb-shadow-header);
}

.site-header__inner {
	align-items: center;
	display: flex;
	gap: var(--lmb-space-3);
	justify-content: space-between;
	margin: 0 auto;
	max-width: var(--lmb-size-container-wide);
	min-height: var(--lmb-size-header-mobile);
	padding: var(--lmb-space-3) var(--lmb-space-4);
	position: relative;
}

.site-header__brand {
	align-items: center;
	display: flex;
	flex: 0 1 auto;
	min-width: 0;
}

.site-header__brand-link {
	align-items: center;
	color: var(--lmb-color-ink);
	display: inline-flex;
	gap: var(--lmb-space-3);
	min-width: 0;
	text-decoration: none;
}

.site-header__brand-link:hover,
.site-header__brand-link:focus-visible {
	color: var(--lmb-color-primary);
}

.site-header__brand-mark {
	align-items: center;
	aspect-ratio: 1;
	background: linear-gradient(135deg, var(--lmb-color-primary), var(--lmb-color-primary-dark));
	border-radius: var(--lmb-radius-md);
	color: var(--lmb-color-white);
	display: inline-flex;
	flex: 0 0 var(--lmb-size-logo-mark);
	font-family: var(--lmb-font-heading);
	font-size: var(--lmb-font-size-xs);
	font-weight: var(--lmb-font-weight-extrabold);
	justify-content: center;
	letter-spacing: 0;
	width: var(--lmb-size-logo-mark);
}

.site-header__brand-name {
	display: inline-block;
	font-family: var(--lmb-font-heading);
	font-size: var(--lmb-font-size-base);
	font-weight: var(--lmb-font-weight-extrabold);
	line-height: var(--lmb-leading-tight);
	max-width: var(--lmb-size-brand-name-mobile);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.site-header .custom-logo-link {
	align-items: center;
	display: inline-flex;
	line-height: 0;
	max-width: min(var(--lmb-size-logo-max-width), var(--lmb-size-logo-max-width-mobile));
}

.site-header .custom-logo {
	display: block;
	height: clamp(3rem, 12vw, 3.5rem);
	max-height: none;
	max-width: 100%;
	object-fit: contain;
	width: auto;
}

.site-header__nav {
	background: var(--lmb-color-white);
	border: var(--lmb-border-width) solid var(--lmb-color-border);
	border-radius: var(--lmb-radius-md);
	box-shadow: var(--lmb-shadow-popover);
	left: var(--lmb-space-4);
	opacity: 0;
	padding: var(--lmb-space-3);
	pointer-events: none;
	position: absolute;
	right: var(--lmb-space-4);
	top: calc(100% + var(--lmb-space-2));
	transform: translateY(var(--lmb-motion-menu-offset)) scale(var(--lmb-motion-menu-scale));
	transform-origin: top center;
	transition: opacity var(--lmb-transition-base), transform var(--lmb-transition-base), visibility var(--lmb-transition-base);
	visibility: hidden;
	z-index: 2;
}

.site-header.is-menu-open .site-header__nav {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0) scale(1);
	visibility: visible;
}

.site-header__menu {
	display: grid;
	gap: var(--lmb-space-1);
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-header__menu ul,
.site-header__menu .sub-menu {
	list-style: none;
	margin: var(--lmb-space-1) 0 0;
	padding: 0 0 0 var(--lmb-space-3);
}

.site-header__menu a {
	align-items: center;
	border-radius: var(--lmb-radius-md);
	color: var(--lmb-color-ink);
	display: flex;
	font-family: var(--lmb-font-heading);
	font-size: var(--lmb-font-size-md);
	font-weight: var(--lmb-font-weight-semibold);
	min-height: var(--lmb-size-menu-item-mobile);
	padding: var(--lmb-space-menu-y) var(--lmb-space-3);
	text-decoration: none;
	transition: background-color var(--lmb-transition-fast), color var(--lmb-transition-fast), transform var(--lmb-transition-fast);
}

.site-header__menu a:hover,
.site-header__menu a:focus-visible,
.site-header__menu .current-menu-item > a,
.site-header__menu .current_page_item > a {
	background: var(--lmb-color-surface-soft);
	color: var(--lmb-color-primary);
}

.site-header__menu a:focus-visible,
.site-header__button:focus-visible,
.site-header__icon-button:focus-visible,
.site-header__menu-toggle:focus-visible,
.site-header__search-panel input[type="search"]:focus-visible,
.site-header__search-panel .search-submit:focus-visible {
	outline: var(--lmb-focus-ring-width) solid var(--lmb-color-focus);
	outline-offset: var(--lmb-focus-ring-offset);
}

.site-header__actions {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	gap: var(--lmb-space-2);
}

.site-header__button,
.site-header__icon-button,
.site-header__menu-toggle {
	align-items: center;
	border: var(--lmb-border-width) solid transparent;
	border-radius: var(--lmb-radius-md);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-family: var(--lmb-font-heading);
	font-size: var(--lmb-font-size-md);
	font-weight: var(--lmb-font-weight-bold);
	justify-content: center;
	min-height: var(--lmb-size-control-md);
	text-decoration: none;
	transition: background-color var(--lmb-transition-fast), border-color var(--lmb-transition-fast), color var(--lmb-transition-fast), transform var(--lmb-transition-fast), box-shadow var(--lmb-transition-fast);
}

.site-header__button:hover,
.site-header__icon-button:hover,
.site-header__menu-toggle:hover {
	transform: translateY(var(--lmb-motion-lift));
}

.site-header__button--primary {
	background: var(--lmb-color-primary);
	box-shadow: var(--lmb-shadow-cta);
	color: var(--lmb-color-white);
	padding: 0 var(--lmb-space-4);
}

.site-header__button--primary:hover,
.site-header__button--primary:focus-visible {
	background: var(--lmb-color-primary-dark);
	color: var(--lmb-color-white);
}

.site-header__button--secondary {
	background: var(--lmb-color-white);
	border-color: var(--lmb-color-border);
	color: var(--lmb-color-ink);
	padding: 0 var(--lmb-space-4);
}

.site-header__button--secondary:hover,
.site-header__button--secondary:focus-visible {
	border-color: rgba(var(--lmb-color-primary-rgb), 0.28);
	color: var(--lmb-color-primary);
}

.site-header__button--desktop {
	display: none;
}

.site-header__icon-button,
.site-header__menu-toggle {
	appearance: none;
	background: var(--lmb-color-white);
	border-color: var(--lmb-color-border);
	color: var(--lmb-color-ink);
	padding: 0;
	width: var(--lmb-size-control-md);
}

.site-header__icon-button:hover,
.site-header__icon-button:focus-visible,
.site-header__menu-toggle:hover,
.site-header__menu-toggle:focus-visible {
	border-color: rgba(var(--lmb-color-primary-rgb), 0.28);
	color: var(--lmb-color-primary);
}

.site-header__icon {
	fill: currentColor;
	height: var(--lmb-size-icon);
	width: var(--lmb-size-icon);
}

.site-header__menu-toggle {
	flex-direction: column;
	gap: var(--lmb-space-1);
}

.site-header__menu-line {
	background: currentColor;
	border-radius: var(--lmb-radius-pill);
	display: block;
	height: var(--lmb-size-menu-line-height);
	transition: opacity var(--lmb-transition-fast), transform var(--lmb-transition-fast);
	width: var(--lmb-size-menu-line-width);
}

.site-header.is-menu-open .site-header__menu-line:nth-child(1) {
	transform: translateY(var(--lmb-motion-menu-line-offset)) rotate(45deg);
}

.site-header.is-menu-open .site-header__menu-line:nth-child(2) {
	opacity: 0;
}

.site-header.is-menu-open .site-header__menu-line:nth-child(3) {
	transform: translateY(calc(var(--lmb-motion-menu-line-offset) * -1)) rotate(-45deg);
}

.site-header__mobile-actions {
	border-top: var(--lmb-border-width) solid var(--lmb-color-border);
	display: grid;
	gap: var(--lmb-space-form-gap);
	margin-top: var(--lmb-space-3);
	padding-top: var(--lmb-space-3);
}

.site-header__mobile-actions .site-header__button {
	width: 100%;
}

.site-header__search-panel {
	background: var(--lmb-color-white);
	border-bottom: var(--lmb-border-width) solid var(--lmb-color-border);
	box-shadow: var(--lmb-shadow-search);
	left: 0;
	opacity: 0;
	position: absolute;
	right: 0;
	top: 100%;
	transform: translateY(var(--lmb-motion-search-offset));
	transition: opacity var(--lmb-transition-base), transform var(--lmb-transition-base);
	z-index: 1;
}

.site-header.is-search-open .site-header__search-panel {
	opacity: 1;
	transform: translateY(0);
}

.site-header__search-panel[hidden] {
	display: none;
}

.site-header__search-inner {
	margin: 0 auto;
	max-width: var(--lmb-size-container-wide);
	padding: var(--lmb-space-search-y) var(--lmb-space-4) var(--lmb-space-4);
}

.site-header__search-panel .search-form {
	display: grid;
	gap: var(--lmb-space-form-gap);
	grid-template-columns: minmax(0, 1fr);
	margin: 0;
}

.site-header__search-panel label {
	margin: 0;
}

.site-header__search-panel input[type="search"] {
	background: var(--lmb-color-surface);
	border: var(--lmb-border-width) solid var(--lmb-color-border);
	border-radius: var(--lmb-radius-md);
	color: var(--lmb-color-ink);
	font: inherit;
	min-height: var(--lmb-size-control-lg);
	padding: 0 var(--lmb-space-4);
	width: 100%;
}

.site-header__search-panel input[type="search"]::placeholder {
	color: var(--lmb-color-muted);
}

.site-header__search-panel .search-submit {
	background: var(--lmb-color-ink);
	border: var(--lmb-border-width) solid var(--lmb-color-ink);
	border-radius: var(--lmb-radius-md);
	color: var(--lmb-color-white);
	cursor: pointer;
	font: inherit;
	font-family: var(--lmb-font-heading);
	font-weight: var(--lmb-font-weight-bold);
	min-height: var(--lmb-size-control-lg);
	padding: 0 var(--lmb-space-4);
	transition: background-color var(--lmb-transition-fast), border-color var(--lmb-transition-fast), transform var(--lmb-transition-fast);
}

.site-header__search-panel .search-submit:hover,
.site-header__search-panel .search-submit:focus-visible {
	background: var(--lmb-color-primary);
	border-color: var(--lmb-color-primary);
	transform: translateY(var(--lmb-motion-lift));
}

@media (min-width: 38rem) {
	.site-header__search-panel .search-form {
		grid-template-columns: minmax(0, 1fr) auto;
	}
}

@media (min-width: 48.9375rem) {
	.admin-bar .site-header {
		top: var(--lmb-size-admin-bar-desktop);
	}
}

@media (min-width: 56.25rem) {
	.site-header {
		backdrop-filter: saturate(160%) blur(var(--lmb-size-header-blur));
	}

	.site-header__inner {
		min-height: var(--lmb-size-header-desktop);
		padding: var(--lmb-space-header-desktop-y) var(--lmb-space-5);
	}

	.site-header__brand-name {
		font-size: var(--lmb-font-size-lg);
		max-width: var(--lmb-size-brand-name-desktop);
	}

	.site-header__nav {
		background: transparent;
		border: 0;
		box-shadow: none;
		flex: 1 1 auto;
		left: auto;
		opacity: 1;
		padding: 0;
		pointer-events: auto;
		position: static;
		right: auto;
		top: auto;
		transform: none;
		visibility: visible;
	}

	.site-header__menu {
		align-items: center;
		display: flex;
		gap: var(--lmb-space-compact);
		justify-content: center;
	}

	.site-header__menu li {
		position: relative;
	}

	.site-header__menu a {
		min-height: var(--lmb-size-control-sm);
		padding: var(--lmb-space-menu-desktop-y) var(--lmb-space-3);
	}

	.site-header__menu > li > a::after {
		background: var(--lmb-color-accent);
		border-radius: var(--lmb-radius-pill);
		bottom: var(--lmb-space-1);
		content: "";
		height: var(--lmb-size-menu-line-height);
		left: var(--lmb-space-3);
		opacity: 0;
		position: absolute;
		right: var(--lmb-space-3);
		transform: scaleX(var(--lmb-motion-underline-scale));
		transition: opacity var(--lmb-transition-fast), transform var(--lmb-transition-fast);
	}

	.site-header__menu > li > a:hover::after,
	.site-header__menu > li > a:focus-visible::after,
	.site-header__menu > .current-menu-item > a::after,
	.site-header__menu > .current_page_item > a::after {
		opacity: 1;
		transform: scaleX(1);
	}

	.site-header__menu .sub-menu {
		background: var(--lmb-color-white);
		border: var(--lmb-border-width) solid var(--lmb-color-border);
		border-radius: var(--lmb-radius-md);
		box-shadow: var(--lmb-shadow-popover);
		left: 0;
		min-width: var(--lmb-size-submenu-min);
		opacity: 0;
		padding: var(--lmb-space-2);
		pointer-events: none;
		position: absolute;
		top: calc(100% + var(--lmb-space-2));
		transform: translateY(var(--lmb-motion-search-offset));
		transition: opacity var(--lmb-transition-fast), transform var(--lmb-transition-fast), visibility var(--lmb-transition-fast);
		visibility: hidden;
	}

	.site-header__menu li:hover > .sub-menu,
	.site-header__menu li:focus-within > .sub-menu {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
		visibility: visible;
	}

	.site-header__mobile-actions,
	.site-header__menu-toggle {
		display: none;
	}

	.site-header__button--desktop {
		display: inline-flex;
	}
}

@media (prefers-reduced-motion: reduce) {
	.site-header,
	.site-header *,
	.site-header *::before,
	.site-header *::after {
		transition-duration: 0.01ms;
		transition-delay: 0ms;
	}
}

