/*
 * Footer — Figma Desktop 70:163 (1440×391) + credits 70:185 · Mobile 86:121 (390×379) + 86:143
 */
.footer { background: var(--surface-page); color: var(--text-primary); border-top: 1px solid var(--border-strong); }

.footer__main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 64px;
  padding: 24px 16px;
  text-align: center;
}
.footer__contact, .footer__social {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  min-width: 0;
  max-width: 100%;
}
.footer__heading { margin: 0; text-transform: uppercase; }
.footer__list, .footer__social-list { list-style: none; margin: 0; padding: 0; }
.footer__list { display: flex; flex-direction: column; gap: 24px; max-width: 100%; }
.footer__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  color: inherit;
  text-decoration: none;
}
.footer__icon { flex: none; }
/* Contact and social icons share one size */
.footer__icon, .footer__social-link svg { width: 32px; height: 32px; }
.footer__email { overflow-wrap: anywhere; }
.footer__social-list { display: flex; gap: 32px; }
.footer__social-link { display: block; color: inherit; }
.footer__social-link svg { display: block; }

/* Hover: each contact row / social icon grows ~25% */
.footer__link, .footer__social-link { transition: transform 0.2s ease; }
@media (hover: hover) {
  .footer__link:hover, .footer__social-link:hover { transform: scale(1.25); }
}
@media (prefers-reduced-motion: reduce) {
  .footer__link, .footer__social-link { transition: none; }
}

.footer__credits {
  background: var(--surface-inverse);
  color: var(--text-on-inverse);
  padding: 20px 16px;
  text-align: center;
}
.footer__wordmark {
  margin: 0;
  font-family: var(--core-family);
  font-weight: 500;
  font-size: var(--core-wordmark-small-size);
  letter-spacing: var(--core-wordmark-small-letter-spacing);
  text-transform: uppercase;
}

@media (min-width: 768px) {
  .footer__main {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1440px;
    margin-inline: auto;
    box-sizing: border-box;
    padding: 126px clamp(32px, 13.3vw, 192px) 126px clamp(32px, 14.4vw, 207px);
    column-gap: 32px;
    text-align: left;
  }
  .footer__contact { align-items: flex-start; flex: 1 1 auto; min-width: 0; }
  .footer__link { flex-direction: row; gap: 14px; transform-origin: left center; }
  .footer__social { align-items: flex-end; flex: none; }
  .footer__list { gap: 12px; }
}
