:root {
	--fenie-motion-feedback: 160ms;
	--fenie-motion-interface: 260ms;
	--fenie-motion-navigation: 380ms;
	--fenie-motion-editorial: 460ms;
	--fenie-motion-cinematic: 680ms;
	--fenie-ease-standard: cubic-bezier(0.2, 0, 0, 1);
	--fenie-ease-emphasized: cubic-bezier(0.16, 1, 0.3, 1);
}

body::before,
body::after {
	content: "";
	pointer-events: none;
	position: fixed;
	z-index: 1000;
}

body::before {
	animation: fenie-entry-wash 720ms var(--fenie-ease-emphasized) both;
	background: linear-gradient(180deg, rgba(11, 15, 34, 0.96) 0%, rgba(11, 15, 34, 0.78) 58%, rgba(11, 15, 34, 0) 100%);
	height: min(18vh, 150px);
	inset: 0 0 auto;
	opacity: 0;
	transform: translateY(-72%);
}

body::after {
	animation: fenie-entry-trace 760ms var(--fenie-ease-emphasized) 45ms both;
	background: var(--wp--preset--color--old-gold);
	box-shadow: 0 0 18px rgba(200, 147, 46, 0.22);
	height: 3px;
	inset: 0 0 auto;
	opacity: 0;
	transform: scaleX(0);
	transform-origin: left center;
}

:where(.wp-element-button, .wp-block-button__link) {
	transition-duration: var(--fenie-motion-feedback);
	transition-property: background-color, border-color, box-shadow, color, transform;
	transition-timing-function: var(--fenie-ease-standard);
}

:where(.wp-element-button, .wp-block-button__link):active {
	transform: translateY(1px) scale(0.985);
}

.fenie-site-header .wp-block-navigation__responsive-container-open,
.fenie-site-header .wp-block-navigation__responsive-container-close {
	transition: color var(--fenie-motion-feedback) var(--fenie-ease-standard), transform var(--fenie-motion-feedback) var(--fenie-ease-standard);
}

.fenie-site-header .wp-block-navigation__responsive-container-open:active,
.fenie-site-header .wp-block-navigation__responsive-container-close:active {
	transform: scale(0.88);
}

.fenie-site-header .wp-block-navigation__responsive-container.is-menu-open {
	animation: fenie-menu-panel-in var(--fenie-motion-navigation) var(--fenie-ease-emphasized) both;
}

.fenie-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	animation: fenie-menu-close-in 360ms var(--fenie-ease-emphasized) 55ms both;
}

.fenie-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	animation: fenie-menu-item-in 360ms var(--fenie-ease-emphasized) both;
	opacity: 0;
}

.fenie-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(1) {
	animation-delay: 70ms;
}

.fenie-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(2) {
	animation-delay: 130ms;
}

.fenie-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(3) {
	animation-delay: 190ms;
}

.fenie-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(4) {
	animation-delay: 250ms;
}

.fenie-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(5) {
	animation-delay: 310ms;
}

.fenie-site-header .wp-block-navigation__responsive-container.is-menu-open .fenie-primary-navigation__cta {
	animation: fenie-menu-cta-in 420ms var(--fenie-ease-emphasized) 375ms both;
	opacity: 0;
}

.fenie-interactions-ready .fenie-site-footer__brand,
.fenie-interactions-ready .fenie-site-footer__nav-grid > .wp-block-column {
	transition: opacity var(--fenie-motion-editorial) var(--fenie-ease-emphasized), transform var(--fenie-motion-editorial) var(--fenie-ease-emphasized);
	transition-delay: calc(var(--fenie-enter-index, 0) * 55ms);
}

.fenie-interactions-ready .fenie-site-footer__brand:not(.is-fenie-entered),
.fenie-interactions-ready .fenie-site-footer__nav-grid > .wp-block-column:not(.is-fenie-entered) {
	opacity: 0;
	transform: translateY(14px);
}

.fenie-interactions-ready .fenie-site-footer__brand.is-fenie-entered,
.fenie-interactions-ready .fenie-site-footer__nav-grid > .wp-block-column.is-fenie-entered {
	opacity: 1;
	transform: translateY(0);
}

@media (hover: hover) and (pointer: fine) {
	:where(.wp-element-button, .wp-block-button__link):hover {
		transform: translateY(-1px);
	}

	.fenie-site-header .wp-block-navigation__responsive-container-open:hover,
	.fenie-site-header .wp-block-navigation__responsive-container-close:hover {
		transform: rotate(6deg) scale(1.05);
	}
}

@media (min-width: 783px) and (hover: hover) and (pointer: fine) {
	.fenie-site-header .fenie-primary-navigation .wp-block-navigation-item__content {
		position: relative;
	}

	.fenie-site-header .fenie-primary-navigation .wp-block-navigation-item__content::after {
		background: var(--wp--preset--color--old-gold);
		bottom: -0.45em;
		content: "";
		height: 2px;
		left: 0;
		position: absolute;
		transform: scaleX(0);
		transform-origin: right center;
		transition: transform var(--fenie-motion-interface) var(--fenie-ease-emphasized);
		width: 100%;
	}

	.fenie-site-header .fenie-primary-navigation .wp-block-navigation-item__content:hover::after,
	.fenie-site-header .fenie-primary-navigation .wp-block-navigation-item__content:focus-visible::after,
	.fenie-site-header .fenie-primary-navigation .current-menu-item > .wp-block-navigation-item__content::after,
	.fenie-site-header .fenie-primary-navigation .current-menu-ancestor > .wp-block-navigation-item__content::after {
		transform: scaleX(1);
		transform-origin: left center;
	}
}

@keyframes fenie-entry-wash {
	0% {
		opacity: 0;
		transform: translateY(-72%);
	}
	24% {
		opacity: 0.88;
	}
	58% {
		opacity: 0.72;
		transform: translateY(0);
	}
	100% {
		opacity: 0;
		transform: translateY(20%);
	}
}

@keyframes fenie-entry-trace {
	0% {
		opacity: 0;
		transform: scaleX(0);
	}
	14% {
		opacity: 1;
	}
	74% {
		opacity: 1;
		transform: scaleX(1);
	}
	100% {
		opacity: 0;
		transform: scaleX(1);
	}
}

@keyframes fenie-menu-panel-in {
	from {
		opacity: 0.72;
		transform: translateY(-14px) scale(0.995);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes fenie-menu-close-in {
	from {
		opacity: 0;
		transform: rotate(-34deg) scale(0.72);
	}
	to {
		opacity: 1;
		transform: rotate(0) scale(1);
	}
}

@keyframes fenie-menu-item-in {
	from {
		opacity: 0;
		transform: translateY(16px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fenie-menu-cta-in {
	from {
		opacity: 0;
		transform: translateY(14px) scale(0.975);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	body::before,
	body::after,
	.fenie-site-header .wp-block-navigation__responsive-container.is-menu-open,
	.fenie-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close,
	.fenie-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item,
	.fenie-site-header .wp-block-navigation__responsive-container.is-menu-open .fenie-primary-navigation__cta {
		animation: none;
	}

	:where(.wp-element-button, .wp-block-button__link),
	.fenie-site-header .wp-block-navigation__responsive-container-open,
	.fenie-site-header .wp-block-navigation__responsive-container-close,
	.fenie-interactions-ready .fenie-site-footer__brand,
	.fenie-interactions-ready .fenie-site-footer__nav-grid > .wp-block-column {
		transition-duration: 0.01ms;
	}

	:where(.wp-element-button, .wp-block-button__link):active,
	:where(.wp-element-button, .wp-block-button__link):hover,
	.fenie-site-header .wp-block-navigation__responsive-container-open:active,
	.fenie-site-header .wp-block-navigation__responsive-container-close:active,
	.fenie-site-header .wp-block-navigation__responsive-container-open:hover,
	.fenie-site-header .wp-block-navigation__responsive-container-close:hover,
	.fenie-interactions-ready .fenie-site-footer__brand,
	.fenie-interactions-ready .fenie-site-footer__nav-grid > .wp-block-column {
		transform: none;
	}

	.fenie-interactions-ready .fenie-site-footer__brand,
	.fenie-interactions-ready .fenie-site-footer__nav-grid > .wp-block-column {
		opacity: 1;
	}
}
