.site-footer {
	--site-footer-bg: #002a3a;
	--site-footer-ink: #ffffff;
	--site-footer-muted: color-mix(in srgb, #ffffff 50%, transparent);
	--section-background: var(--site-footer-bg);
	--text-heading: var(--site-footer-ink);
	--text-body: var(--site-footer-ink);
	--text-muted: var(--site-footer-ink);
	--text-accent: var(--site-footer-ink);
	--link-color: var(--site-footer-ink);
	--link-hover-color: var(--site-footer-ink);
	--button-auto-plain: var(--site-footer-ink);
	--button-plain-text: var(--site-footer-ink);

	background: var(--site-footer-bg);
	color: var(--site-footer-ink);
	padding-block: clamp(5rem, 12vw, 10rem) 2.5rem;
}

body:not(.wp-admin) .site-footer.section {
	padding-block: clamp(5rem, 12vw, 10rem) 2.5rem;
}

body:not(.wp-admin) .site-footer,
body:not(.wp-admin) .site-footer .heading,
body:not(.wp-admin) .site-footer h1,
body:not(.wp-admin) .site-footer h2,
body:not(.wp-admin) .site-footer h3,
body:not(.wp-admin) .site-footer p,
body:not(.wp-admin) .site-footer li,
body:not(.wp-admin) .site-footer span {
	color: var(--site-footer-ink);
}

body:not(.wp-admin) .site-footer a:where(:not(.wp-element-button)) {
	color: var(--site-footer-ink);
}

body:not(.wp-admin) .site-footer .site-footer__body,
body:not(.wp-admin) .site-footer .site-footer__office-address,
body:not(.wp-admin) .site-footer .site-footer__credit,
body:not(.wp-admin) .site-footer .site-footer__legal-sep {
	color: var(--site-footer-muted);
}

.site-footer__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(5rem, 12vw, 10rem);
	margin-inline: auto;
	max-inline-size: 71.875rem;
	padding-inline: clamp(1.25rem, 4.2vw, 5rem);
}

.site-footer__intro,
.site-footer__copy,
.site-footer__lower,
.site-footer__brand {
	align-items: center;
	display: flex;
	flex-direction: column;
	inline-size: 100%;
}

.site-footer__intro {
	gap: 2.5rem;
	text-align: center;
}

.site-footer__copy {
	gap: 1.25rem;
}

.site-footer__heading {
	font-family: "Krona One", var(--font-family-heading);
	font-size: clamp(2rem, 5vw, 3.875rem);
	letter-spacing: 0;
	line-height: 1.4;
	margin: 0;
	max-inline-size: 100%;
}

.site-footer__body {
	color: var(--site-footer-muted);
	font-size: clamp(1.125rem, 2vw, 1.5rem);
	line-height: 1.4;
	margin: 0;
	max-inline-size: 52.5rem;
}

.site-footer__cta {
	display: flex;
	justify-content: center;
}

body:not(.wp-admin) .site-footer__cta .button {
	--button-font-size: 1.25rem;
	--button-icon-size: 1.625rem;
	--button-icon-gap: 0.625rem;

	color: var(--site-footer-ink);
	font-weight: 400;
	letter-spacing: 0;
	text-transform: uppercase;
}

body:not(.wp-admin) .site-footer__cta .button:hover,
body:not(.wp-admin) .site-footer__cta .button:focus-visible {
	color: var(--site-footer-ink);
	opacity: 0.7;
}

.site-footer__lower {
	gap: 5rem;
}

.site-footer__columns {
	align-items: start;
	display: flex;
	flex-wrap: nowrap;
	gap: 2.5rem 5rem;
	inline-size: 100%;
	justify-content: center;
}

.site-footer__offices,
.site-footer__aside,
.site-footer__nav,
.site-footer__social {
	display: grid;
	gap: 1.25rem;
	justify-items: start;
	min-inline-size: 0;
}

.site-footer__aside {
	gap: 1.875rem;
	max-inline-size: 21.25rem;
}

.site-footer__label {
	font-family: "Krona One", var(--font-family-heading);
	font-size: 1.125rem;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0;
}

.site-footer__office-list {
	display: grid;
	gap: 1.875rem 3.75rem;
	grid-template-columns: repeat(2, minmax(0, 10.625rem));
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-footer__office {
	display: grid;
	font-size: 1.125rem;
	gap: 0.25rem;
	line-height: 1.4;
	min-inline-size: 0;
}

.site-footer__office-city,
.site-footer__office-address {
	margin: 0;
}

.site-footer__office-address {
	color: var(--site-footer-muted);
}

.site-footer__divider {
	align-self: stretch;
	background: color-mix(in srgb, var(--site-footer-ink) 20%, transparent);
	inline-size: 1px;
	min-block-size: 8rem;
}

.site-footer__menu,
.site-footer__social-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-footer__menu {
	display: flex;
	flex-wrap: wrap;
	gap: 0.9375rem 1.5625rem;
}

.site-footer__social-list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5625rem;
}

.site-footer__menu a,
.site-footer__social-link,
.site-footer__policy-link,
.site-footer__credit {
	color: inherit;
	font-size: 1.125rem;
	line-height: 1.4;
	text-decoration: none;
}

body:not(.wp-admin) .site-footer__menu a,
body:not(.wp-admin) .site-footer__social-link,
body:not(.wp-admin) .site-footer__policy-link {
	color: inherit;
	opacity: 0.5;
	text-decoration: none;
	transition: opacity 250ms var(--motion-ease);
}

body:not(.wp-admin) .site-footer__menu a:hover,
body:not(.wp-admin) .site-footer__menu a:focus-visible,
body:not(.wp-admin) .site-footer__social-link:hover,
body:not(.wp-admin) .site-footer__social-link:focus-visible,
body:not(.wp-admin) .site-footer__policy-link:hover,
body:not(.wp-admin) .site-footer__policy-link:focus-visible {
	color: inherit;
	opacity: 1;
	text-decoration: none;
}

.site-footer__brand {
	gap: 5rem;
}

.site-footer__graphic {
	margin: 0;
	max-inline-size: min(31.25rem, 100%);
}

.site-footer__graphic-img {
	block-size: auto;
	inline-size: auto;
	max-inline-size: 100%;
}

.site-footer__legal {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	font-size: 1rem;
	gap: 0.625rem;
	justify-content: center;
	line-height: 1.4;
	margin: 0;
}

.site-footer__credit,
.site-footer__policy-link,
.site-footer__legal-sep {
	color: var(--site-footer-muted);
	font-size: 1rem;
}

.site-footer__legal-sep {
	flex: 0 0 auto;
}

@media (max-width: 1053.98px) {
	.site-footer__columns {
		gap: 2.5rem;
		justify-content: space-between;
	}

	.site-footer__offices,
	.site-footer__aside {
		flex: 1 1 0;
		min-inline-size: 0;
	}

	.site-footer__office-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-inline-size: none;
	}
}

@media (max-width: 1023.98px) {
	.site-footer__divider {
		display: none;
	}

	.site-footer__lower {
		align-items: start;
	}

	.site-footer__columns {
		align-items: start;
		flex-direction: column;
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	.site-footer__offices,
	.site-footer__aside {
		flex: 0 1 auto;
		inline-size: auto;
	}

	.site-footer__office-list {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 29.99rem) {
	.site-footer__office-list {
		grid-template-columns: 1fr;
	}
}
