.footer { background: #222; color: #fff; padding: 76px 0 66px; }
.footer__grid { display: grid; grid-template-columns: 400px 250px 215px 1fr; gap: 64px; }
.footer__logo { width: 78px; height: 58px; }
.footer__copy { max-width: 330px; font-size: 16px; line-height: 24px; margin-top: 24px; }
.footer__socials { margin-top: 28px; }
.footer__heading { color: #fff; font-size: 30px; line-height: 38px; font-weight: 700; margin-bottom: 40px; }
.footer__heading--uppercase { text-transform: uppercase; }
.footer__links { list-style: none; padding: 0; margin: 0; font-size: 18px; line-height: 36px; }
.footer__links a:hover { color: #85a6e3; }
.footer__contacts { list-style: none; padding: 0; margin: 0; }
.footer__contact { display: flex; align-items: flex-start; gap: 20px; font-size: 18px; line-height: 36px; }
.footer__contact .site__icon { width: 20px; height: 20px; margin-top: 6px; }
.footer__contact a:hover { color: #85a6e3; }
.footer__address { font-style: normal; margin: 0; }
@media (max-width: 1750px) {
  .footer__grid { grid-template-columns: 1.15fr .8fr .7fr 1.5fr; gap: 40px; }
}
@media (max-width: 1480px) {
  .footer__heading { font-size: 26px; }
  .footer__contact, .footer__links { font-size: 16px; line-height: 30px; }
}
@media (max-width: 1200px) {
  .footer { padding: 60px 0; }
  .footer__grid { grid-template-columns: 1fr 1fr; gap: 48px; }
  .footer__heading { margin-bottom: 24px; }
}
@media (max-width: 768px) {
  .footer { padding: 48px 0; }
  .footer__grid { gap: 36px 24px; }
  .footer__brand, .footer__contact-column { grid-column: 1 / -1; }
  .footer__heading { font-size: 24px; line-height: 30px; margin-bottom: 20px; }
  .footer__copy { max-width: 100%; }
  .footer__contact { gap: 14px; overflow-wrap: anywhere; line-height: 28px; }
}