/* ==========================================================================
   Site footer
   ========================================================================== */
.site-footer{ background:var(--bg); border-top:1px solid var(--border); margin-top:0; }
.site-footer__top{
	display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; padding-block:80px 60px;
}
.footer-brand p{ margin-top:18px; max-width:320px; font-size:14px; color:var(--text-muted); }
.footer-col h4{ font-size:13px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:22px; color:var(--text); }
.footer-col ul{ display:flex; flex-direction:column; gap:14px; }
.footer-col a{ font-size:14px; color:var(--text-muted); display:flex; align-items:center; transition:color var(--speed-fast) var(--ease), padding-left var(--speed-fast) var(--ease); }
.footer-col a::before{ content:'›'; margin-right:8px; opacity:0; transition:opacity var(--speed-fast) var(--ease); color:var(--accent-gold); }
.footer-col a:hover{ color:var(--white); padding-left:2px; }
.footer-col a:hover::before{ opacity:1; }

.site-footer__bottom{ border-top:1px solid var(--border); padding-block:24px; }
.site-footer__bottom p{ margin:0; font-size:12px; color:var(--text-faint); text-align:center; }

.back-to-top{
	position:fixed; right:28px; bottom:28px; z-index:150; width:52px; height:52px; border-radius:50%;
	background:var(--accent-blue); color:var(--white); border:none; display:flex; align-items:center; justify-content:center;
	box-shadow:0 12px 30px -10px rgba(30,111,214,.7); opacity:0; visibility:hidden; transform:translateY(16px);
	transition:opacity var(--speed-fast) var(--ease), transform var(--speed-fast) var(--ease), visibility var(--speed-fast), background-color var(--speed-fast) var(--ease);
}
.back-to-top.is-visible{ opacity:1; visibility:visible; transform:translateY(0); }
.back-to-top:hover{ background:#1859ab; transform:translateY(-4px); }

@media (max-width: 900px){
	.site-footer__top{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 560px){
	.site-footer__top{ grid-template-columns:1fr; padding-block:60px 40px; gap:36px; }
	.back-to-top{ right:16px; bottom:16px; width:46px; height:46px; }
}
