.footer {
  grid-template-columns: minmax(220px, .9fr) minmax(420px, 1.55fr) minmax(150px, .55fr) minmax(210px, .75fr);
  gap: 34px;
  padding: 54px clamp(20px, 6vw, 92px) 40px;
}

.footer h2 {
  font-size: clamp(30px, 3vw, 46px);
  line-height: 1.02;
}

.footer h3 {
  font-size: 20px;
}

.footer p {
  margin: 0;
  max-width: 360px;
}

.footer a {
  margin: 8px 0;
  font-size: 15px;
  line-height: 1.28;
}

.footer-topic-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 24px;
}

.footer-link-col a:first-child {
  margin-top: 0;
}

.footer-sources a,
.footer-utility a {
  font-size: 16px;
}

.fineprint {
  padding-top: 20px;
  margin-top: 10px;
  max-width: none;
}

@media (max-width: 1180px) {
  .footer {
    grid-template-columns: 1fr 1fr;
  }

  .footer-topics {
    grid-column: 1 / -1;
    order: 3;
  }

  .footer-topic-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 760px) {
  .footer {
    grid-template-columns: 1fr;
  }

  .footer-topics {
    order: 0;
  }

  .footer-topic-grid {
    grid-template-columns: 1fr;
  }
}
