:root {
	--faterise-header-height: 80px;
	--faterise-header-gold: #c9a941;
	--faterise-header-ink: #000;
	--faterise-header-panel: #fff;
}

.faterise-header {
	position: fixed;
	inset: 0 0 auto;
	z-index: 9999;
	width: 100%;
	height: var(--faterise-header-height);
	background-color: transparent;
	transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.faterise-header.faterise-header-is-scroll,
.faterise-header.is-menu-open {
	background-color: var(--faterise-header-panel);
	box-shadow: 0 1px 8px rgb(0 0 0 / 5%);
}

.admin-bar .faterise-header {
	top: 32px;
}

.faterise-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 100%;
	padding-inline: 12px 64px;
}

.faterise-header__brand {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	line-height: 0;
	text-decoration: none;
}

.faterise-header__logo {
	display: block;
	width: 231px;
	height: auto;
}

.faterise-header__desktop-nav {
	margin-left: auto;
}

.faterise-header__menu,
.faterise-mobile-nav__menu {
	padding: 0;
	margin: 0;
	list-style: none;
}

.faterise-header__menu {
	display: flex;
	align-items: center;
}

.faterise-header__menu-link {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 50px;
	padding: 15px;
	color: var(--faterise-header-ink) !important;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 20px !important;
	text-decoration: none;
	white-space: nowrap;
}

.faterise-header__menu-link::after {
	position: absolute;
	right: 15px;
	bottom: 7px;
	left: 15px;
	height: 2px;
	background: var(--faterise-header-gold);
	content: "";
	opacity: 0;
	transform: scaleX(0);
	transform-origin: center;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.faterise-header__menu-link:hover,
.faterise-header__menu-link:focus-visible,
.faterise-header__menu-link.is-current {
	color: var(--faterise-header-gold) !important;
}

.faterise-header__menu-link:hover::after,
.faterise-header__menu-link:focus-visible::after,
.faterise-header__menu-link.is-current::after {
	opacity: 1;
	transform: scaleX(1);
}

.faterise-header__menu-link:focus-visible,
.faterise-header__menu-toggle:focus-visible,
.faterise-mobile-nav__close:focus-visible,
.faterise-mobile-nav__link:focus-visible {
	outline: 3px solid var(--faterise-header-gold);
	outline-offset: 3px;
}

.faterise-header__menu-toggle {
	display: none;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	line-height: 0;
}

.faterise-mobile-nav[hidden] {
	display: none;
}

.faterise-mobile-nav {
	position: fixed;
	inset: 0;
	z-index: 10000;
}

.faterise-mobile-nav__overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	border: 0;
	background: rgb(0 0 0 / 28%);
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.faterise-mobile-nav__panel {
	position: absolute;
	inset: 0 0 0 auto;
	display: flex;
	width: min(100%, 500px);
	min-height: 100%;
	flex-direction: column;
	padding: 70px 24px;
	overflow-y: auto;
	background: var(--faterise-header-panel);
	transform: translateX(100%);
	transition: transform 0.3s ease;
}

.faterise-mobile-nav__navigation {
	width: 100%;
	margin-block: auto;
}

.faterise-mobile-nav.is-open .faterise-mobile-nav__overlay {
	opacity: 1;
}

.faterise-mobile-nav.is-open .faterise-mobile-nav__panel {
	transform: translateX(0);
}

.faterise-mobile-nav__close {
	position: absolute;
	top: 15px;
	right: 14px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	line-height: 0;
}

.admin-bar .faterise-mobile-nav__close {
	top: 61px;
}

.faterise-mobile-nav__menu {
	display: grid;
	gap: 10px;
}

.faterise-mobile-nav__link {
	display: block;
	padding: 14px 7px;
	border-bottom: 1px solid rgb(201 169 65 / 35%);
	color: var(--faterise-header-ink) !important;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
	text-align: center;
	text-decoration: none;
}

.faterise-mobile-nav__link:hover,
.faterise-mobile-nav__link:focus-visible,
.faterise-mobile-nav__link.is-current {
	color: var(--faterise-header-gold) !important;
}

body.faterise-menu-is-open {
	overflow: hidden;
}

@media (max-width: 1215px) and (min-width: 1025px) {
	.faterise-header__logo {
		width: 210px;
	}

	.faterise-header__menu-link {
		padding-inline: 10px;
		font-size: 17px;
	}

	.faterise-header__menu-link::after {
		right: 10px;
		left: 10px;
	}
}

@media (max-width: 1024px) {
	:root {
		--faterise-header-height: 70px;
	}

	.faterise-header,
	.faterise-header.faterise-header-is-scroll,
	.faterise-header.is-menu-open {
		background-color: transparent !important;
		box-shadow: none !important;
	}

	body.faterise-menu-is-open .faterise-header {
		z-index: 10002;
		pointer-events: none;
	}

	body.faterise-menu-is-open .faterise-header__brand {
		position: relative;
		z-index: 1;
		pointer-events: auto;
	}

	body.faterise-menu-is-open .faterise-header__menu-toggle {
		visibility: hidden;
		pointer-events: none;
	}

	body.faterise-menu-is-open .recruitment-container {
		z-index: 10002 !important;
	}

	.admin-bar .faterise-header {
		top: 32px;
	}

	.faterise-header__inner {
		padding-inline: 5px 14px;
	}

	.faterise-header__logo {
		width: 195px;
	}

	.faterise-header__desktop-nav {
		display: none;
	}

	.faterise-header__menu-toggle {
		display: inline-flex;
	}
}

@media (max-width: 782px) {
	.admin-bar .faterise-header {
		top: 46px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.faterise-header,
	.faterise-header__menu-link::after,
	.faterise-mobile-nav__overlay,
	.faterise-mobile-nav__panel {
		transition-duration: 0.01ms;
	}
}
