.hcl-bpv-banner {
	width: min(var(--hcl-wrap), calc(100% - var(--hcl-gutter)));
	margin: 0 auto 8px;
	padding: 0 0 14px;
	border-bottom: 1px solid var(--hcl-page-gold);
	color: var(--hcl-page-text);
	font-size: 13px;
	letter-spacing: 0.04em;
}

.hcl-bpv-banner a {
	margin-left: 12px;
	color: var(--hcl-page-gold);
}

.hcl-bpv-progress {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 50;
	width: 100%;
	height: 4px;
	pointer-events: none;
}

.hcl-bpv-progress i {
	display: block;
	height: 100%;
	background: var(--hcl-page-gold);
	transform: scaleX(0);
	transform-origin: left center;
}

.hcl-bp--fx .hcl-kicker {
	position: relative;
	display: inline-block;
}

.hcl-bp--fx .hcl-kicker::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -6px;
	width: 100%;
	height: 2px;
	background: var(--hcl-page-gold);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 800ms cubic-bezier(0.22, 1, 0.36, 1);
}

.hcl-bp--fx.is-ready .hcl-kicker::after {
	transform: scaleX(1);
}

.hcl-bp--fx .hcl-bp-hero__title {
	opacity: 1;
	animation: none;
}

.hcl-bp--fx .hcl-bp-hero__line,
.hcl-bp--fx .hcl-bp-intro__line {
	display: block;
	overflow: hidden;
	perspective: 400px;
}

.hcl-bp--fx .hcl-bp-hero__line span,
.hcl-bp--fx .hcl-bp-intro__line span {
	display: inline-block;
	opacity: 1;
	color: var(--hcl-page-gold);
	transform: translateY(18px) rotateX(28deg);
}

.hcl-bp--fx.is-ready .hcl-bp-hero__line span {
	animation: hcl-bp-fx-up 820ms cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.hcl-bp--fx .hcl-bp-intro.is-in .hcl-bp-intro__line span {
	animation: hcl-bp-fx-up 760ms cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.hcl-bp--fx .hcl-bp-hero__copy {
	opacity: 0;
	transform: translateY(24px);
}

.hcl-bp--fx.is-ready .hcl-bp-hero__copy {
	animation: hcl-bp-fx-fade 700ms ease 420ms forwards;
}

.hcl-bp--fx .hcl-bp-intro p {
	opacity: 0;
	transform: translateY(18px);
}

.hcl-bp--fx .hcl-bp-intro.is-in p {
	animation: hcl-bp-fx-fade 600ms ease 220ms forwards;
}

.hcl-bp--fx .hcl-bp-row {
	position: relative;
	opacity: 0;
	transform: translateX(-40px);
	transition:
		opacity 720ms cubic-bezier(0.16, 1, 0.3, 1),
		transform 720ms cubic-bezier(0.16, 1, 0.3, 1),
		background-color 280ms ease,
		border-color 280ms ease;
}

.hcl-bp--fx .hcl-bp-row.is-in {
	opacity: 1;
	transform: none;
}

.hcl-bp--fx.is-title-in .hcl-bp-hero__line span,
.hcl-bp--fx.is-title-in .hcl-bp-intro__line span {
	opacity: 1;
	filter: none;
	transform: none;
	color: var(--hcl-page-ink);
}

.hcl-bp--fx .hcl-bp-row::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: var(--hcl-page-gold);
	transform: scaleY(0);
	transform-origin: top center;
	transition: transform 480ms cubic-bezier(0.22, 1, 0.36, 1);
	z-index: 2;
}

.hcl-bp--fx .hcl-bp-row::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: -30%;
	width: 38%;
	background: linear-gradient(90deg, transparent, rgba(184, 137, 50, 0.55), transparent);
	transform: translateX(-40%);
	opacity: 0;
	pointer-events: none;
	z-index: 3;
}

.hcl-bp--fx .hcl-bp-row.is-in::after {
	animation: hcl-bp-fx-shine 900ms ease 120ms forwards;
}

.hcl-bp--fx .hcl-bp-row:hover {
	border-top-color: var(--hcl-page-gold);
	background: linear-gradient(90deg, rgba(184, 137, 50, 0.12), transparent 62%);
}

.hcl-bp--fx .hcl-bp-row:hover::before {
	transform: scaleY(1);
}

.hcl-bp--fx .hcl-bp-row__logo {
	overflow: visible;
	perspective: 700px;
}

.hcl-bp--fx .hcl-bp-row__logo img {
	opacity: 0;
	transform: rotateY(-85deg) scale(0.86);
	transform-origin: left center;
	transition:
		opacity 200ms ease,
		transform 900ms cubic-bezier(0.16, 1, 0.3, 1);
}

.hcl-bp--fx .hcl-bp-row.is-in .hcl-bp-row__logo img {
	opacity: 1;
	transform: none;
}

.hcl-bp--fx .hcl-bp-row:hover .hcl-bp-row__logo img {
	transform: scale(1.16) rotate(-3deg);
}

.hcl-bp--fx .hcl-bp-row__name {
	background-image: linear-gradient(var(--hcl-page-gold), var(--hcl-page-gold));
	background-repeat: no-repeat;
	background-position: 0 92%;
	background-size: 0 2px;
	transition: background-size 420ms cubic-bezier(0.22, 1, 0.36, 1), color 220ms ease;
}

.hcl-bp--fx .hcl-bp-row:hover .hcl-bp-row__name {
	color: var(--hcl-page-gold);
	background-size: 100% 2px;
}

.hcl-bp--fx .hcl-bp-row__cat {
	opacity: 0;
	letter-spacing: 0.55em;
	transform: translateY(12px);
	transition: opacity 500ms ease, letter-spacing 800ms ease, transform 500ms ease;
	transition-delay: 160ms;
}

.hcl-bp--fx .hcl-bp-row.is-in .hcl-bp-row__cat {
	opacity: 1;
	letter-spacing: 0.22em;
	transform: none;
}

.hcl-bp--fx .hcl-bp-row--tight.is-in .hcl-bp-row__cat {
	letter-spacing: 0.08em;
}

.hcl-bp--fx .hcl-bp-row__lead,
.hcl-bp--fx .hcl-bp-row__kind {
	opacity: 0;
	transform: translateY(16px);
}

.hcl-bp--fx .hcl-bp-row.is-in .hcl-bp-row__lead,
.hcl-bp--fx .hcl-bp-row.is-in .hcl-bp-row__kind {
	animation: hcl-bp-fx-fade 560ms ease 200ms forwards;
}

.hcl-bp--fx .hcl-bp-row__shops li {
	opacity: 0;
	transform: translateY(14px) scale(0.96);
}

.hcl-bp--fx .hcl-bp-row.is-in .hcl-bp-row__shops li {
	animation: hcl-bp-fx-pop 500ms cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.hcl-bp--fx .hcl-bp-row.is-in .hcl-bp-row__shops li:nth-child(1) { animation-delay: 160ms; }
.hcl-bp--fx .hcl-bp-row.is-in .hcl-bp-row__shops li:nth-child(2) { animation-delay: 230ms; }
.hcl-bp--fx .hcl-bp-row.is-in .hcl-bp-row__shops li:nth-child(3) { animation-delay: 300ms; }
.hcl-bp--fx .hcl-bp-row.is-in .hcl-bp-row__shops li:nth-child(4) { animation-delay: 370ms; }
.hcl-bp--fx .hcl-bp-row.is-in .hcl-bp-row__shops li:nth-child(5) { animation-delay: 440ms; }
.hcl-bp--fx .hcl-bp-row.is-in .hcl-bp-row__shops li:nth-child(n+6) { animation-delay: 510ms; }

.hcl-bp--fx .hcl-bp-more {
	opacity: 0;
	transform: translateX(-12px);
}

.hcl-bp--fx .hcl-bp-row.is-in .hcl-bp-more {
	animation: hcl-bp-fx-fade 500ms ease 380ms forwards;
}

.hcl-bp--fx .hcl-bp-more span {
	display: inline-block;
	transition: transform 240ms ease;
}

.hcl-bp--fx .hcl-bp-row.is-in .hcl-bp-more span {
	animation: hcl-bp-fx-nudge 700ms ease 900ms 3;
}

.hcl-bp--fx .hcl-bp-more:hover span {
	transform: translateX(10px);
	animation: none;
}

.hcl-bp--fx .hcl-bp-shop[data-shot] {
	cursor: pointer;
}

.hcl-bp--fx .hcl-bp-shop[data-shot]:hover,
.hcl-bp--fx .hcl-bp-shop[data-shot]:focus-visible {
	color: var(--hcl-page-gold);
}

.hcl-bpv-peek {
	position: fixed;
	right: clamp(16px, 4vw, 56px);
	top: 50%;
	z-index: 8;
	width: min(320px, 30vw);
	aspect-ratio: 3 / 4;
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
	transform: translateY(-46%) scale(0.96);
	mask-image: radial-gradient(ellipse at center, #000 42%, transparent 78%);
	-webkit-mask-image: radial-gradient(ellipse at center, #000 42%, transparent 78%);
	transition: opacity 420ms ease, transform 420ms ease;
}

.hcl-bpv-peek.is-on {
	opacity: 1;
	transform: translateY(-50%) scale(1);
}

.hcl-bpv-peek img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@keyframes hcl-bp-fx-up {
	to {
		color: var(--hcl-page-ink);
		filter: none;
		transform: none;
	}
}

@keyframes hcl-bp-fx-fade {
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes hcl-bp-fx-pop {
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes hcl-bp-fx-shine {
	0% {
		opacity: 0;
		transform: translateX(-40%);
	}
	18% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		transform: translateX(320%);
	}
}

@keyframes hcl-bp-fx-nudge {
	0%, 100% { transform: translateX(0); }
	50% { transform: translateX(10px); }
}

@media (max-width: 850px) {
	.hcl-bpv-peek {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hcl-bpv-progress i,
	.hcl-bp--fx .hcl-kicker::after,
	.hcl-bp--fx .hcl-bp-hero__line span,
	.hcl-bp--fx .hcl-bp-intro__line span,
	.hcl-bp--fx .hcl-bp-hero__copy,
	.hcl-bp--fx .hcl-bp-intro p,
	.hcl-bp--fx .hcl-bp-row,
	.hcl-bp--fx .hcl-bp-row__logo img,
	.hcl-bp--fx .hcl-bp-row__cat,
	.hcl-bp--fx .hcl-bp-row__lead,
	.hcl-bp--fx .hcl-bp-row__kind,
	.hcl-bp--fx .hcl-bp-row__shops li,
	.hcl-bp--fx .hcl-bp-row::before,
	.hcl-bp--fx .hcl-bp-row::after,
	.hcl-bp--fx .hcl-bp-row__name,
	.hcl-bp--fx .hcl-bp-more,
	.hcl-bp--fx .hcl-bp-more span {
		animation: none !important;
		transition: none !important;
		opacity: 1 !important;
		filter: none !important;
		transform: none !important;
		clip-path: none !important;
		background-size: 100% 2px !important;
		letter-spacing: inherit !important;
		color: inherit !important;
	}
}
