.site-footer__institutional {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-top: 3rem;
}

.site-footer__official-mark {
  display: grid;
  width: min(20rem, 100%);
  min-height: 5.6rem;
  place-items: center;
  padding: .75rem 1.25rem;
  border-radius: .45rem;
  background: #fff;
}

.site-footer__official-mark img {
  display: block;
  width: 100%;
  height: auto;
}

.site-footer__institutional p {
  max-width: 22rem;
  color: rgb(255 255 255 / .72);
  font-size: .78rem;
  line-height: 1.5;
}

.admin-official-mark {
  display: grid;
  grid-template-columns: 3.15rem minmax(0, 1fr);
  align-items: center;
  gap: .7rem;
  margin-bottom: .65rem;
  padding: .75rem;
  border-radius: .45rem;
  background: #fff;
  color: #45413d;
}

.admin-official-mark img {
  display: block;
  width: 3.15rem;
  height: 4.35rem;
  object-fit: contain;
}

.admin-official-mark span {
  font-size: .65rem;
  font-weight: 750;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: .055em;
}

.login-official-mark {
  align-self: start;
  width: min(20rem, 100%);
  height: auto;
  padding: .75rem 1rem;
  border-radius: .45rem;
  background: #fff;
}

.site-header .brand-mark:has(img) {
  width: 3.25rem;
  height: 3.25rem;
  padding: .25rem;
  border-radius: .35rem;
  background: #fff;
}

.site-header .brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media (max-width: 50rem) {
  .admin-official-mark {
    grid-template-columns: 2.8rem minmax(0, 1fr);
  }

  .admin-official-mark img {
    width: 2.8rem;
    height: 3.85rem;
  }
}

@media (max-width: 38rem) {
  .site-footer__institutional {
    align-items: flex-start;
    flex-direction: column;
  }

  .site-footer__official-mark {
    width: 100%;
  }
}
