.site-footer {
	position: relative;
	isolation: isolate;
	max-width: none;
	margin: 0;
	padding: clamp(3.5rem, 8vw, 6.5rem) var(--ek-space-3) 0;
	border: 0;
	display: block;
	overflow: hidden;
	color: var(--ek-color-white);
	background:
		radial-gradient(circle at 12% 4%, rgb(244 200 66 / 20%), transparent 24rem),
		radial-gradient(ellipse at 90% 88%, rgb(23 23 23 / 50%), transparent 34rem),
		linear-gradient(145deg, #8d1723 0%, var(--ek-color-red) 48%, #5d1018 100%);
}

.site-footer::before,
.site-footer::after {
	position: absolute;
	z-index: -1;
	content: '';
	pointer-events: none;
}

.site-footer::before {
	inset: auto -12% -11rem;
	height: 17rem;
	border-radius: 50% 50% 0 0 / 70% 70% 0 0;
	background: rgb(58 10 15 / 48%);
	transform: rotate(-4deg);
}

.site-footer::after {
	inset: 0;
	opacity: 0.28;
	background: repeating-linear-gradient(135deg, transparent 0 4.5rem, rgb(255 255 255 / 5%) 4.5rem 4.65rem, transparent 4.65rem 9rem);
}

.site-footer__inner,
.site-footer__bottom {
	position: relative;
	z-index: 1;
	width: min(100%, var(--ek-content-width));
	margin-inline: auto;
}

.site-footer__brand { text-align: center; }
.site-footer__logo { display: inline-flex; max-width: min(100%, 20rem); color: var(--ek-color-white); text-decoration: none; }
.site-footer__logo img { display: block; width: 100%; height: auto; max-height: 11rem; object-fit: contain; }
.site-footer__wordmark { display: grid; font-family: var(--ek-font-display); font-size: clamp(2.25rem, 12vw, 4.5rem); line-height: 0.82; letter-spacing: -0.07em; text-transform: uppercase; }
.site-footer__wordmark strong { color: var(--ek-color-yellow); font-size: 0.64em; letter-spacing: 0.15em; }
.site-footer__tagline { margin: 1.3rem auto 0; max-width: 27rem; color: rgb(255 255 255 / 90%); font-size: clamp(1rem, 3.8vw, 1.2rem); font-weight: 650; }

.site-footer__actions { display: grid; gap: 0.8rem; max-width: 31rem; margin: 2rem auto 0; }
.site-footer__order,
.site-footer__locations { display: flex; min-height: 58px; align-items: center; justify-content: center; gap: 0.8rem; padding: 0.85rem 1.25rem; border: 1px solid transparent; border-radius: 1rem; font-size: 1.15rem; font-weight: 850; text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease; }
.site-footer__order { color: var(--ek-color-black); background: var(--ek-color-yellow); box-shadow: 0 0.6rem 1.5rem rgb(45 6 11 / 35%); }
.site-footer__locations { color: var(--ek-color-white); border-color: rgb(255 255 255 / 35%); background: rgb(23 23 23 / 88%); }
.site-footer__order svg,
.site-footer__locations svg { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.6; }

.site-footer__navigation { max-width: 31rem; margin: 2.5rem auto 0; padding-top: 2rem; border-top: 1px solid rgb(255 255 255 / 24%); }
.site-footer__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.35rem 1.2rem; margin: 0; padding: 0; list-style: none; }
.site-footer__links a { display: inline-flex; min-height: 44px; align-items: center; color: rgb(255 255 255 / 94%); font-size: 1rem; font-weight: 700; text-decoration: none; }

.site-footer__bottom { display: flex; flex-direction: column; align-items: center; gap: 0.8rem; margin-top: 3.25rem; padding: 1.4rem 0 1.7rem; border-top: 1px solid rgb(244 200 66 / 48%); color: rgb(255 255 255 / 88%); text-align: center; }
.site-footer__bottom p { margin: 0; font-size: 0.93rem; }
.site-footer__legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.85rem; margin: 0; padding: 0; list-style: none; }
.site-footer__legal li + li { padding-left: 0.85rem; border-left: 1px solid rgb(255 255 255 / 42%); }
.site-footer__legal a { color: inherit; text-underline-offset: 0.18em; }
.site-footer a:focus-visible { outline-color: var(--ek-color-yellow); }

@media (hover: hover) and (pointer: fine) {
	.site-footer__order:hover,
	.site-footer__locations:hover { transform: translateY(-2px); }
	.site-footer__order:hover { background: #ffd45b; box-shadow: 0 0.9rem 1.8rem rgb(45 6 11 / 42%); }
	.site-footer__locations:hover { background: var(--ek-color-black); }
}

@media (min-width: 48rem) {
	.site-footer { padding-top: clamp(4.5rem, 8vw, 7rem); }
	.site-footer__inner { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(16rem, 0.7fr); gap: clamp(3rem, 9vw, 9rem); align-items: center; }
	.site-footer__brand { text-align: left; }
	.site-footer__logo { max-width: 18rem; }
	.site-footer__tagline { margin-inline: 0; }
	.site-footer__actions { margin-left: 0; }
	.site-footer__navigation { max-width: none; margin: 0; padding-top: 0; padding-left: clamp(2rem, 5vw, 5rem); border-top: 0; border-left: 1px solid rgb(255 255 255 / 24%); }
	.site-footer__links { grid-template-columns: 1fr; gap: 0.45rem; }
	.site-footer__bottom { flex-direction: row; justify-content: space-between; text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
	.site-footer__order,
	.site-footer__locations { transition: none; }
}
