/**
 * Universal light footer with a disintegrating pixel edge.
 */

.site-footer {
	position: relative;
	z-index: 3;
	margin-top: clamp(76px, 9vw, 132px);
	padding-top: clamp(42px, 5vw, 72px);
	overflow: visible;
	border-top: 0;
	background: #fff;
}

.mp-footer-pixel-edge {
	position: absolute;
	z-index: 2;
	inset: -74px 0 auto;
	height: 76px;
	pointer-events: none;
}

.mp-footer-pixel-edge::before {
	content: "";
	position: absolute;
	inset: 46px 0 0;
	background:
		linear-gradient(90deg, #fff 0 4%, transparent 4% 4.6%, #fff 4.6% 10%, transparent 10% 10.35%, #fff 10.35% 18%, transparent 18% 18.7%, #fff 18.7% 28%, transparent 28% 28.4%, #fff 28.4% 41%, transparent 41% 41.35%, #fff 41.35% 55%, transparent 55% 55.8%, #fff 55.8% 67%, transparent 67% 67.45%, #fff 67.45% 81%, transparent 81% 81.7%, #fff 81.7% 92%, transparent 92% 92.4%, #fff 92.4% 100%);
	clip-path: polygon(0 48%, 3% 48%, 3% 22%, 5% 22%, 5% 56%, 9% 56%, 9% 35%, 11% 35%, 11% 64%, 18% 64%, 18% 30%, 20% 30%, 20% 70%, 28% 70%, 28% 45%, 30% 45%, 30% 78%, 41% 78%, 41% 48%, 43% 48%, 43% 84%, 55% 84%, 55% 42%, 57% 42%, 57% 73%, 67% 73%, 67% 50%, 69% 50%, 69% 80%, 81% 80%, 81% 38%, 83% 38%, 83% 67%, 92% 67%, 92% 30%, 94% 30%, 94% 58%, 100% 58%, 100% 100%, 0 100%);
	filter: drop-shadow(0 -10px 20px rgba(37, 39, 43, 0.035));
}

.mp-footer-pixel-edge__particles {
	position: absolute;
	inset: 0;
	overflow: visible;
}

.mp-footer-pixel-edge__particles i {
	position: absolute;
	bottom: 3px;
	left: var(--edge-x);
	width: var(--edge-size);
	height: var(--edge-size);
	border: 1px solid rgba(37, 39, 43, 0.08);
	background: #fff;
	box-shadow: 0 5px 14px rgba(37, 39, 43, 0.08);
	opacity: 0;
	transform: translate3d(0, 0, 0) rotate(0);
	animation: mp-footer-pixel-flight var(--edge-duration) var(--edge-delay) ease-out infinite;
}

.mp-footer-pixel-edge__particles i:nth-child(7n),
.mp-footer-pixel-edge__particles i:nth-child(13n) {
	border-color: transparent;
	background: var(--mp-red);
}

.mp-footer-pixel-edge__particles i:nth-child(9n),
.mp-footer-pixel-edge__particles i:nth-child(17n) {
	border-color: transparent;
	background: var(--mp-blue);
}

.mp-footer-pixel-edge.is-interacting .mp-footer-pixel-edge__particles i {
	animation-duration: calc(var(--edge-duration) * 0.62);
}

@keyframes mp-footer-pixel-flight {
	0% { opacity: 0; transform: translate3d(0, 5px, 0) rotate(0); }
	16% { opacity: 0.82; }
	78% { opacity: 0.28; }
	100% { opacity: 0; transform: translate3d(var(--edge-drift), calc(var(--edge-rise) * -1), 0) rotate(135deg); }
}

.site-footer__main--v2 {
	display: grid;
	grid-template-columns: minmax(260px, 1.35fr) repeat(3, minmax(150px, 0.65fr));
	align-items: start;
	gap: clamp(32px, 5vw, 78px);
	padding-block: clamp(34px, 5vw, 68px);
}

.site-footer__brand .mp-brand-logo { width: min(240px, 100%); }
.site-footer__brand p { max-width: 360px; margin: 24px 0 20px; font-size: .92rem; line-height: 1.75; }
.site-footer__contact { display:grid; gap:10px; margin:0 0 19px; }
.site-footer__contact a { display:inline-flex; align-items:center; width:max-content; max-width:100%; gap:9px; color:var(--mp-ink); font-size:.76rem; font-weight:750; text-decoration:none; overflow-wrap:anywhere; }
.site-footer__contact a:first-child { color:#118450; }
.site-footer__contact a:hover { color:var(--mp-red); }
.site-footer__contact span { width:17px; text-align:center; }
.site-footer__language { display: inline-flex; align-items: center; gap: 9px; color: var(--mp-blue); font-size: .76rem; font-weight: 800; text-decoration: none; }
.site-footer__language:hover { color: var(--mp-red); }
.site-footer__column h2 { margin: 4px 0 22px; color: var(--mp-muted); font-size: .66rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.footer-navigation { align-self: start; justify-self: stretch; }
.footer-menu,
.site-footer__links,
.site-footer__markets { display: grid; justify-content: stretch; gap: 13px; margin: 0; padding: 0; list-style: none; }
.footer-menu a,
.site-footer__links a,
.site-footer__markets li { color: var(--mp-ink); font-size: .82rem; font-weight: 650; line-height: 1.45; text-decoration: none; }
.footer-menu a:hover,
.site-footer__links a:hover { color: var(--mp-red); }
.site-footer__markets li { position: relative; padding-inline-start: 14px; color: var(--mp-muted); }
.site-footer__markets li::before { content: ""; position: absolute; top: .6em; inset-inline-start: 0; width: 5px; height: 5px; background: var(--mp-red); box-shadow: 7px 0 0 rgba(27, 103, 222, .55); }
[dir="rtl"] .site-footer__markets li::before { box-shadow: -7px 0 0 rgba(27, 103, 222, .55); }
.site-footer__bottom { padding-block: 24px; }

@media (max-width: 1000px) {
	.site-footer__main--v2 { grid-template-columns: 1.2fr repeat(2, .8fr); }
	.site-footer__main--v2 .site-footer__column:last-child { grid-column: 2 / -1; }
}

@media (max-width: 760px) {
	.site-footer { margin-top: 72px; padding-top: 32px; }
	.mp-footer-pixel-edge { inset-block-start: -58px; height: 60px; }
	.mp-footer-pixel-edge::before { inset-block-start: 34px; }
	.mp-footer-pixel-edge__particles i:nth-child(n+27) { display: none; }
	.site-footer__main--v2 { grid-template-columns: 1fr 1fr; }
	.site-footer__brand { grid-column: 1 / -1; }
	.site-footer__main--v2 .site-footer__column:last-child { grid-column: auto; }
}

@media (max-width: 520px) {
	.site-footer__main--v2 { grid-template-columns: 1fr; gap: 34px; }
	.site-footer__brand,
	.site-footer__main--v2 .site-footer__column:last-child { grid-column: auto; }
	.site-footer__bottom { align-items: flex-start; flex-direction: column; }
	.site-footer__contact a { font-size:.82rem; }
}

@media (prefers-reduced-motion: reduce) {
	.mp-footer-pixel-edge__particles i { animation: none; opacity: .34; transform: translateY(calc((var(--edge-rise) * -.32))); }
}
