.foot__main {
  column-gap: 56px;
  row-gap: 18px;
  align-items: start;
}

.foot__brand {
  grid-column: 1;
  grid-row: 1;
}

.foot__facts {
  grid-column: 1;
  grid-row: 2;
  align-self: stretch;
  margin-top: 0;
}

.foot__donor {
  grid-column: 2 / -1;
  grid-row: 2;
  min-height: 188px;
  border-top: 1px solid var(--hairline);
  display: flex;
  align-items: center;
  /* row-reverse makes flex-start the visual right edge. */
  justify-content: flex-start;
  flex-direction: row-reverse;
  gap: 28px;
  box-sizing: border-box;
  padding-right: 0;
  text-align: left;
  color: inherit;
  text-decoration: none;
  outline-offset: 6px;
}

.foot__donor:hover p { color: var(--ink); }
.foot__donor:focus-visible { outline: 2px solid var(--vermilion); }

.foot__donor img {
  width: clamp(220px, 28vw, 300px);
  height: auto;
  flex: 0 0 auto;
}

.foot__donor div {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
}

.foot__donor small {
  margin-bottom: 10px;
  margin-right: -.3em;
  font-family: var(--font-hei);
  font-size: 9px;
  letter-spacing: .3em;
  color: var(--ink-4);
}

.foot__donor p {
  margin: 0;
  margin-right: -.08em;
  font-size: 13px;
  letter-spacing: .08em;
  color: var(--ink-3);
}

@media (max-width: 960px) {
  .foot__main { row-gap: 32px; }
  .foot__brand,
  .foot__facts,
  .foot__donor { grid-column: 1 / -1; grid-row: auto; }
  .foot__donor { min-height: 160px; justify-content: flex-start; flex-direction: row; padding-right: 0; }
  .foot__donor div { align-items: flex-start; text-align: left; }
  .foot__donor small { margin-right: 0; }
}

@media (max-width: 480px) {
  .foot__brand,
  .foot__facts,
  .foot__donor { grid-column: 1; }
  .foot__donor {
    min-height: 0;
    padding: 32px 0 8px;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
  }
  .foot__donor img { width: min(260px, 100%); }
  .foot__donor p { margin-right: 0; font-size: 12px; }
}
