/* ==========================================================================
   Site footer
   ========================================================================== */

.hp-footer { margin-top: auto; background-color: var(--hp-color-secondary); color: var(--hp-color-text-invert); padding-block: var(--hp-space-xl) var(--hp-space-md); }
.hp-footer a { color: rgba(244, 247, 247, 0.85); text-decoration: none; }
.hp-footer a:hover { color: #fff; text-decoration: underline; }
.hp-footer__columns { display: grid; gap: var(--hp-space-lg); }
@media (min-width: 640px) { .hp-footer__columns { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .hp-footer__columns { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--hp-space-xl); } }
.hp-footer__title {
	font-family: var(--hp-font-body);
	font-size: var(--hp-text-2xs);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(244, 247, 247, 0.6);
	margin-bottom: var(--hp-space-2xs);
	padding-bottom: var(--hp-space-3xs);
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}
.hp-footer__menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.4rem; font-size: var(--hp-text-sm); }
.hp-footer__brand { display: grid; gap: var(--hp-space-2xs); max-width: 40ch; }
.hp-footer__brand .hp-brand__name { color: var(--hp-color-text-invert); }
.hp-footer__brand p { font-size: var(--hp-text-sm); color: rgba(244, 247, 247, 0.72); }
.hp-footer__social { display: flex; gap: var(--hp-space-2xs); }
.hp-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: var(--hp-radius-pill);
}
.hp-footer__social a:hover { background-color: rgba(255, 255, 255, 0.12); }
.hp-footer__bottom {
	margin-top: var(--hp-space-xl);
	padding-top: var(--hp-space-md);
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	display: flex;
	flex-wrap: wrap;
	gap: var(--hp-space-2xs) var(--hp-space-md);
	justify-content: space-between;
	font-size: var(--hp-text-xs);
	color: rgba(244, 247, 247, 0.7);
}
.hp-footer__legal { display: flex; flex-wrap: wrap; gap: var(--hp-space-2xs) var(--hp-space-sm); list-style: none; margin: 0; padding: 0; }
.hp-footer__disclaimer { max-width: 90ch; margin-top: var(--hp-space-md); font-size: var(--hp-text-xs); color: rgba(244, 247, 247, 0.6); }
.hp-scheme-toggle { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.35rem 0.7rem; border: 1px solid rgba(255, 255, 255, 0.24); border-radius: var(--hp-radius-pill); font-size: var(--hp-text-xs); color: inherit; }
