.portal-footer {
  max-width: var(--max);
  margin: 35px auto 0;
  padding: 44px 18px 30px;
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: 1fr 1.55fr;
  gap: 38px 70px;
  align-items: start;
}

.footer-brand { display: flex; gap: 14px; align-items: center; }
.footer-brand img { width: 58px; height: 58px; object-fit: contain; border-radius: 50%; clip-path: circle(47%); }
.footer-brand strong { display: block; color: var(--cream); font: 700 18px Georgia, serif; }
.footer-brand span { display: block; color: var(--teal); font-size: 10px; }
.footer-brand p { margin: 5px 0 0; color: #718684; font-size: 10px; }
.portal-footer > nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }
.portal-footer nav div { display: grid; align-content: start; }
.portal-footer nav small { margin-bottom: 8px; color: var(--gold); font: 800 8px ui-monospace, monospace; letter-spacing: .14em; }
.portal-footer nav a { padding: 4px 0; color: #93a6a3; text-decoration: none; font-size: 11px; }
.portal-footer nav a:hover { color: #fff; }
.footer-base { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 20px; padding-top: 16px; border-top: 1px solid #1b2d2f; color: #526a68; font: 700 8px ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }

@media (max-width: 760px) {
  .portal-footer { grid-template-columns: 1fr; }
  .portal-footer > nav { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 520px) {
  .portal-footer > nav { grid-template-columns: 1fr 1fr; }
  .footer-base { flex-direction: column; gap: 5px; }
  .footer-brand p { display: block; }
}
