/* ── Footer ──────────────────────────────────────────── */

.footer {
  border-top: 1px solid var(--color-border);
  padding-top: var(--space-16);
  padding-bottom: var(--space-10);
}

.footer__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-10);
  margin-bottom: var(--space-12);
}

@media (min-width: 768px) {
  .footer__grid {
    grid-template-columns: 2fr 1fr 1fr;
    gap: var(--space-16);
    margin-bottom: var(--space-16);
  }
}

.footer__logo {
  display: block;
  font-size: var(--fs-base);
  letter-spacing: -0.01em;
  color: inherit;
  margin-bottom: var(--space-3);
}

.footer__tagline {
  font-size: var(--fs-xs);
  line-height: var(--lh-normal);
  max-width: 32ch;
}

.footer__nav {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: var(--space-10);
}

.footer__heading {
  font-size: var(--fs-2xs);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: var(--space-4);
  color: var(--color-white);
}

.footer__col {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.footer__col a {
  font-size: var(--fs-2xs);
  color: inherit;
  opacity: 0.8;
  transition: opacity 0.15s ease, color 0.15s ease;
  letter-spacing: 0.01em;
}

.footer__col a:hover {
  opacity: 1;
  color: var(--color-white);
}

.footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-4);
  padding-top: var(--space-8);
  border-top: 1px solid color-mix(in oklch, currentColor, transparent 88%);
}

.footer__copyright {
  font-size: var(--fs-2xs);
}

.footer__legal {
  display: flex;
  gap: var(--space-6);
}

.footer__legal a {
  font-size: var(--fs-2xs);
  color: inherit;
  opacity: 0.6;
  transition: opacity 0.15s ease;
}

.footer__legal a:hover { opacity: 1; }
