/* Partial: site-footer */
.sw-site-footer {
	position: relative;
	padding-block: var(--section-space) var(--space-128);
	background: var(--color-bg-alt);
	overflow: hidden;
}

.sw-site-footer__inner {
	position: relative;
	z-index: 1;
	display: grid;
	gap: var(--space-48);
}

.sw-site-footer__brand {
	display: grid;
	gap: var(--space-16);
	align-content: start;
}
.sw-site-footer__logo .sw-site-logo { inline-size: 12.5rem; block-size: auto; }

.sw-site-footer__copyright {
	font-size: var(--text-xs);
	line-height: var(--leading-xs);
}

.sw-site-footer__column {
	display: grid;
	align-content: start;
	gap: var(--space-8);
}

.sw-site-footer__column > p { margin: 0; } /* spacing comes from the column gap */

.sw-site-footer__title {
	font-family: var(--font-heading);
	font-size: var(--text-h4);
	line-height: var(--space-24);
	font-weight: var(--weight-medium);
	letter-spacing: var(--tracking-label);
	color: var(--color-heading);
}
.sw-site-footer__name { margin-block-end: var(--space-8); }

.sw-site-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-8);
	margin: 0;
	padding: 0;
	list-style: none;
}
.sw-site-footer__social { margin-block-start: var(--space-8); }
.sw-site-footer__social-link { border: 1px solid var(--color-text); background: transparent; }
.sw-site-footer__social-link:hover { border-color: var(--color-primary); }
.sw-site-footer__contact { margin-block-start: var(--space-8); }

.sw-site-footer__pattern {
	position: absolute;
	inset-block-end: 0;
	inset-inline: 0;
	block-size: var(--space-96);
	-webkit-mask-image: linear-gradient(90deg, #000 0 20%, transparent 20% 90%, #000 90%);
	mask-image: linear-gradient(90deg, #000 0 20%, transparent 20% 90%, #000 90%);
}

@media (min-width: 48em) {
	.sw-site-footer__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 3.75rem; /* 60px between footer columns (requested; off the 8pt scale on purpose) */
	}
}

@media (min-width: 75em) {
	.sw-site-footer { padding-block-start: var(--space-80); }

	.sw-site-footer__inner {
		grid-template-columns: minmax(0, 1fr) repeat(3, minmax(0, 18.75rem));
		gap: var(--space-40) 3.75rem;
	}
}
