/* Footer: brand and tagline, navigation, social links, the legal line. Dark ink band with the gradient bar on top. */
.site-footer { background: var(--ink); color: var(--off); position: relative; }
.site-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: .25rem; background: var(--grad-bar); }
.site-footer .wrap { display: grid; grid-template-columns: 1.2fr 1.4fr 1fr; gap: 2rem; padding-block: 3rem 1.5rem; align-items: start; }
.site-footer .brand, .site-footer .brand .nm { color: var(--off); }
.site-footer .tagline { display: block; font-family: var(--font-display); font-size: 1rem; letter-spacing: .28em; color: var(--mint); margin-top: .5rem; }
.site-footer .foot-nav { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.site-footer a { color: var(--off); text-decoration: none; font-size: var(--fs-ui); }
.site-footer a:hover, .site-footer a.is-hover { color: var(--mint); text-decoration: underline; }
.site-footer .social { display: flex; gap: 1.25rem; justify-content: flex-end; }
.site-footer .legal { grid-column: 1 / -1; border-top: 1px solid var(--line-dark); padding-top: 1.25rem; font-size: 1rem; color: var(--muted-dark); display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.site-footer .legal a { font-size: 1rem; text-decoration: underline; }
@media (max-width: 51.99rem) { .site-footer .wrap { grid-template-columns: 1fr; } .site-footer .social { justify-content: flex-start; } }
