/* ==========================================================================
   Footer
   ========================================================================== */

.site-footer {
  padding-top: var(--space-12);
  background: var(--color-inverse-bg-deep);
  color: var(--color-inverse-muted);
  font-size: var(--text-xs);
  line-height: var(--leading-xs);
}
.site-footer__grid { display: grid; gap: var(--space-5); padding-bottom: var(--space-8); }

.site-footer .brand { color: var(--color-inverse-text); }
.site-footer__blurb { margin-top: var(--space-3); max-width: 24rem; }
.site-footer__license {
  display: inline-flex; align-items: center; gap: var(--space-1);
  margin-top: var(--space-3);
  padding: var(--space-1) var(--space-2);
  color: var(--color-inverse-text);
  border: var(--border-thin) solid var(--color-inverse-border);
  border-radius: var(--radius-md);
}
.site-footer__license .icon { color: var(--color-accent); }

.site-footer__heading {
  margin-bottom: var(--space-2);
  font-size: var(--text-2xs);
  line-height: var(--leading-2xs);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: var(--color-inverse-text);
}
.site-footer__col ul { display: grid; gap: var(--space-1); }
.site-footer__col a,
.site-footer__contact a {
  position: relative;
  transition: color var(--dur-base) var(--ease-out);
}
.site-footer__col a:hover,
.site-footer__contact a:hover { color: var(--color-inverse-text); }

.site-footer__contact { display: grid; gap: var(--space-1); font-style: normal; }
.site-footer__contact a,
.site-footer__addr { display: inline-flex; align-items: flex-start; gap: var(--space-1); }
.site-footer__contact .icon { margin-top: 2px; color: var(--steel-400); }

.site-footer__bottom {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2);
  padding-block: var(--space-3);
  border-top: var(--border-thin) solid var(--color-inverse-border);
}
.site-footer__top {
  display: inline-flex; align-items: center; gap: var(--space-1);
  color: var(--color-inverse-text);
  font-weight: var(--weight-semibold);
}
.site-footer__top .icon { transition: transform var(--dur-base) var(--ease-out); }
.site-footer__top:hover .icon { transform: translateY(calc(var(--space-half) * -1)); }

@media (min-width: 640px) {
  .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .site-footer__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 2fr) minmax(0, 3fr) minmax(0, 3fr); gap: var(--space-6); }
}
