.site-footer { background: var(--color-dark); color: var(--color-dark-muted); font-size: var(--text-sm); }
.site-footer a { color: var(--color-on-dark); text-decoration: none; transition: color 0.2s; }
.site-footer a:hover { color: var(--color-accent); }
.site-footer a:not(.brand) { display: inline-block; min-height: 24px; }
.site-footer__grid { display: grid; grid-template-columns: 1.4fr repeat(5, minmax(0, 1fr)); gap: var(--measure-3xl); padding-block: 80px var(--measure-3xl); }
.site-footer__about { display: grid; gap: var(--measure-md); justify-items: start; align-content: start; }
.site-footer__about p { max-width: 340px; }
.site-footer__heading { margin-bottom: var(--measure-sm); color: var(--color-on-dark); }
.site-footer ul { list-style: none; display: grid; gap: var(--measure-xs); }
.site-footer .brand { color: var(--color-on-dark); }
.site-footer__base {
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--measure-md) var(--measure-xl); padding-block: var(--measure-xl) var(--measure-3xl);
  border-top: 1px solid color-mix(in srgb, var(--color-on-dark) 14%, transparent);
}
.site-footer__legal { display: flex; gap: var(--measure-xl); }

@media (max-width: 1100px) {
  .site-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .site-footer__grid > :first-child { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
}
