.login-shell{
  width: min(520px, 92vw);
  display: grid;
  gap: 16px;
}

.brand{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
  padding: 10px 2px;
  animation: rise 420ms var(--ease) both;
}

.logo{
  width: 54px;
  height: 54px;
  border-radius: 16px;
  border: 1px solid var(--line);
  display: grid;
  place-items: center;
  background: rgba(0,0,0,.03);
  box-shadow: 0 10px 18px rgba(0,0,0,.05);
}

.logo span{
  font-weight: 800;
  letter-spacing: .5px;
}

.titles h1{
  margin: 0;
  font-size: 1.12rem;
  letter-spacing: .2px;
}

.titles p{
  margin: 4px 0 0 0;
  color: var(--muted);
  font-size: .92rem;
}

.login-card{
  overflow: hidden;
  animation: fadeUp 520ms var(--ease) both;
}

.foot{
  display:flex;
  gap: 10px;
  justify-content: center;
  font-size: .88rem;
  padding: 6px 0;
  animation: fadeUp 700ms var(--ease) both;
}

@keyframes fadeUp{
  from{ opacity: 0; transform: translateY(10px); }
  to{ opacity: 1; transform: translateY(0); }
}

@keyframes rise{
  from{ opacity: 0; transform: translateY(6px); }
  to{ opacity: 1; transform: translateY(0); }
}
