.emp-header {
	position: relative;
	z-index: 100;
	width: 100%;
	border-top: 1px solid #171717;
	background: #fff;
	font-family: "Barlow Condensed", Arial, sans-serif;
}

.emp-header__container {
	width: min(100%, var(--emp-page-width));
	margin: 0 auto;
}

.emp-header__bar {
	display: flex;
	align-items: center;
	min-height: 5.6rem;
	padding: .45rem 1.1rem;
	gap: clamp(1rem, 2.2vw, 2.5rem);
}

.emp-header__brand { flex: 0 0 auto; line-height: 0; }
.emp-site-logo, .custom-logo-link { display: inline-block; line-height: 0; }
.emp-site-logo img, .custom-logo-link img {
	display: block;
	width: clamp(12.25rem, 18vw, 16.56rem);
	height: auto;
}

.emp-header__desktop-nav { margin-left: auto; }
.emp-nav-list, .emp-mobile-nav-list { padding: 0; margin: 0; list-style: none; }
.emp-nav-list {
	display: flex;
	align-items: center;
	gap: clamp(1.1rem, 2.15vw, 2.55rem);
}

.emp-nav-list a, .emp-mobile-nav-list a, .emp-donate-button {
	font-size: clamp(.95rem, 1.25vw, 1.1rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: .025em;
	text-transform: uppercase;
	text-decoration: none;
}

.emp-nav-list a {
	position: relative;
	display: inline-flex;
	padding: 1.2rem 0 1rem;
	color: var(--emp-ink);
	white-space: nowrap;
	transition: color .22s ease;
}

.emp-nav-list a::after {
	position: absolute;
	right: 0;
	bottom: .52rem;
	left: 0;
	height: 2px;
	background: var(--emp-orange);
	content: "";
	transform: scaleX(0);
	transform-origin: center;
	transition: transform .22s ease;
}

.emp-nav-list a:hover, .emp-nav-list a:focus-visible { color: var(--emp-orange); }
.emp-nav-list a:hover::after, .emp-nav-list a:focus-visible::after { transform: scaleX(1); }

.emp-donate-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 6.85rem;
	min-height: 2.75rem;
	padding: .75rem 1.35rem;
	color: #fff;
	background: var(--emp-green);
	transition: background-color .2s ease, transform .2s ease;
}

.emp-donate-button:hover, .emp-donate-button:focus-visible { color: #fff; background: #338b3e; }
.emp-donate-button:active { transform: translateY(1px); }
.emp-menu-toggle, .emp-header__mobile-nav { display: none; }

@media (max-width: 71rem) and (min-width: 64rem) {
	.emp-header__bar { gap: 1.15rem; }
	.emp-nav-list { gap: 1.05rem; }
	.emp-nav-list a { font-size: .9rem; }
}

@media (max-width: 63.999rem) {
	.emp-header__container { width: 100%; }
	.emp-header__bar { min-height: 5.75rem; padding: .35rem 1.5rem; }
	.emp-header__brand { margin-right: auto; }
	.emp-site-logo img, .custom-logo-link img { width: clamp(12rem, 33vw, 16.56rem); }
	.emp-header__desktop-nav, .emp-header__desktop-donate { display: none; }

	.emp-menu-toggle {
		display: inline-grid;
		width: 2.6rem;
		height: 2.6rem;
		padding: 0;
		border: 0;
		background: transparent;
		cursor: pointer;
		place-items: center;
	}

	.emp-menu-toggle__lines { display: grid; width: 1.35rem; gap: .24rem; }
	.emp-menu-toggle__lines span {
		display: block;
		height: 2px;
		background: var(--emp-orange);
		transition: transform .2s ease, opacity .2s ease;
	}
	.emp-menu-toggle[aria-expanded="true"] .emp-menu-toggle__lines span:nth-child(1) { transform: translateY(.32rem) rotate(45deg); }
	.emp-menu-toggle[aria-expanded="true"] .emp-menu-toggle__lines span:nth-child(2) { opacity: 0; }
	.emp-menu-toggle[aria-expanded="true"] .emp-menu-toggle__lines span:nth-child(3) { transform: translateY(-.32rem) rotate(-45deg); }

	.emp-header__mobile-nav {
		display: grid;
		grid-template-rows: 0fr;
		transition: grid-template-rows .34s ease;
	}
	.emp-header__mobile-nav.is-open { grid-template-rows: 1fr; }
	.emp-header__mobile-nav-inner { overflow: hidden; }
	.emp-mobile-nav-list { padding: .25rem 0 .45rem; }
	.emp-mobile-nav-list a {
		display: block;
		padding: .57rem 1.5rem;
		color: #3c783d;
		transition: color .18s ease, background-color .18s ease;
	}
	.emp-mobile-nav-list a:hover, .emp-mobile-nav-list a:focus-visible { color: #fff; background: var(--emp-orange); }
}

@media (max-width: 30rem) {
	.emp-header__bar { padding-inline: 1.25rem; }
	.emp-site-logo img, .custom-logo-link img { width: min(15.9rem, 74vw); }
}

@media (prefers-reduced-motion: reduce) {
	.emp-nav-list a, .emp-nav-list a::after, .emp-donate-button,
	.emp-menu-toggle__lines span, .emp-header__mobile-nav, .emp-mobile-nav-list a { transition: none; }
}
