/* Footer colors and spacing share the brand system and header alignment. */
.gc-footer {
	background-color: var(--gc-color-surface-inverse);
	background-image:
		linear-gradient(0deg, var(--gc-color-surface-inverse), transparent 80%),
		linear-gradient(105deg,
			color-mix(in srgb, var(--gc-color-surface-inverse) 88%, transparent),
			color-mix(in srgb, var(--gc-color-surface-inverse) 82%, transparent) 45%,
			color-mix(in srgb, var(--gc-color-surface-inverse) 78%, transparent)),
		url("../images/footer-hero-architecture.webp");
	background-size: cover;
	background-position: center, center, center 38%;
	background-repeat: no-repeat;
	color: var(--gc-color-text-inverse);
	font-family: "Segoe UI", Arial, sans-serif;
}

.gc-footer *,
.gc-footer *::before,
.gc-footer *::after { box-sizing: border-box; }

.gc-footer__inner { max-width: 1200px; margin-inline: auto; padding: 56px 32px 24px; }
.gc-footer__top { display: grid; grid-template-columns: 1.25fr 1fr; gap: 48px 96px; padding-bottom: 40px; }
.gc-footer__logo-link { display: inline-flex; border-radius: 4px; }
.gc-footer__logo-link img { display: block; width: 224px; height: auto; }
.gc-footer .gc-footer__description { max-width: 360px; margin: 18px 0 0; color: var(--gc-color-surface-subtle); font-size: 16px; line-height: 1.7; }
.gc-footer .gc-footer__heading { margin: 0 0 16px; color: var(--gc-color-text-inverse); font-size: 15px; font-weight: 600; line-height: 1.5; }
.gc-footer__navigation { padding-top: 9px; }
.gc-footer .gc-footer__menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 32px; margin: 0; padding: 0; list-style: none; }
.gc-footer__menu li { margin: 0; padding: 0; }
.gc-footer__menu a,
.gc-footer__legal-menu a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding-block: 8px;
	color: var(--gc-color-surface-subtle);
	font-size: 15px;
	line-height: 1.5;
	text-decoration: none;
	text-underline-offset: 5px;
	overflow-wrap: anywhere;
}
.gc-footer__menu a:hover,
.gc-footer__legal-menu a:hover { color: var(--gc-color-text-inverse); text-decoration: underline; }
.gc-footer a:focus-visible { outline: 3px solid var(--gc-color-text-inverse); outline-offset: 5px; border-radius: 2px; }
.gc-footer__menu .sub-menu { margin: 0 0 0 16px; padding: 0; list-style: none; }
.gc-footer__risk { border-top: 1px solid var(--gc-color-border-control); padding: 28px 0; }
.gc-footer__risk .gc-footer__heading { margin-bottom: 10px; }
.gc-footer__risk p { max-width: 1050px; margin: 0; color: var(--gc-color-surface-subtle); font-size: 14px; line-height: 1.8; }
.gc-footer__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 32px; padding-top: 20px; border-top: 1px solid var(--gc-color-border-control); }
.gc-footer .gc-footer__copyright { margin: 0; color: var(--gc-color-surface-subtle); font-size: 13px; line-height: 1.6; }
.gc-footer .gc-footer__legal-menu { display: flex; flex-wrap: wrap; gap: 4px 24px; margin: 0; padding: 0; list-style: none; }
.gc-footer__legal-menu a { font-size: 13px; }

@media (max-width: 900px) {
	.gc-footer__inner { padding: 40px 24px 24px; }
	.gc-footer__top { gap: 40px; }
}

@media (max-width: 640px) {
	.gc-footer {
		background-image:
			linear-gradient(0deg, var(--gc-color-surface-inverse), transparent 90%),
			linear-gradient(105deg,
				color-mix(in srgb, var(--gc-color-surface-inverse) 92%, transparent),
				color-mix(in srgb, var(--gc-color-surface-inverse) 78%, transparent)),
			url("../images/footer-hero-architecture.webp");
		background-position: center, center, center 35%;
	}
	.gc-footer__top { grid-template-columns: 1fr; gap: 28px; padding-bottom: 28px; }
	.gc-footer__logo-link img { width: 204px; }
	.gc-footer__navigation { padding-top: 0; }
	.gc-footer__risk { padding-block: 24px; }
	.gc-footer__bottom { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 380px) {
	.gc-footer__inner { padding-inline: 16px; }
	.gc-footer__menu { column-gap: 16px; }
}
