/* ---------------------------------------------------------------------------
   Footer
--------------------------------------------------------------------------- */

.footer--section {
	margin-top: var(--section-pad);
	padding-top: var(--space-xl);
	border-top: 1px solid var(--color-line);
	font-size: var(--text-small);
}

.footer--container {
	display: grid;
	gap: var(--space-l);
}

.footer--name {
	margin: 0;
	font-family: var(--font-serif);
	font-size: var(--text-h2);
	line-height: 1;
}

.footer--dates {
	margin: .5rem 0 0;
	color: var(--color-ink-soft);
}

.footer--contact .eyebrow {
	margin-bottom: .75rem;
}

.footer--contact .contact--name {
	display: block;
	margin-bottom: .25rem;
	font-family: var(--font-sans);
	font-size: var(--text-body);
	font-weight: 600;
}

.contact--address {
	display: flex;
	flex-direction: column;
	gap: .1rem;
	color: var(--color-ink-soft);
}

.contact--address a {
	color: var(--color-ink);
	text-decoration: none;
}

.contact--address a:hover {
	text-decoration: underline;
}

.footer--menu {
	display: flex;
	flex-direction: column;
	gap: .5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer--menu a {
	text-decoration: none;
	color: var(--color-ink-soft);
}

.footer--menu a:hover,
.footer--menu a[aria-current="page"] {
	color: var(--color-ink);
	text-decoration: underline;
	text-underline-offset: .2em;
}

.footer--bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: var(--space-s) var(--space-m);
	margin-top: var(--space-xl);
	padding-block: var(--space-m);
	border-top: 1px solid var(--color-line);
	color: var(--color-ink-faint);
}

.footer--bottom p {
	margin: 0;
}

.footer--bottom a {
	color: inherit;
}

@media (min-width: 768px) {
	.footer--container {
		grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto;
		gap: var(--space-xl);
	}

	.footer--nav {
		justify-self: end;
		text-align: right;
	}
}
