.site-logo-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.site-logo-title {
	font-size: 1.05rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.site-logo-subtitle {
	font-family: var(--font-sans);
	font-size: 0.75rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-neutral-500);
}
.header-utility {
	gap: var(--space-4);
}
.header-cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: var(--text-xs);
}
.badge-21 {
	position: relative;
	align-items: center;
    width: 100%;
	gap: 0.35rem;
	padding: 0.18rem 0.7rem;
	background: linear-gradient(135deg, #ff4b4b, #b11226);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
    text-align: center;
	letter-spacing: 0.14em;
    justify-content: center;
	text-transform: uppercase;
	box-shadow: 0 10px 24px rgba(177, 18, 38, 0.55);
}
.badge-21-icon {
	width: 16px;
	height: 16px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.7);
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18) inset;
	background: radial-gradient(
		circle at 30% 20%,
		#fff 0,
		rgba(255, 255, 255, 0.16) 35%,
		transparent 60%
	);
}
.badge-21-text {
	position: relative;
    text-align: center;
}
.header-menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	border-radius: 999px;
	border: 1px solid rgba(148, 163, 184, 0.7);
	background: rgba(244, 246, 248, 0.95);
	transition:
		background-color var(--transition-base),
		border-color var(--transition-base),
		transform var(--transition-fast);
}
.header-menu-toggle-bar {
	width: 18px;
	height: 2px;
	background-color: var(--color-neutral-800);
	border-radius: 999px;
	transition:
		transform var(--transition-fast),
		opacity var(--transition-fast),
		background-color var(--transition-fast);
}
.header-menu-toggle[aria-expanded="true"] {
	background: #020617;
	border-color: #020617;
}
.header-menu-toggle[aria-expanded="true"] .header-menu-toggle-bar {
	background-color: #f9fafb;
}
.header-menu-toggle[aria-expanded="true"] .header-menu-toggle-bar:first-child {
	transform: translateY(3px) rotate(45deg);
}
.header-menu-toggle[aria-expanded="true"] .header-menu-toggle-bar:last-child {
	transform: translateY(-3px) rotate(-45deg);
}
.site-nav .nav-link {
	font-size: var(--text-sm);
}
.site-nav .nav-link.is-active {
	color: var(--color-heading);
}
.mobile-nav {
	position: fixed;
	top: 96px;
	left: 0;
	right: 0;
	max-height: 0;
	overflow: hidden;
	background: rgba(244, 246, 248, 0.97);
	backdrop-filter: blur(18px);
	border-bottom: 1px solid rgba(217, 226, 235, 0.9);
	transition: max-height var(--transition-base);
	z-index: 35;
}
.mobile-nav.is-open {
	max-height: 80vh;
	box-shadow: 0 20px 45px rgba(15, 23, 42, 0.24);
}
.mobile-nav-list {
	padding: var(--space-4) var(--space-4) var(--space-6);
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.mobile-nav-link {
	display: block;
	padding: 0.7rem 0.4rem;
	border-radius: var(--radius-sm);
	font-size: var(--text-sm);
	color: var(--color-neutral-700);
}
.mobile-nav-link:hover,
.mobile-nav-link:focus-visible {
	background-color: #fff;
	color: var(--color-heading);
}
@media (max-width: 1024px) {
	.site-nav {
		display: none;
	}
	.header-menu-toggle {
		display: inline-flex;
	}
	.header-cta-btn {
		display: none;
	}
}
@media (max-width: 480px) {
	.badge-21 {
		padding: 0.18rem 0.55rem;
		font-size: 9px;
	}
	.header-menu-toggle {
		width: 36px;
		height: 36px;
	}
	.mobile-nav-list {
		padding-inline: var(--space-3);
	}
}
