/*
 * Global footer.
 */

.zj-foot {
	background: var(--ink);
	color: color-mix(in oklab, var(--paper) 72%, transparent);
	padding: var(--s-10) 0 var(--s-5);
	position: relative;
}
.zj-foot__pulse {
	color: var(--copper);
	opacity: 0.5;
	margin-bottom: var(--s-9);
}

.zj-foot__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: var(--s-8);
	margin-bottom: var(--s-8);
}
.zj-foot__col--brand { grid-column: 1 / -1; max-width: 520px; }
@media (min-width: 900px) {
	.zj-foot__grid { grid-template-columns: 2fr 1fr 1.2fr 1fr; }
	.zj-foot__col--brand { grid-column: auto; }
}

.zj-foot .zj-brand { color: var(--paper); }
.zj-foot .zj-brand__mark { color: var(--copper); }
.zj-foot .zj-brand__text strong { color: var(--paper); font-size: 1.15rem; }
.zj-foot .zj-brand__text em { color: color-mix(in oklab, var(--paper) 56%, transparent); }

.zj-foot__blurb {
	font-size: 0.96rem;
	max-width: 48ch;
	margin-top: var(--s-4);
	color: color-mix(in oklab, var(--paper) 72%, transparent);
	line-height: 1.6;
}

.zj-foot__title {
	font-family: var(--font-sans);
	font-size: 0.72rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--copper);
	margin: 0 0 var(--s-4);
	font-weight: 500;
}

.zj-foot__list { display: flex; flex-direction: column; gap: 10px; }
.zj-foot__list li { font-size: 0.94rem; line-height: 1.4; }
.zj-foot__list a,
.zj-foot__list li {
	color: color-mix(in oklab, var(--paper) 80%, transparent);
	text-decoration: none;
	transition: color var(--dur) var(--ease-out);
}
.zj-foot__list a:hover { color: var(--paper); }
.zj-foot__list--contact li:first-child a,
.zj-foot__list--social a { border-bottom: 1px solid transparent; padding-bottom: 1px; }
.zj-foot__list--social a:hover { border-bottom-color: var(--copper); color: var(--paper); }

.zj-foot__bottom {
	border-top: 1px solid color-mix(in oklab, var(--paper) 16%, transparent);
	padding-top: var(--s-5);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--s-4);
	flex-wrap: wrap;
	font-family: var(--font-sans);
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	color: color-mix(in oklab, var(--paper) 56%, transparent);
}
.zj-foot__meta { margin: 0; }
.zj-foot__credit {
	color: var(--copper);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	padding-bottom: 1px;
	transition: color var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);
}
.zj-foot__credit:hover { color: var(--paper); border-bottom-color: var(--copper); }
