footer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  column-gap: var(--space-xl);
  row-gap: var(--space-m);
  padding-top: var(--space-l);
  padding-bottom: var(--space-l);
  width: min(100%, var(--content-width));
  margin-inline: auto;
  border-top: none;
  flex-wrap: wrap;
}

/* font-size is applied to children, not footer, so 60ch width uses root font size */
footer > * {
  font-size: var(--text-sm); /* pinned to scale minimum — footer is supplementary */
}

.footer-contact {
  display: flex;
  align-items: flex-start;
  gap: var(--space-l);
  flex-wrap: wrap;
}

.email-link {
  font-weight: 500;
  color: var(--color-muted);
  letter-spacing: var(--tracking-wide);
  transition: var(--transition);
}

.email-link:hover {
  color: var(--color-accent);
}

.footer-qr {
  width: var(--size-qr);
  height: var(--size-qr);
  flex-shrink: 0;
}

.footer-qr svg {
  width: 100%;
  height: 100%;
}

.footer-note {
  color: var(--color-muted);
  margin: 0;
  align-self: flex-end;
}

/* Print: hide QR (redundant on paper) */
@media print {
  .footer-qr { display: none; }
}
