/* ==========================================================================
   Footer (abyss): brand | gold line | three columns; legal line + disclaimer.
   ========================================================================== */
.site-footer.tone-dark { background: var(--c-abyss); color: var(--c-mist); }

.site-footer__top {
	display: grid;
	gap: var(--s-6);
	padding-block: clamp(3.5rem, 2rem + 4vw, 6rem) var(--s-6);
}
@media (min-width: 1024px) {
	.site-footer__top {
		grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
		gap: 0;
	}
}

.site-footer__brand { display: grid; gap: var(--s-3); align-content: start; }
.site-footer__logo { display: inline-flex; min-height: 44px; justify-self: start; }
.site-footer__logo img { width: 200px; height: auto; }
.site-footer__about { max-width: 38ch; font-size: var(--fs-small); line-height: 1.65; }

/* The brand line: vertical gold rule between brand and columns. */
.site-footer__cols {
	display: grid;
	gap: var(--s-5) var(--gap);
	grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
	padding-inline-start: var(--s-3);
	border-inline-start: 1px solid var(--c-gold);
}
@media (min-width: 1024px) {
	.site-footer__cols {
		margin-inline-start: clamp(2rem, 4vw, 5rem);
		padding-inline-start: clamp(2rem, 4vw, 5rem);
	}
}
@media (min-width: 1280px) {
	.site-footer__cols { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr) minmax(0, 1.2fr); }
}

.site-footer__title {
	margin-block-end: var(--s-2);
	color: var(--c-white);
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.2;
}

.footer-list { display: grid; gap: 0.125rem; }
.site-footer .footer-list .nav__link,
.site-footer .footer-list a {
	display: inline-flex;
	min-height: 40px;
	align-items: center;
	color: var(--c-mist);
	font-size: var(--fs-small);
	font-weight: 500;
	text-decoration: none;
}
.site-footer .footer-list a:hover { color: var(--c-gold-light); }
.site-footer .footer-list .is-active > a { color: var(--c-white); }

.footer-contacts { display: grid; gap: var(--s-2); font-size: var(--fs-small); line-height: 1.55; }
.footer-contacts__item { display: grid; grid-template-columns: 1.25rem 1fr; gap: 0.75rem; align-items: start; }
.footer-contacts__item .icon { color: var(--c-gold); margin-block-start: 0.1rem; width: 1.125rem; height: 1.125rem; }
.footer-contacts a {
	color: var(--c-porcelain);
	text-decoration: none;
	font-variant-numeric: lining-nums;
	overflow-wrap: anywhere;
}
.footer-contacts a:hover { color: var(--c-gold-light); text-decoration: underline; text-decoration-color: var(--c-gold); }

.footer-social { display: flex; flex-wrap: wrap; gap: var(--s-1) var(--s-3); margin-block-start: var(--s-3); }
.footer-social a { display: inline-flex; min-height: 44px; align-items: center; color: var(--c-gold-light); font-size: var(--fs-small); font-weight: 600; }

/* Legal area */
.site-footer__legal {
	display: grid;
	gap: var(--s-3);
	padding-block: var(--s-4) var(--s-5);
	border-block-start: 1px solid var(--line-dark);
}
.site-footer__disclaimer {
	max-width: 120ch;
	font-size: var(--fs-xs);
	line-height: 1.7;
	color: var(--c-mist);
}
.site-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--s-1) var(--s-4);
	font-size: var(--fs-xs);
}
.site-footer__copy { font-variant-numeric: lining-nums; }
.site-footer__links { display: flex; flex-wrap: wrap; gap: 0 var(--s-3); }
.site-footer__links a {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	min-height: 44px;
	color: var(--c-porcelain);
	text-decoration: underline;
	text-decoration-color: rgb(201 169 106 / 0.6);
	text-underline-offset: 0.3em;
}
.site-footer__links a:hover { color: var(--c-gold-light); text-decoration-color: var(--c-gold-light); }
.site-footer__links .icon { width: 0.875rem; height: 0.875rem; }
