/* =========================
   Footer (Bonnie Rogues)
   Mobile first, desktop >= 920px
========================= */
.site-footer{
	color				: var(--light);
	overflow:hidden;
}
.home .site-footer {
	background		: transparent;
}
.footer-wrap{
	width				: min(var(--width-constrained), 100%);
	margin-inline	: auto;
}
.footer-top{
	padding			: 56px 24px 40px;
	text-align		: center;
}
.footer-brand__logo{
	display			: block;
	margin			: 0 auto 18px;
	height			: auto;
	max-width		: 240px;
}

/* Address (mobile shows) */
.footer-address{
	font-style		: normal;
	font-family		: var(--font-ui);
	font-size		: 16px;
	line-height		: 1.5;
	margin			: 0 auto 22px;
	color				: rgba(255,255,255,.92);
}

/* Social icons row */
.footer-social{
	display			: flex;
	justify-content: center;
	gap				: 34px;
	margin			: 0 auto 26px;
}
.footer-social__link{
	display			: inline-flex;
	align-items		: center;
	justify-content: center;
	width				: 30px;
	height			: 30px;
	text-decoration: none;
	color				: var(--light);
	border-radius	: 0;
}
.footer-social__icon{
	display			: block;
	width				: 28px;
	height			: 28px;
	background		: currentColor;
	opacity			: .95;
}

/* Orange divider */
.footer-rule{
	border			: 0;
	height			: 0px;
	opacity			: 1;
	margin			: 26px auto 30px;
	max-width		: 520px;
	border-bottom	: 4px solid #f0b32e;
}

/* Locations (mobile: 2 + 1 layout) */
.footer-locations{
	display			: flex;
	flex-wrap		: wrap;
	justify-content: center;
	gap				: 22px 46px;
	margin			: 0 auto 26px;
	max-width		: 520px;
}
.footer-location{
	display			: inline-flex;
	align-items		: center;
	gap				: 12px;
	text-decoration: none;
	color				: var(--grey-light);
	font-weight		: unset;
}
.footer-location__mark{
	width			: 44px;
	height			: 44px;
	display			:block;

}
.footer-location__name{
	font-size		: 20px;
	line-height		: 1;
	font-family		: var(--font-ui);
	font-weight		:600;
}

/* Bottom: mobile stacked links */
.footer-bottom{
	margin-top		: 10px;
}
.footer-copy{
	margin			: 18px 0 16px;
	font-family		: var(--font-ui);
	font-size		: 14px;
	color				: #F0B32E;
}
.footer-links{
	display			: flex;
	flex-direction	: column;
	gap				: 10px;
	align-items		: center;
}
.footer-links a{
	font-family		: var(--font-ui);
	font-size		: 14px;
	color				: #F0B32E;
	text-decoration: none;
}
.footer-links a:hover{
	text-decoration: underline;
}

/* Desktop-only links hidden on mobile to match XD */
.footer-link--desktop{
	display			: none;
}

/* =========================
   Desktop layout
========================= */
@media (min-width: 920px){
	.footer-top{
		padding			: 56px 48px 36px;
		text-align		: center;
	}
	.footer-brand__logo{
		max-width		: 260px;
		margin-bottom	: 22px;
		width				: 260px;
	}
	.logo-footer-home{
		max-width		: 160px;
		margin-bottom	: 22px;
		width				: 160px;
	}

	/* address not shown in desktop */
	.footer-address{
		display			: none;
	}
	.footer-rule{
		max-width		: var(--width-constrained);
		margin			: 26px auto 24px;
		opacity			: .9;
		border-bottom: 2px solid #F0B32E;

	}

	.footer-locations{
		flex-wrap		: nowrap;
		max-width		: var(--width-constrained);
		margin-bottom	: 18px;
	}

	/* Bottom becomes a single inline row (copyright + links) */
	.footer-bottom{
		display			: flex;
		justify-content: center;
		align-items		: center;
		gap				: 18px;
		flex-wrap		: wrap;
	}

	.footer-copy{
		margin			: 0;
		white-space		: nowrap;
		color:	#F0B32E;
	}

	.footer-links{
		flex-direction	: row;
		gap				: 18px;
	}

	.footer-link--desktop{
		display			:inline;
	}
}

.footer-social__mark {border-radius:0;}
.footer-social__link img {border-radius:0;}

.bbh-footer-stage {
	position: relative;
/*	overflow: hidden;*/
	min-height: 820px;
	isolation: isolate;
}

/* Shared layer setup */
.bbh-footer-bg {
	position: absolute;
	left: 0;
	width: 100%;
	pointer-events: none;
	z-index: 1;
}

.bbh-footer-bg img {
	display: block;
	max-width: none;
	user-select: none;
	pointer-events: none;
}

/* Mountains stay pinned to the bottom */
.bbh-footer-bg--mountains {
	bottom: 0;
	z-index: 4;
}

.bbh-footer-bg--mountains img {
	width: 100%;
	height: auto;
}

/* Barbara character */
.bbh-footer-bg--barbara {
	top: 120px;
	z-index: 3;
	transform: translate3d(0, var(--bbh-barbara-y, 360px), 0);
	will-change: transform;
}

.bbh-footer-bg--barbara img {
	width: min(300px, 34vw);
	height: auto;
	margin: 0 auto;
}

/* Barbara Would logo */
.bbh-footer-bg--logo {
	top: 20px;
	z-index: 2;
	transform: translate3d(0, var(--bbh-logo-y, 460px), 0) rotate(-3deg);
	will-change: transform;
}

.bbh-footer-bg--logo img {
	width: min(560px, 46vw);
	height: auto;
	margin: 0 auto;
}

/* Actual footer content sits above the animation */
.bbh-footer-content {
	position: relative;
	z-index: 10;
	min-height: 820px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 0 40px 55px;
	color: #f4c21d;
}

/* Optional: dark glass overlay */
.bbh-footer-content::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 330px;
	background: rgba(8, 8, 46, 0.72);
	z-index: -1;
}

/* Mobile tuning */
@media (max-width: 768px) {
	.bbh-footer-stage {
		min-height: 680px;
	}

	.bbh-footer-content {
		min-height: 680px;
		padding: 0 22px 38px;
	}

	.bbh-footer-bg--barbara {
		top: 130px;
	}

	.bbh-footer-bg--barbara img {
		width: min(320px, 58vw);
	}

	.bbh-footer-bg--logo {
		top: 50px;
	}

	.bbh-footer-bg--logo img {
		width: min(420px, 76vw);
	}
}

@media (prefers-reduced-motion: reduce) {
	.bbh-footer-bg--barbara,
	.bbh-footer-bg--logo {
		transform: translate3d(0, 0, 0);
	}
}
.bbh-footer-bg--mountains {
	bottom: 0;
	z-index: 4;
	/*	height: 300px;*/
	overflow: visible;
	aspect-ratio: 498 / 197;
	max-height:300px;
}

.bbh-footer-bg--mountains img {
	width: 100%;
/*	height: 300px;*/
	object-fit: cover;
	object-position: center top;
}
.bbh-footer-bg--barbara {
	top: 120px;
	z-index: 3;
	transform: translate3d(0, var(--bbh-barbara-y, 300px), 0);
}

.bbh-footer-bg--logo {
	top: 20px;
	z-index: 2;
	transform: translate3d(0, var(--bbh-logo-y, 390px), 0) rotate(-3deg);
}
.bbh-footer-stage {
	min-height: 560px;
}

.bbh-footer-content {
	min-height: 620px;
}
.footer-layer {
	position: relative;
	z-index: 20;
	background: rgba(18, 16, 58, 0.85);/*#12103a*/
}
.bbh-footer-skier {
	position: absolute;
	bottom: 260px;
	width: 90px;
	height: auto;
	z-index: 5;
	pointer-events: none;
	opacity: 0;
	transform-origin: center center;
	will-change: transform, opacity;
	backface-visibility: hidden;
	transform: translateZ(0);
}
.bbh-footer-skier--left {
	left: -120px;
}

.bbh-footer-skier--right {
	right: -120px;
}

.bbh-footer-skier--left.is-active {
	animation: bbh-skier-left var(--bbh-skier-duration, 4600ms) linear forwards;
}

.bbh-footer-skier--right.is-active {
	animation: bbh-skier-right var(--bbh-skier-duration, 4600ms) linear forwards;
}

@keyframes bbh-skier-left {
	0% {
		opacity: 0;
		transform: translate3d(-20px, 130px, 0) scale(0.25) rotate(-20deg);
	}

	8% {
		opacity: 1;
		transform: translate3d(6vw, 70px, 0) scale(0.32) rotate(-10deg);
	}

	18% {
		transform: translate3d(14vw, 15px, 0) scale(0.40) rotate(0deg);
	}

	30% {
		transform: translate3d(24vw, -42px, 0) scale(0.49) rotate(10deg);
	}

	42% {
		transform: translate3d(34vw, -70px, 0) scale(0.57) rotate(17deg);
	}

	54% {
		transform: translate3d(43vw, -54px, 0) scale(0.64) rotate(23deg);
	}

	66% {
		transform: translate3d(51vw, -4px, 0) scale(0.70) rotate(29deg);
	}

	78% {
		opacity: 1;
		transform: translate3d(58vw, 90px, 0) scale(0.77) rotate(35deg);
	}

	90% {
		opacity: 0.8;
		transform: translate3d(63vw, 220px, 0) scale(0.81) rotate(40deg);
	}

	100% {
		opacity: 0;
		transform: translate3d(66vw, 380px, 0) scale(0.83) rotate(44deg);
	}
}

@keyframes bbh-skier-right {
	0% {
		opacity: 0;
		transform: translate3d(20px, 130px, 0) scale(0.25) rotate(20deg);
	}

	8% {
		opacity: 1;
		transform: translate3d(-6vw, 70px, 0) scale(0.32) rotate(10deg);
	}

	18% {
		transform: translate3d(-14vw, 15px, 0) scale(0.40) rotate(0deg);
	}

	30% {
		transform: translate3d(-24vw, -42px, 0) scale(0.49) rotate(-10deg);
	}

	42% {
		transform: translate3d(-34vw, -70px, 0) scale(0.57) rotate(-17deg);
	}

	54% {
		transform: translate3d(-43vw, -54px, 0) scale(0.64) rotate(-23deg);
	}

	66% {
		transform: translate3d(-51vw, -4px, 0) scale(0.70) rotate(-29deg);
	}

	78% {
		opacity: 1;
		transform: translate3d(-58vw, 90px, 0) scale(0.77) rotate(-35deg);
	}

	90% {
		opacity: 0.8;
		transform: translate3d(-63vw, 220px, 0) scale(0.81) rotate(-40deg);
	}

	100% {
		opacity: 0;
		transform: translate3d(-66vw, 380px, 0) scale(0.83) rotate(-44deg);
	}
}

@media (max-width: 768px) {
	.bbh-footer-skier {
		bottom: 230px;
		width: 64px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bbh-footer-skier {
		display: none;
	}
}