.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; }

/* Site Foundation owns the footer menu data and presentation. These values
   reproduce the audited Kadence menu without retaining per-site menu IDs. */
.msc-global-menu--footer_quick_links {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.msc-global-menu--footer_quick_links .msc-global-menu__item { margin: 0; padding: 0; }
.std-footer .msc-global-menu--footer_quick_links a {
	display: flex;
	flex-direction: column;
	padding: 0 0 3px;
	color: var(--msc-footer-muted, #777777);
	font-family: inherit;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.6;
	text-decoration: none;
}
.std-footer .msc-global-menu--footer_quick_links a > span { display: block; }
.msc-global-menu--footer_quick_links .msc-global-menu__label { text-transform: uppercase; }
.msc-global-menu--footer_quick_links .msc-global-menu__description {
	font-size: .8em;
	line-height: 1.6;
	text-transform: none;
}
.std-footer .msc-global-menu--footer_quick_links a:hover,
.std-footer .msc-global-menu--footer_quick_links a:focus-visible,
.std-footer .msc-global-menu--footer_quick_links .current-menu-item > a { color: var(--msc-blue, #0099ff); }

/* The authored footer used Kadence palette 1 for its wave and copyright rows.
   Keep the structure, but make the MSC token authoritative on every site. */
.std-footer.has-theme-palette1-background-color { background-color: var(--msc-blue, #0099ff) !important; }

@media (max-width: 1024px) {
	.std-footer .kt-row-column-wrap.kt-has-3-columns {
		grid-template-columns: minmax(0, 1fr) !important;
		grid-auto-rows: auto !important;
	}
}

/* The canonical footer keeps these partner columns at their intrinsic widths,
 * then centres the pair through their parent row. Receiver themes otherwise
 * turn both columns into equal flex children and spread the marks apart. */
.std-footer .kadence-column26353_7c2e41-75,
.std-footer .kadence-column26353_e95312-84 {
	flex: unset !important;
}

/* Keep receiver-site Kadence palette differences out of the shared footer. */
.std-footer .wp-social-link,
.std-footer .wp-social-link a,
.std-footer .wp-social-link svg,
.std-footer .wp-social-link svg * {
	color: var(--msc-text, #232c39) !important;
	fill: currentColor !important;
}

.std-footer.kb-section-dir-vertical h4,
.std-footer.kb-section-dir-vertical .wp-block-kadence-advancedheading {
	color: var(--msc-text, #232c39) !important;
}

/* The persistent base class provides an equally smooth transition into and
   out of the animated waterline. */
.std-footer .msc-wave-contrast,
.std-footer .msc-wave-contrast svg,
.std-footer svg.msc-wave-contrast,
.std-footer .msc-wave-contrast svg *,
.std-footer svg.msc-wave-contrast * {
	transition: color .15s ease-in-out, fill .15s ease-in-out, stroke .15s ease-in-out;
}

.std-footer .msc-wave-contrast--light,
.std-footer.kb-section-dir-vertical .msc-wave-contrast--light {
	color: #fff !important;
	text-decoration-color: currentColor !important;
}

.std-footer .msc-wave-contrast--light svg,
.std-footer svg.msc-wave-contrast--light,
.std-footer .msc-wave-contrast--light svg *,
.std-footer svg.msc-wave-contrast--light * {
	color: #fff !important;
	fill: currentColor !important;
	stroke: currentColor !important;
}

@media (prefers-reduced-motion: reduce) {
	.std-footer .msc-wave-contrast,
	.std-footer .msc-wave-contrast svg,
	.std-footer svg.msc-wave-contrast,
	.std-footer .msc-wave-contrast svg *,
	.std-footer svg.msc-wave-contrast *,
	.std-footer .msc-wave-contrast--light,
	.std-footer .msc-wave-contrast--light svg,
	.std-footer svg.msc-wave-contrast--light,
	.std-footer .msc-wave-contrast--light svg *,
	.std-footer svg.msc-wave-contrast--light * { transition: none; }
}

@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; }
}
