.site-header {
	position: sticky;
	top: 0;
	z-index: 70;
	background: linear-gradient(
		to bottom,
		rgba(15, 17, 20, 0.96),
		rgba(15, 17, 20, 0.9) 60%,
		rgba(15, 17, 20, 0.85) 100%
	);
	backdrop-filter: blur(18px);
	border-bottom: 1px solid rgba(199, 154, 70, 0.26);
}
.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-top: 16px;
	padding-bottom: 16px;
}
.brand-wrap {
	flex: 0 0 auto;
}
.brand-link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	white-space: nowrap;
}
.brand-mark {
	width: 36px;
	height: 36px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	background:
		radial-gradient(circle at 30% 0, rgba(199, 154, 70, 0.7), transparent 60%),
		radial-gradient(
			circle at 70% 100%,
			rgba(126, 49, 74, 0.7),
			transparent 60%
		),
		#050507;
	border: 1px solid rgba(199, 154, 70, 0.7);
	font-family: var(--font-display);
	font-size: 0.95rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-heading);
	box-shadow: var(--shadow-sm);
}
.brand-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.brand-title {
	font-family: var(--font-display);
	font-size: 1.05rem;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: var(--color-heading);
}
.brand-subtitle {
	font-size: 0.7rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--gray-400);
}
.primary-nav {
	flex: 1 1 auto;
}
.nav-list {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
}
.nav-item {
	flex: 0 0 auto;
}
.nav-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.78rem;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--gray-300);
	padding: 4px 0;
}
.nav-link::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -6px;
	height: 1px;
	background: linear-gradient(
		90deg,
		transparent,
		rgba(199, 154, 70, 0.9),
		transparent
	);
	transform-origin: center;
	transform: scaleX(0);
	transition: transform var(--duration-base) var(--easing-snappy);
	opacity: 0.8;
}
.nav-link:hover,
.nav-link:focus-visible {
	color: var(--color-heading);
}
.nav-link:hover::after,
.nav-link:focus-visible::after {
	transform: scaleX(1);
}
.header-cta-wrap {
	display: flex;
	align-items: center;
	gap: 16px;
}
.header-cta {
	font-size: 0.78rem;
	padding-inline: 1.6rem;
}
.nav-toggle {
	display: none;
}
.offcanvas-panel {
	display: none;
}
.offcanvas-backdrop {
	display: none;
}
@media (max-width: 960px) {
	.primary-nav {
		display: none;
	}
	.nav-toggle {
		display: flex;
	}
	.offcanvas-backdrop {
		display: block;
	}
	.offcanvas-panel {
		display: flex;
		flex-direction: column;
	}
}
.offcanvas-header {
	margin-top: 40px;
	margin-bottom: 24px;
}
.offcanvas-tagline {
	font-size: 0.9rem;
	color: var(--gray-200);
}
.offcanvas-nav {
	margin-bottom: 24px;
}
.offcanvas-nav-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 12px;
}
.offcanvas-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 0;
	border-bottom: 1px solid rgba(65, 72, 82, 0.7);
	font-size: 0.85rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--gray-100);
}
.offcanvas-link-accent {
	color: var(--color-primary);
}
.offcanvas-link:focus-visible,
.offcanvas-link:hover {
	color: var(--color-heading);
	border-color: rgba(199, 154, 70, 0.8);
}
.offcanvas-meta {
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid rgba(65, 72, 82, 0.8);
}
.offcanvas-note {
	font-size: 0.8rem;
	color: var(--gray-400);
	line-height: 1.6;
}
.site-header.is-compact .header-inner {
	padding-top: 10px;
	padding-bottom: 10px;
}
.site-header.is-compact .brand-mark {
	width: 32px;
	height: 32px;
}
.site-header.is-compact .brand-title {
	font-size: 0.95rem;
}
.site-header.is-compact .brand-subtitle {
	font-size: 0.65rem;
}
@media (max-width: 640px) {
	.brand-subtitle {
		display: none;
	}
	.header-inner {
		gap: 16px;
	}
	.header-cta {
		display: none;
	}
}
