/* =========================================================================
   Site footer — ported from prototype, normalized to tokens.
   ========================================================================= */

.site-footer {
	background: var(--navy);
	border-top: 1px solid var(--line);
	padding-block: var(--s-80) var(--s-48);
}

.footer-grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1fr;
	gap: var(--s-64);
	margin-bottom: var(--s-80);
}

.footer-brand-lockup img { max-width: 180px; height: auto; }
.footer-brand-lockup .title-sm {
	font-style: italic;
	display: inline-block;
}
.footer-tag {
	font-size: var(--fs-small);
	line-height: 1.7;
	max-width: 38ch;
	margin-top: var(--s-24);
}

.footer-col { display: flex; flex-direction: column; }
.footer-col-title {
	font-family: var(--font-body);
	font-size: var(--fs-fine);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--gold);
	margin-bottom: var(--s-24);
}
.footer-col a,
.footer-col > span {
	display: block;
	font-family: var(--font-body);
	font-size: var(--fs-small);
	font-weight: 400;
	line-height: 1.5;
	color: var(--text-secondary);
	padding: var(--s-8) 0;
}
.footer-col a:hover { color: var(--gold); }

.footer-link-sofia {
	display: inline-flex !important;
	align-items: center;
	gap: var(--s-8);
}

.footer-bottom {
	border-top: 1px solid var(--line);
	padding-top: var(--s-32);
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--s-16);
	font-family: var(--font-body);
	font-size: var(--fs-fine);
	color: var(--text-muted);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.footer-legal-links {
	display: inline-flex;
	align-items: center;
	gap: var(--s-12);
}
.footer-legal-links a { color: var(--text-muted); }
.footer-legal-links a:hover { color: var(--gold); }
.footer-legal-links .footer-sep { color: var(--line); }

@media (max-width: 960px) {
	.footer-grid { grid-template-columns: 1fr 1fr; gap: var(--s-48); }
	.footer-brand-block { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
	.footer-grid { grid-template-columns: 1fr; }
	.footer-bottom { flex-direction: column; align-items: flex-start; }
}
