.site-header {
	position: sticky;
	top: 0;
	z-index: 40;
	background: rgba(244, 246, 249, 0.94);
	backdrop-filter: blur(18px);
	border-bottom: 1px solid var(--color-border);
}
body {
    overflow-x: hidden;
}
.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 76px;
	gap: var(--space-6);
}
.header-brand {
	display: inline-flex;
	align-items: center;
	gap: var(--space-3);
	color: var(--color-heading);
}
.brand-mark {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid rgba(215, 180, 92, 0.7);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-serif);
	font-size: 1.15rem;
	letter-spacing: 0.08em;
	background:
		radial-gradient(circle at 10% 0, rgba(215, 180, 92, 0.25), transparent 55%),
		#fff;
	box-shadow: var(--shadow-soft-inner);
	color: var(--color-heading);
}
.brand-text {
	display: flex;
	flex-direction: column;
}
.brand-name {
	font-family: var(--font-serif);
	font-size: 1.15rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.brand-tagline {
	font-size: var(--font-size-xs);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--gray-500);
}
.header-nav {
	display: flex;
	align-items: center;
	margin-left: auto;
}
.header-menu {
	display: flex;
	align-items: center;
	gap: var(--space-5);
}
.header-menu-item {
	position: relative;
}
.header-link {
	font-size: var(--font-size-sm);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gray-700);
	padding: 0.25rem 0;
	display: inline-flex;
	align-items: center;
	transition: color var(--transition-base);
}
.header-link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -4px;
	width: 0;
	height: 2px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--color-accent), var(--color-primary));
	transition: width var(--transition-base);
}
.header-link:hover {
	color: var(--color-heading);
}
.header-link:hover::after {
	width: 100%;
}
.header-cta-wrap {
	margin-left: var(--space-3);
}
.header-cta {
	font-size: var(--font-size-xs);
	padding-inline: 1.5rem;
}
.header-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 999px;
	border: 1px solid rgba(203, 215, 229, 0.9);
	background: rgba(255, 255, 255, 0.9);
	box-shadow: var(--shadow-soft-inner);
}
.header-toggle-box {
	position: relative;
	width: 18px;
	height: 14px;
	display: inline-flex;
	flex-direction: column;
	justify-content: space-between;
}
.header-toggle-line {
	height: 2px;
	width: 100%;
	border-radius: 999px;
	background: var(--color-heading);
	transition:
		transform var(--transition-base),
		opacity var(--transition-base),
		top var(--transition-base),
		bottom var(--transition-base);
}
.header-toggle[aria-expanded="true"] .header-toggle-line:first-child {
	transform: translateY(6px) rotate(45deg);
}
.header-toggle[aria-expanded="true"] .header-toggle-line:last-child {
	transform: translateY(-6px) rotate(-45deg);
}
@media (max-width: 900px) {
	.header-inner {
		min-height: 68px;
	}
	.header-nav {
		position: fixed;
		inset: 0 0 auto auto;
		width: 100%;
		transform: translateX(100%);
		transition: transform var(--transition-slow);
		background: rgba(244, 246, 249, 0.98);
		box-shadow: var(--shadow-elevated);
		border-left: 1px solid var(--color-border);
		align-items: flex-start;
		justify-content: flex-start;
	}
	.header-nav.is-open {
		transform: translateX(0);
	}
	.header-menu {
		flex-direction: column;
		align-items: flex-start;
		width: 100%;
		padding: var(--space-6);
		gap: var(--space-4);
	}
	.header-menu-item {
		width: 100%;
	}
	.header-link {
		width: 100%;
		padding-block: 0.4rem;
	}
	.header-cta {
		width: 100%;
		justify-content: center;
		margin-top: var(--space-2);
	}
	.header-toggle {
		display: inline-flex;
		margin-left: auto;
		z-index: 41;
	}
	.site-header.is-menu-open {
		box-shadow: var(--shadow-elevated);
	}
}
@media (max-width: 600px) {
	.brand-tagline {
		display: none;
	}
	.brand-name {
		font-size: 1.05rem;
	}
}
