footer nav.footer-navigation {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  width: 100%;
  flex-basis: 100%;
  margin: 20px 0 4px;
  padding-top: 24px;
  border-top: 1px solid #9499b218;
  text-align: left;
}
footer .footer-group { min-width: 0; }
footer .footer-group h2 {
  margin: 0 0 13px;
  color: #ded8ed;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .025em;
}
footer .footer-group ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 3px; }
footer .footer-group a {
  display: inline-block;
  padding: 5px 0;
  color: #959eb3;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
  text-decoration: none;
  transition: color .18s ease;
}
footer .footer-group a:hover, footer .footer-group a[aria-current="page"] { color: #c9b2f5; }
footer .footer-group a:focus-visible { outline: 2px solid #b59aff; outline-offset: 4px; border-radius: 3px; }
@media(max-width:640px) {
  footer nav.footer-navigation { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px 20px; }
}
@media(max-width:420px) {
  footer nav.footer-navigation { grid-template-columns: 1fr; gap: 23px; }
  footer .footer-group h2 { margin-bottom: 7px; }
  footer .footer-group a { padding: 7px 0; font-size: 13px; }
}
@media(prefers-reduced-motion:reduce) { footer .footer-group a { transition:none; } }
