/* ============================================================
   FOOTER
   ============================================================ */
.footer {
  background: var(--color-canvas);
  color: var(--color-body);
  padding: var(--sp-xl) var(--sp-lg);
  border-top: 1px solid var(--color-hairline);
}
.footer__top {
  display: grid;
  grid-template-columns: 2fr repeat(3, 1fr);
  gap: var(--sp-lg);
  margin-bottom: var(--sp-xl);
}
.footer__brand {
  color: var(--color-ink);
  font-family: var(--font-ferrari);
  font-size: 26px; font-weight: 500; line-height: 1.5; letter-spacing: 0.195px;
}
.footer__tag {
  color: var(--color-body);
  font-family: var(--font-ferrari);
  font-size: 13px; line-height: 1.5;
  margin-top: var(--sp-xxs);
  max-width: 32ch;
}
.footer__col h4 {
  color: var(--color-muted-soft);
  font-family: var(--font-ferrari);
  font-size: 11px; font-weight: 600; letter-spacing: 1.1px; text-transform: uppercase;
  margin-bottom: var(--sp-sm);
}
.footer__col ul { list-style: none; display: flex; flex-direction: column; gap: var(--sp-xxs); }
.footer__col a {
  color: var(--color-body);
  font-family: var(--font-ferrari);
  font-size: 13px; line-height: 1.5;
  transition: color .15s linear;
}
.footer__col a:hover { color: var(--color-ink); }
.footer__bottom {
  border-top: 1px solid var(--color-hairline);
  padding-top: var(--sp-md);
  display: flex; justify-content: space-between; align-items: center;
  gap: var(--sp-md); flex-wrap: wrap;
}
.footer__legal {
  color: var(--color-muted);
  font-family: var(--font-ferrari);
  font-size: 13px; line-height: 1.5;
}
.footer__lang {
  color: var(--color-muted-soft);
  font-family: var(--font-ferrari);
  font-size: 11px; font-weight: 600; letter-spacing: 1.1px; text-transform: uppercase;
}
