.msc-global-footer {
	clear: both;
	position: relative;
	margin-top: clamp(3rem, 7vw, 6rem);
	background: #fff;
	color: var(--msc-text, #232c39);
}

.msc-global-footer__inner {
	width: min(1200px, calc(100% - 3rem));
	margin-inline: auto;
	padding: clamp(2.5rem, 5vw, 4.5rem) 0 2rem;
}

.msc-global-footer__cards {
	display: grid;
	grid-template-columns: 1.15fr 1fr 1.15fr;
	gap: 2rem;
}

.msc-global-footer__card {
	min-height: 270px;
	padding: 1.4rem 1.45rem;
	background: #fff;
	border: 1px solid #dce2e8;
	border-radius: 9px;
}

.msc-global-footer h2 {
	margin: 0 0 1rem;
	font-size: .9rem;
	font-weight: 500;
	letter-spacing: .035em;
	text-transform: uppercase;
}

.msc-global-footer ul { margin: 0; padding: 0; list-style: none; }
.msc-global-footer li + li { margin-top: .7rem; }
.msc-global-footer a { color: inherit; text-decoration: none; }
.msc-global-footer a:hover .msc-global-footer__link-label,
.msc-global-footer a:focus-visible .msc-global-footer__link-label { color: var(--msc-blue, #0099ff); }
.msc-global-footer__link-label { display: block; font-size: .9rem; font-weight: 500; line-height: 1.25; text-transform: uppercase; transition: color .18s ease; }
.msc-global-footer__link-description { display: block; margin-top: .1rem; color: var(--msc-muted, #777); font-size: .8rem; line-height: 1.4; }

.msc-global-footer__card--rya { display: grid; place-items: center; text-align: center; }
.msc-global-footer__rya { display: grid; justify-items: center; gap: 1rem; font-size: .9rem; }
.msc-global-footer__rya img { display: block; width: 175px; height: auto; }
.msc-global-footer__rya strong { color: var(--msc-blue, #0099ff); font-weight: 500; text-decoration: underline; }

.msc-global-footer__identity {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 2rem;
	padding: 3.25rem 0 1rem;
	font-size: .82rem;
}

.msc-global-footer__crafted-mark { display: grid; justify-items: center; gap: .55rem; text-align: center; }
.msc-global-footer__crafted-mark img { width: 54px; height: 54px; object-fit: contain; background: var(--msc-blue, #0099ff); border-radius: 50%; }
.msc-global-footer__crafted-mark b { color: var(--msc-red, #ef3e46); font-size: 1.25rem; }
.msc-global-footer__follow { display: flex; align-items: center; justify-content: center; gap: .65rem; }
.msc-global-footer__social { display: flex; gap: .42rem; }
.msc-global-footer__social a { display: grid; width: 24px; height: 24px; place-items: center; color: #fff; background: #8b9198; border-radius: 50%; font-size: .66rem; font-weight: 700; }
.msc-global-footer__social img { display: block; width: 24px; height: 24px; object-fit: contain; }
.msc-global-footer__social a:hover,
.msc-global-footer__social a:focus-visible { background: var(--msc-blue, #0099ff); }
.msc-global-footer__partners { display: flex; align-items: center; justify-content: flex-end; gap: 1.25rem; color: #8a8f96; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.msc-global-footer__partners strong { color: #5264df; font-size: 1rem; letter-spacing: 0; text-transform: none; }

.msc-global-footer__lower {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	flex-wrap: wrap;
	min-height: 160px;
	padding: 3.75rem max(1.5rem, calc((100% - 1200px) / 2)) 1.4rem;
	background: var(--msc-blue, #0099ff);
	color: #fff;
	font-size: .78rem;
}

.msc-global-footer__lower::before {
	content: "";
	position: absolute;
	top: -28px;
	left: 0;
	width: 100%;
	height: 48px;
	background: var(--msc-blue, #0099ff);
	border-radius: 50% 50% 0 0 / 45% 45% 0 0;
}

.msc-global-footer__lower nav { display: flex; flex: 1 1 520px; flex-wrap: wrap; justify-content: flex-end; gap: .25rem .75rem; }
.msc-global-footer__lower a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }

@media (max-width: 820px) {
	.msc-global-footer__cards { grid-template-columns: 1fr; }
	.msc-global-footer__card { min-height: auto; }
	.msc-global-footer__identity { grid-template-columns: 1fr; }
	.msc-global-footer__partners,
	.msc-global-footer__follow { justify-content: center; }
	.msc-global-footer__lower { align-items: flex-start; flex-direction: column; }
	.msc-global-footer__lower nav { justify-content: flex-start; }
}
