.site-footer {
	background: var(--color-bg-gray);
	margin-top: 0;
}
.site-footer__inner {
	padding: var(--space-section) 24px 48px;
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr auto;
	gap: 32px;
}
.site-footer__brand p {
	color: var(--color-text-dark-gray);
	font-size: 14px;
	margin-top: 16px;
}
.site-footer__logo img { height: 26px; }

.site-footer__menu { display: flex; flex-direction: column; gap: 10px; }
.site-footer__menu a { font-size: 14px; }
.site-footer__menu a:hover { color: var(--color-primary-green); }

.site-footer__contact { display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.site-footer__contact a:hover { color: var(--color-primary-green); }

.site-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-content: flex-start;
	max-width: 160px;
}
.site-footer__social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--color-white);
	border: 1px solid #e2e2e2;
}
.site-footer__social a:hover { background: var(--color-primary-green); }

.site-footer__bottom {
	border-top: 1px solid #e2e2e2;
	padding: 20px 0;
}
.site-footer__bottom-inner {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	font-size: 13px;
	color: var(--color-text-dark-gray);
}
.site-footer__legal { display: flex; gap: 8px; }
.site-footer__legal a:hover { color: var(--color-primary-green); }

/* Responsive overrides for .site-footer__inner live in responsive.css
   (which loads after this file and would otherwise silently win any
   conflicting breakpoint declared here) — keep all breakpoints for this
   selector in one place. */
