.site-header {
	position: sticky;
	z-index: 20;
	top: 0;
	border-bottom: 1px solid var(--triumph-border);
	background: rgba(255, 255, 255, 0.97);
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 82px;
	gap: 32px;
}

.site-branding {
	flex: 0 0 auto;
}

.site-title,
.site-footer .site-title {
	color: var(--triumph-black);
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.45rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-decoration: none;
}

.site-logo {
	display: inline-flex;
	align-items: center;
	width: 132px;
	height: 64px;
	text-decoration: none;
}

.site-logo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.custom-logo {
	max-height: 60px;
	width: auto;
}

.header-actions {
	position: relative;
	display: flex;
	align-items: center;
}

.search-toggle {
	width: 34px;
	height: 34px;
	padding: 5px;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.search-icon {
	position: relative;
	display: block;
	width: 16px;
	height: 16px;
	margin: auto;
	border: 1.5px solid var(--triumph-black);
	border-radius: 50%;
}

.search-icon::after {
	position: absolute;
	right: -5px;
	bottom: -3px;
	width: 7px;
	height: 1.5px;
	background: var(--triumph-black);
	content: "";
	transform: rotate(45deg);
}

.header-search {
	position: absolute;
	z-index: 25;
	top: calc(100% + 20px);
	right: 0;
	width: min(360px, calc(100vw - 32px));
	padding: 12px;
	border-top: 2px solid var(--triumph-gold);
	background: var(--triumph-white);
	box-shadow: 0 20px 45px rgba(17, 17, 17, 0.14);
}