/* General */

#hero {
	min-height: 100vh;
	margin-top: -70px;
	transition: all 1200ms ease;
}

#hero > div .background {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center center;
	opacity: 0.25;
	transform: scale(1.1);
	transition: all 720ms ease;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

#hero > div .background.active {
}

#hero > div .background.active.blur {
	transform: scale(1);
	filter: blur(5px);
}

#hero .step {
	transition: all 720ms ease;
}

#hero .step:not(.active) {
	transform: translateY(20px);
	opacity: 0;
	pointer-events: none;
}

#hero .step .title {
	padding-bottom: var(--space-15);
}

#hero .step .title::after {
	content: '';
	width: 50px;
	height: 2px;
	background-color: #fff;
	transform: translateX(-50%);
	position: absolute;
	bottom: 0;
	left: 50%;
}

#hero .step .nav {
	transform: translateY(300%);
	position: absolute;
}

#hero button.nav {
	width: 50px;
	height: 50px;
	opacity: 0;
	transition: all 560ms ease 720ms;
}

#hero button.prev {
	left: 50px;
	transform: translateX(50px);
}

#hero button.nav.active {
	opacity: 1;
	transform: none;
}

#hero button.nav::before,
#hero button.nav::after {
	content: '';
	width: 50%;
	height: 2px;
	background-color: #fff;
	position: absolute;
	transform-origin: center left;
}

#hero button.nav::before {
	transform: rotate(40deg);
}

#hero button.nav::after {
	transform: rotate(-40deg);
}

#hero button.nav.next {
	right: 50px;
	transform: rotate(180deg) translateX(50px);
}

#hero button.nav.next.active {
	transform: rotate(180deg) translateX(0);
}

#skip {
	width: 70px;
	height: 70px;
	opacity: 0;
	transform: translate(-50%,20px);
	transition: all 280ms ease;
	cursor: pointer;
}

#skip.active {
	opacity: 1;
	transform: translate(-50%,0);
}

#skip::before,
#skip::after {
	content: '';
	position: absolute;
	width: 30%;
	height: 2px;
	background-color: #fff;
	transition: all 280ms ease;
}

#skip::before {
	transform: rotate(45deg);
}

#skip::after {
	transform: rotate(-45deg);
}

#skip.active:hover {
	transform: translate(-50%,0);
}

#skip:hover::before {
	width: 30%;
	transform: translateX(-6.5px) rotate(50deg);
}

#skip:hover::after {
	width: 30%;
	transform: translateX(6.5px) rotate(-50deg);
}

/* Step 0 */

#hero [data-step="0"] figure.hidden {
	width: 58px;
	transition: all 720ms ease;
}

#hero [data-step="0"] figure.hidden.active {
	width: 250px;
}

#hero [data-step="0"] figure svg {
	min-width: 250px;
	height: auto;
}

#hero [data-step="0"] p {
	margin-top: 30px;
}

/* Step 1 */

#hero [data-step="1"] .categories {
	transform: translateX(-11px);
}

#hero [data-step="1"] a {
	opacity: 0;
	transform: translateY(-10px);
	transition: all 560ms ease;
}

#hero [data-step="1"] a:nth-child(1) {
	transition-delay: 280ms;
}

#hero [data-step="1"] a:nth-child(2) {
	transition-delay: 560ms;
}

#hero [data-step="1"] a:nth-child(3) {
	transition-delay: 840ms;
}

#hero [data-step="1"].active a {
	opacity: 1;
	transform: translateY(0);
}

#hero [data-step="1"] figure {
	height: 50px;
}

#hero [data-step="1"] figure svg {
	max-height: 100%;
	filter: invert(1);
}

#hero [data-step="1"] .categories > span {
	opacity: 0.25;
	transition: all 280ms ease;
}

#hero [data-step="1"] .categories > span:hover {
	opacity: 1;
}

/* Step 2 */

#hero [data-step="2"] .brands {
	gap: 30px;
}

#hero [data-step="2"] .brands > span {
	flex: 1 0 19%;
	opacity: 0.4;
	transition: all 280ms ease;
}

#hero [data-step="2"] .brands > span:hover,
#hero [data-step="2"] .brands > span.active {
	opacity: 1;
}

#hero [data-step="2"] figure {
	width: 180px;
	height: 60px;
	filter: brightness(0) invert(1);
}

#hero [data-step="2"] figure svg {
	min-width: 180px;
	pointer-events: none;
}

#hero [data-step="2"] figure img {
	object-fit: contain;
}

#hero [data-step="2"] button {
	transform: translate(-50%,calc(300% + 20px));
	opacity: 0;
	transition: all 280ms ease;
}

#hero [data-step="2"] button::after {
	content: '';
	width: 0%;
	height: 2px;
	background-color: #fff;
	transition: all 280ms ease;
	position: absolute;
	left: 0;
	bottom: -5px;
}

#hero [data-step="2"] button:hover::after {
	width: 100%;
	right: 0;
}

#hero [data-step="2"] button.active {
	transform: translate(-50%,300%);
	opacity: 1;
}