footer.site {
  background: var(--blue-ink); color: #fff;
  padding: 72px 0 32px;
}
footer.site .footer-grid {
  display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
footer.site .footer-brand-logo {
  display: inline-flex; align-items: center; gap: 12px;
  margin-bottom: 18px; text-decoration: none;
}
footer.site .footer-brand-logo .logo-mark {
  width: 40px; height: 40px; display: block;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.25));
  flex-shrink: 0;
}
footer.site .footer-brand-logo .brand {
  color: #fff; font-weight: 700; font-size: 17px; letter-spacing: -0.01em;
  display: flex; flex-direction: column;
}
footer.site .footer-brand-logo .brand small {
  display: block; font-size: 12px;
  color: rgba(255,255,255,.85);
  font-weight: 400; margin-top: 1px;
}
footer.site .footer-brand p {
  color: rgba(255,255,255,.85);
  font-size: 14px; margin: 0 0 20px; max-width: 28em;
  line-height: 1.55;
}

footer.site .footer-col h5 {
  font-size: 16px; color: #fff;
  margin: 0 0 16px; font-weight: 700;
}
footer.site .footer-col ul {
  list-style: none; padding: 0; margin: 0;
  display: grid; gap: 10px;
}
footer.site .footer-col a,
footer.site .footer-col li {
  font-size: 14px; color: rgba(255,255,255,.92);
  transition: color .15s;
}
footer.site .footer-col a:hover { color: var(--orange-soft); }

footer.site .footer-reviews .score {
  font-size: 28px; font-weight: 800;
  letter-spacing: -0.03em; color: #fff;
}
footer.site .footer-reviews .meta {
  font-size: 13px; color: rgba(255,255,255,.75); margin-top: 2px;
}
footer.site .footer-reviews .stars {
  margin-top: 8px; color: var(--yellow); font-size: 18px;
  letter-spacing: 1px;
}

footer.site .footer-bottom {
  padding-top: 24px;
  display: flex; justify-content: space-between;
  flex-wrap: wrap; gap: 12px;
  font-size: 13px;
  color: rgba(255,255,255,.85);
}
footer.site .footer-bottom a { color: rgba(255,255,255,.75); }
footer.site .footer-bottom a:hover { color: var(--orange-soft); }
footer.site .footer-bottom .legal { display: flex; gap: 6px; flex-wrap: wrap; }

@media (max-width: 980px) {
  footer.site .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  footer.site .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  footer.site .footer-grid { grid-template-columns: 1fr; }
}
