.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255, 250, 241, 0.94);
	border-bottom: 1px solid var(--color-border);
	box-shadow: 0 6px 24px rgba(20, 70, 55, 0.08);
	backdrop-filter: blur(16px);
}

.header-inner {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 30px;
	min-height: 86px;
}

.brand {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 260px;
}

.brand img {
	width: 58px;
	height: 58px;
	object-fit: cover;
	border: 3px solid #ffffff;
	border-radius: 50%;
	box-shadow: var(--shadow-soft);
}

.brand strong {
	display: block;
	color: var(--color-orange);
	font-size: 28px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

.brand small {
	display: block;
	margin-top: 5px;
	color: var(--color-green);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 6px;
	text-transform: uppercase;
}

.main-nav {
	display: flex;
	align-items: center;
	justify-content: end;
	gap: 30px;
}

.main-nav a {
	position: relative;
	color: var(--color-green-dark);
	font-size: 14px;
	font-weight: 900;
	text-transform: uppercase;
}

.main-nav a::after {
	position: absolute;
	left: 0;
	bottom: -8px;
	width: 0;
	height: 3px;
	background: var(--color-orange);
	border-radius: 999px;
	content: '';
	transition: width 0.2s ease;
}

.main-nav a:hover::after {
	width: 100%;
}

.header-socials {
	display: flex;
	gap: 10px;
}

.header-socials a {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	color: var(--color-green);
	background: #ffffff;
	border: 1px solid rgba(198, 98, 25, 0.22);
	border-radius: 50%;
	box-shadow: var(--shadow-soft);
}

.mobile-menu-button {
	display: none;
	width: 46px;
	height: 46px;
	place-items: center;
	color: #ffffff;
	background: var(--color-green);
	border: 0;
	border-radius: 50%;
	font-size: 20px;
	cursor: pointer;
}

@media (max-width: 900px) {
	.header-inner {
		grid-template-columns: 1fr auto;
		min-height: 72px;
	}

	.brand {
		min-width: 0;
	}

	.brand img {
		width: 48px;
		height: 48px;
	}

	.brand strong {
		font-size: 20px;
	}

	.brand small {
		font-size: 9px;
		letter-spacing: 4px;
	}

	.mobile-menu-button {
		display: grid;
	}

	.main-nav {
		position: fixed;
		top: 72px;
		left: 0;
		display: none;
		width: 100%;
		padding: 18px 14px;
		background: rgba(255, 250, 241, 0.98);
		border-bottom: 1px solid var(--color-border);
		box-shadow: var(--shadow-card);
	}

	.main-nav.is-open {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0;
		text-align: center;
	}

	.main-nav a {
		padding: 16px 8px;
		border-bottom: 1px solid var(--color-border);
	}

	.main-nav a:last-child {
		border-bottom: 0;
	}

	.header-socials {
		display: none;
	}
}
