/* ---------- Footer ---------- */
.footer {
  display: flex;
  justify-content: center;
  padding: 0 clamp(20px, 4vw, 48px) 40px;
}
.footer .column { max-width: var(--services-width); gap: 0; }

.footer__inner { padding-top: 48px; border-top: 1px solid var(--line); }

.footer__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  column-gap: 64px;
}

.footer__brand { display: grid; gap: 14px; justify-items: start; }
.footer__about { margin: 0; max-width: 30ch; font-size: 15px; line-height: 1.5; color: var(--ink-muted); }

.footer__nav { display: flex; gap: 48px; }
.footer__nav ul { display: grid; align-content: start; gap: 10px; margin: 0; padding: 0; list-style: none; }
.footer__nav a { display: block; font-size: 15px; text-decoration: none; color: var(--ink-muted); transition: color .18s ease; }
.footer__nav a:hover { color: var(--ink); }
.footer__nav a:focus-visible, .footer__totop:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; border-radius: 4px; }

.footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 56px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.footer__copy { margin: 0; font-size: 13px; color: var(--ink-muted); }
.footer__totop { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 500; text-decoration: none; color: var(--ink-muted); transition: color .18s ease; }
.footer__totop:hover { color: var(--ink); }
