/*
 * JH site credit
 * Namespaced and deliberately self-contained so host theme styles cannot
 * change its layout. The quiet resting state borrows the site's own footer
 * colour; the branded ink/paper/papaya treatment appears on interaction.
 */
.jh-bss-credit {
	--jh-credit-ink: #151515;
	--jh-credit-paper: #f1ede3;
	--jh-credit-accent: #ff8000;
	--jh-credit-ease: cubic-bezier(.22, 1, .36, 1);
	--jh-credit-rest-bg: #151515;
	--jh-credit-rest-fg: #f1ede3;
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 1;
	text-align: center;
	isolation: isolate;
}

.jh-bss-credit *,
.jh-bss-credit *::before,
.jh-bss-credit *::after {
	box-sizing: border-box;
}

.jh-bss-credit__link {
	position: relative;
	display: grid;
	place-items: center;
	width: 100%;
	height: 54px;
	padding: 14px clamp(18px, 4vw, 52px);
	overflow: hidden;
	background: var(--jh-credit-rest-bg);
	color: var(--jh-credit-rest-fg);
	font-family: Inter, Arial, Helvetica, sans-serif;
	font-size: clamp(13px, 1.1vw, 15px);
	font-weight: 500;
	line-height: 1;
	text-decoration: none !important;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: none;
	transition: background-color .4s ease, color .4s ease;
}

.jh-bss-credit__link::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 3px;
	background: var(--jh-credit-accent);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform .55s var(--jh-credit-ease);
}

.jh-bss-credit__link:hover,
.jh-bss-credit__link:focus-visible,
.jh-bss-credit__link.is-open {
	background: var(--jh-credit-rest-bg);
	color: var(--jh-credit-rest-fg);
}

.jh-bss-credit__link:hover::after,
.jh-bss-credit__link:focus-visible::after,
.jh-bss-credit__link.is-open::after {
	transform: scaleX(1);
}

.jh-bss-credit__link:focus-visible {
	outline: 3px solid var(--jh-credit-accent);
	outline-offset: -3px;
}

.jh-bss-credit__compact,
.jh-bss-credit__expanded {
	grid-area: 1 / 1;
	display: inline-flex;
	align-items: baseline;
	justify-content: center;
	gap: .38em;
	white-space: nowrap;
	transition: opacity .28s ease, transform .45s var(--jh-credit-ease);
}

.jh-bss-credit__compact strong {
	font-family: halyard-display, Archivo, "Arial Black", Arial, Helvetica, sans-serif;
	font-size: 1.22em;
	font-weight: 900;
	letter-spacing: -.055em;
}

.jh-bss-credit__compact-dot {
	color: var(--jh-credit-accent);
}

.jh-bss-credit__expanded {
	opacity: 0;
	transform: scale(.985);
}

.jh-bss-credit__visit {
	display: inline-block;
	margin-left: .28em;
	white-space: nowrap;
	transition: opacity .3s ease, transform .45s var(--jh-credit-ease);
}

.jh-bss-credit__mark {
	position: relative;
	display: inline-flex;
	align-items: flex-end;
	color: inherit;
	font-family: halyard-display, Archivo, "Arial Black", Arial, Helvetica, sans-serif;
	font-size: 1.22em;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -.055em;
}

.jh-bss-credit__fold {
	display: inline-flex;
}

.jh-bss-credit__fold > span {
	display: inline-flex;
}

.jh-bss-credit__letter {
	opacity: 0;
	transform: translateY(.2em);
	transition: opacity .28s ease, transform .45s var(--jh-credit-ease), color .35s ease;
	transition-delay: calc(.012s * (13 - var(--jh-letter)));
}

.jh-bss-credit__anchor {
	transition: color .35s ease;
}

.jh-bss-credit__dot {
	display: inline-block;
	color: var(--jh-credit-accent);
	transition: color .3s ease;
}

.jh-bss-credit__visit {
	opacity: 0;
	transform: translateX(-.2em);
	color: var(--jh-credit-accent);
	font-size: .82em;
	font-weight: 900;
	letter-spacing: .065em;
	text-transform: uppercase;
}

.jh-bss-credit__link:hover .jh-bss-credit__compact,
.jh-bss-credit__link:focus-visible .jh-bss-credit__compact,
.jh-bss-credit__link.is-open .jh-bss-credit__compact {
	opacity: 0;
	transform: scale(.985);
}

.jh-bss-credit__link:hover .jh-bss-credit__expanded,
.jh-bss-credit__link:focus-visible .jh-bss-credit__expanded,
.jh-bss-credit__link.is-open .jh-bss-credit__expanded {
	opacity: 1;
	transform: none;
}

.jh-bss-credit__link:hover .jh-bss-credit__letter,
.jh-bss-credit__link:focus-visible .jh-bss-credit__letter,
.jh-bss-credit__link.is-open .jh-bss-credit__letter {
	opacity: 1;
	transform: translateY(0);
	transition-delay: calc(.025s * var(--jh-letter) + .04s);
}

.jh-bss-credit__link:hover .jh-bss-credit__visit,
.jh-bss-credit__link:focus-visible .jh-bss-credit__visit,
.jh-bss-credit__link.is-open .jh-bss-credit__visit {
	opacity: 1;
	transform: translateX(0);
	transition-delay: .36s;
}

.jh-bss-credit__link.is-cycling .jh-bss-credit__dot {
	animation: jh-bss-credit-dot 1.15s cubic-bezier(.3, 0, .7, 1) infinite;
}

.jh-bss-credit__link.is-flooding .jh-bss-credit__anchor,
.jh-bss-credit__link.is-flooding .jh-bss-credit__letter {
	color: var(--jh-credit-flood, var(--jh-credit-accent));
	transition-delay: calc(.018s * (13 - var(--jh-letter)));
}

@keyframes jh-bss-credit-dot {
	0% { transform: translateY(0); }
	14% { transform: translateY(-.52em); animation-timing-function: cubic-bezier(.4, 0, .8, .4); }
	32% { transform: translateY(-.52em); }
	50% { transform: translateY(0) scale(1); animation-timing-function: cubic-bezier(.2, .6, .4, 1); }
	55% { transform: translateY(0) scale(1.14, .8); }
	64%, 100% { transform: translateY(0) scale(1); }
}

@media (max-width: 480px) {
	.jh-bss-credit__link {
		height: 50px;
	}

	.jh-bss-credit__visit {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.jh-bss-credit__link,
	.jh-bss-credit__link::after,
	.jh-bss-credit__compact,
	.jh-bss-credit__expanded,
	.jh-bss-credit__letter,
	.jh-bss-credit__prefix,
	.jh-bss-credit__visit {
		transition-duration: 0s;
	}

	.jh-bss-credit__link.is-cycling .jh-bss-credit__dot {
		animation: none;
	}
}
