.site-footer {
	padding: 0 clamp(22px, 1.45vw, 28px) 34px;
	background: #f1eee7;
	color: #161616;
}

.site-footer__inner {
	display: grid;
	grid-template-columns: minmax(170px, 1fr) auto minmax(230px, 1fr);
	align-items: start;
	gap: 48px;
	padding: 34px clamp(18px, 2.8vw, 48px) 0;
	border-top: 1px solid rgba(22, 22, 22, .22);
}

.site-footer a {
	color: inherit;
	text-decoration: none;
}

.site-footer__brand {
	justify-self: start;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -.035em;
}

.site-footer__nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(22px, 2.4vw, 42px);
	font-size: 15px;
}

.site-footer__contact {
	display: flex;
	align-items: flex-end;
	justify-self: end;
	flex-direction: column;
	gap: 11px;
	font-size: 15px;
}

.site-footer__contact span {
	color: rgba(22, 22, 22, .5);
	font-size: 13px;
}

.site-footer__nav a,
.site-footer__contact a {
	transition: opacity .2s ease;
}

.site-footer__nav a:hover,
.site-footer__contact a:hover {
	opacity: .55;
}

.site-footer a:focus-visible {
	outline: 2px solid #1260ff;
	outline-offset: 5px;
}

@media (max-width: 920px) {
	.site-footer__inner { grid-template-columns: 1fr auto; }
	.site-footer__nav {
		grid-column: 1 / -1;
		grid-row: 2;
		justify-content: flex-start;
	}
}

@media (max-width: 760px) {
	.site-footer { padding: 42px 18px 28px; }
	.site-footer__inner {
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		gap: 30px;
		padding: 28px 6px 0;
	}
	.site-footer__nav {
		align-items: flex-start;
		flex-direction: column;
		gap: 16px;
	}
	.site-footer__contact {
		align-items: flex-start;
		justify-self: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.site-footer__nav a,
	.site-footer__contact a { transition: none; }
}
