footer {
  display: grid;
  grid-template-columns: auto minmax(190px, .7fr) minmax(320px, 1.5fr) auto;
  gap: 3rem;
  align-items: start;
  padding: 2.5rem 5vw;
  line-height: 1.65;
}

footer strong {
  display: block;
  margin-bottom: .55rem;
  color: #aaa;
  font: 700 .68rem Montserrat, Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.footer-contact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.footer-contact a:hover { color: #fff; }
.footer-legal p, .footer-copy { margin: 0; }
.footer-copy { white-space: nowrap; }

@media (max-width: 900px) {
  footer { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  footer {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 2.5rem 1.25rem;
  }
}
