.site-footer {
	padding-block: 0;
	background: hsl(var(--section-alt));
	color: hsl(var(--foreground));
}
.site-footer__panel {
	padding-block: var(--section-y) var(--space-6);
}
body .site-footer .site-footer__panel.sib-content {
	width: calc(100% - 2 * var(--page-padding-mobile));
	max-width: var(--container);
	margin-inline: auto;
}
.site-footer__top {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-8);
}
.site-footer__brand-column { grid-column: 1 / -1; grid-row: 1; }
.site-footer__brand { max-inline-size: 100%; }
.site-footer__brand .site-brand__name {
	white-space: normal;
	overflow-wrap: anywhere;
}
.site-footer__tagline { max-inline-size: 65ch; margin-block-end: 0; }
.site-footer__nav { grid-column: 1 / -1; grid-row: 2; min-inline-size: 0; }
.site-footer .site-footer__columns {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: var(--space-5);
}
.site-footer__column--services { grid-column: span 3; }
.site-footer__service-groups {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-5);
}
.site-footer__service-group { min-inline-size: 0; }
.site-footer__service-group h3 { margin-block-start: 0; }
.site-footer__column { min-inline-size: 0; }
.site-footer__column h3 { font-size: var(--text-xs); }
.site-footer__column li a { min-inline-size: var(--target-min); overflow-wrap: anywhere; transition: none; }
.site-footer__legal-links a { min-inline-size: var(--target-min); transition: none; }
.site-footer__contact,
.site-footer__language { min-inline-size: 0; }
.site-footer__contact { grid-column: span 2; grid-row: 3; }
.site-footer__language { grid-row: 3; }
.site-footer__contact h2,
.site-footer__language h2 {
	margin: 0 0 var(--space-4);
	font-size: var(--text-sm);
	font-weight: 600;
}
.site-footer__nap a,
.site-footer__contact > p a {
	display: inline-flex;
	align-items: center;
	min-inline-size: var(--target-min);
	min-block-size: var(--target-min);
	color: hsl(var(--accent-conversion));
}
.site-footer__legal-bar { justify-content: space-between; }
@media (max-width: 1279px) {
	.site-footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.site-footer__brand-column { grid-column: 1 / -1; }
	.site-footer__nav { grid-column: 1 / -1; }
	.site-footer__contact { grid-column: 1; }
	.site-footer .site-footer__columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.site-footer__column--services { grid-column: 1 / -1; }
}
@media (min-width: 768px) {
	body .site-footer .site-footer__panel.sib-content { width: calc(100% - 2 * var(--page-padding-tablet)); }
}
@media (min-width: 1200px) {
	body .site-footer .site-footer__panel.sib-content { width: calc(100% - 2 * var(--page-padding-desktop)); }
}
@media (max-width: 767px) {
	.site-footer__top { display: block; }
	.site-footer__brand-column,
	.site-footer__nav,
	.site-footer__contact { margin-block-end: var(--space-8); }
	.site-footer .site-footer__columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.site-footer__service-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 479px) {
	.site-footer .site-footer__columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.site-footer__service-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.site-footer__column:last-child { grid-column: 1 / -1; }
}
@media (max-width: 359px) {
	.site-footer .site-footer__columns,
	.site-footer__service-groups { grid-template-columns: 1fr; }
}
