/**
 * TDS Component: Institutional Closure (Footer)
 * Version: 3.2.0 (50+ Accessibility Patch)
 * Compliance: WCAG 2.1 AAA
 */

.uh-footer {
	background: var(--tds-footer-bg);
	border-top: 1px solid var(--tds-border);
	color: var(--tds-text-main);
	max-width: 100%;
}

.uh-footer__inner {
	padding: clamp(var(--tds-space-04), 4vw, var(--tds-space-05)) 0 var(--tds-space-03);
}

.uh-footer__top {
	display: grid;
	grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
	gap: clamp(var(--tds-space-04), 6vw, var(--tds-space-06));
	align-items: start;
}

/* 1. Identity & Lead (Prose Authority) */
.uh-footer__identity {
	max-width: 36rem;
}

.uh-footer__brand-link {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	margin-bottom: var(--tds-space-03);
	color: inherit;
	text-decoration: none;
}

.uh-footer__logo {
	display: block;
	width: clamp(3.25rem, 4vw, 4.25rem);
	height: auto;
	aspect-ratio: 94 / 81;
}

.uh-footer__lead {
	margin: 0;
	color: var(--tds-text-muted);
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-meta);
	line-height: var(--tds-type-line-body);
}

.uh-footer__lead strong {
	color: var(--tds-text-main);
	font-family: inherit;
	font-weight: var(--tds-weight-semibold);
}

/* 2. Quiet Directory */
.uh-footer__directory {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
	width: 100%;
}

.uh-footer__directory-column {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.uh-footer__directory-column a {
	display: inline-flex;
	align-items: center;
	min-height: 1.6rem;
	color: var(--tds-text-main);
	text-decoration: none;
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-meta);
	font-weight: var(--tds-weight-semibold);
	line-height: var(--tds-type-line-meta);
	transition: color var(--tds-motion-duration-snappy) ease;
}

.uh-footer__directory-column a:hover,
.uh-footer__directory-column a:focus-visible {
	color: var(--tds-brand-strong);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* 3. Institutional Records Strip [cite: 140-147] */
.uh-footer__records {
	margin-top: var(--tds-space-04);
	padding: var(--tds-space-03) 0;
	border-top: 1px solid var(--tds-border);
	border-bottom: 1px solid var(--tds-border);
}

.uh-footer__records-label {
	color: var(--tds-brand-strong);
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-meta);
	font-weight: var(--tds-weight-medium);
	letter-spacing: var(--tds-type-track-kicker);
	text-transform: uppercase;
	white-space: nowrap;
}

.uh-footer__records-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--tds-space-02) var(--tds-space-04);
	margin: 0;
	padding: 0 0 0 13.75rem;
	list-style: none;
}

.uh-footer__records-label,
.uh-footer__record-link {
	display: inline-flex;
	align-items: center;
	min-height: var(--tds-tap-target-min);
	line-height: 1;
}

.uh-footer__record-link {
	gap: 0.35rem;
	color: var(--tds-text-muted);
	text-decoration: none;
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-meta);
	white-space: nowrap;
}

.uh-footer__records-label {
	width: 13.75rem;
	margin-left: -13.75rem;
}

.uh-footer__record-label {
	color: var(--tds-text-main);
	font-weight: var(--tds-weight-medium);
	letter-spacing: var(--tds-type-track-label);
	text-transform: uppercase;
}

.uh-footer__record-value {
	color: var(--tds-text-muted);
	font-weight: var(--tds-weight-medium);
}

.uh-footer .uh-svg-icon--external {
	position: relative;
	top: -0.05em;
	width: 0.875rem;
	height: 0.875rem;
	opacity: 0.6;
}

/* 4. Bottom Row (Legal & Social) */
.uh-footer__bottom {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	gap: var(--tds-space-04);
	align-items: center;
	margin-top: var(--tds-space-04);
	padding: var(--tds-space-03) 0;
	border-top: 1px solid var(--tds-border);
	color: var(--tds-text-muted);
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-meta);
}

.uh-footer__copyright {
	display: flex;
	align-items: center;
	min-height: var(--tds-tap-target-min);
	margin: 0;
	line-height: var(--tds-type-line-body);
}

.uh-footer__legal {
	display: flex;
	align-items: center;
	gap: var(--tds-space-04);
	min-height: var(--tds-tap-target-min);
}

.uh-footer__legal a {
	display: inline-flex;
	align-items: center;
	min-height: var(--tds-tap-target-min);
	color: var(--tds-text-muted);
	font-weight: var(--tds-weight-semibold);
	line-height: 1;
	text-decoration: none;
}

.uh-footer__legal a:hover,
.uh-footer__legal a:focus-visible {
	color: var(--tds-brand-strong);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.uh-footer__social {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--tds-space-02);
	min-height: var(--tds-tap-target-min);
}

.uh-footer__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--tds-tap-target-min);
	height: var(--tds-tap-target-min);
	color: var(--tds-text-muted);
	line-height: 1;
}

.uh-footer__social-link .uh-svg-icon {
	display: block;
	width: 1.15rem;
	height: 1.15rem;
}
/* 6. Tablet & Mobile Adaptive Layers */
@media (max-width: 991.98px) {
	.uh-footer__top { grid-template-columns: 1fr; gap: var(--tds-space-04); }
	.uh-footer__directory { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--tds-space-04); }
	.uh-footer__bottom { grid-template-columns: 1fr; gap: var(--tds-space-03); }
.uh-footer__social { justify-content: flex-start; }
}

@media (max-width: 575.98px) {
	.uh-footer__inner { padding-top: var(--tds-space-04); }
	
	.uh-footer__directory { grid-template-columns: 1fr; gap: var(--tds-space-03); }

	.uh-footer__records-list {
		padding-left: 0;
	}

	.uh-footer__records-label {
		width: 100%;
		margin-left: 0;
	}

	.uh-footer__legal {
	gap: var(--tds-space-02) var(--tds-space-03);
}
}

/* NAV-01 registry directory. Legal and social markup remains unchanged. */
.uh-footer__top { display: flex; flex-direction: column; }
.uh-footer__directory { display: flex; flex-wrap: wrap; gap: var(--tds-space-04); }
.uh-footer__directory-section { flex: 1 1 var(--tds-nav-footer-column); min-width: 0; }
.uh-footer__directory-heading { color: var(--tds-footer-link); font-family: var(--tds-font-system); font-size: var(--tds-nav-link-size); font-weight: var(--tds-nav-link-weight); line-height: var(--tds-type-line-ui); margin: 0 0 var(--tds-space-02); }
.uh-footer__directory-column li { margin: 0; }
.uh-footer__directory-column a { color: var(--tds-footer-link); min-height: var(--tds-tap-target-min); font-weight: var(--tds-weight-regular); line-height: var(--tds-type-line-ui); overflow-wrap: anywhere; }
.uh-footer__directory-column a:hover, .uh-footer__directory-column a:focus-visible { color: var(--tds-footer-link-hover); }
.uh-footer__directory-column ul { display: flex; flex-direction: column; gap: var(--tds-space-01); margin: 0; padding: 0; list-style: none; }
.uh-footer__directory-column .uh-nav-group { display: flex; flex-direction: column; gap: var(--tds-space-01); }
