/* Restored footer structure, sanitized for EMS content and verified public data. */
.ems-reference-footer,
.ems-reference-footer * {
	box-sizing: border-box;
}

.ems-reference-footer {
	display: block;
	position: relative;
	z-index: 2;
	margin-top: 0;
	padding: 54px 30px 28px;
	background: #0b0b0b;
	color: #d8d8d8;
	font-family: var(--wd-text-font, inherit), Arial, sans-serif;
}

.ems-reference-footer__logo {
	margin: 0 0 44px;
	text-align: center;
}

.ems-reference-footer__logo .ems-shell-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 54vw;
}

.ems-reference-footer__logo .ems-shell-logo__image {
	display: block;
	width: 188px;
	max-width: 100%;
	height: auto;
}

.ems-reference-footer__logo .ems-shell-logo__mark {
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #fff;
}

.ems-reference-footer__logo .ems-shell-logo__name {
	display: none;
}

.ems-reference-footer__grid,
.ems-reference-footer__copyright {
	width: min(100%, 1320px);
	margin-inline: auto;
}

.ems-reference-footer__grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1.25fr;
	gap: 48px;
	align-items: start;
}

.ems-reference-footer :is(h2, p, address) {
	margin-top: 0;
}

.ems-reference-footer :is(.ems-reference-footer__group h2, .ems-reference-footer__contact h2) {
	margin-bottom: 18px;
	color: #dcdcdc;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .01em;
	line-height: 1.2;
	text-transform: uppercase;
}

.ems-reference-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ems-reference-footer li {
	margin: 0 0 10px;
}

.ems-reference-footer a,
.ems-reference-footer :is(address, p) {
	color: #d0d0d0;
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.45;
	overflow-wrap: anywhere;
	text-decoration: none;
}

.ems-reference-footer a:hover {
	color: #ff5c2b;
}

.ems-reference-footer a:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
	box-shadow: 0 0 0 5px #005fcc;
}

.ems-reference-footer__contact p {
	margin: 0 0 13px;
}

.ems-reference-footer__contact address {
	margin: 0;
	white-space: pre-line;
}

.ems-reference-footer__hours {
	margin-top: 13px !important;
}

.ems-reference-footer__hours span {
	color: #dcdcdc;
	font-weight: 800;
}

.ems-reference-footer__copyright {
	margin-top: 38px;
	padding-top: 20px;
	border-top: 1px solid rgb(255 255 255 / 8%);
	color: #9f9f9f;
	font-size: 13px;
	line-height: 1.5;
	text-align: center;
}

.ems-reference-footer__copyright p {
	margin: 0;
	color: inherit;
	font-size: inherit;
	line-height: inherit;
}

@media (max-width: 1024px) {
	.ems-reference-footer {
		padding: 58px 24px 34px;
	}

	.ems-reference-footer__logo {
		margin-bottom: 42px;
	}

	.ems-reference-footer__grid {
		grid-template-columns: 1fr;
		gap: 46px;
	}

	.ems-reference-footer :is(.ems-reference-footer__group h2, .ems-reference-footer__contact h2) {
		font-size: 15px;
	}
}

@media (max-width: 480px) {
	.ems-reference-footer {
		padding-inline: 20px;
	}

	.ems-reference-footer__logo .ems-shell-logo__image {
		width: min(188px, 54vw);
	}
}
