I know that varchar(max) and nvarchar(max) allow upto 2GB of data to be held, but this is not relevant to this question.
A page is 8KB = 8192 Bytes
In varchar, 1 character is 1 byte. Whereas in nvarchar, 1 character is 2 bytes.
varchar is allowed to have 8000 characters (8000 Bytes). Whereas nvarchar is allowed to have 4000 characters (8000 Bytes).
Is this because the page size is 8192 Bytes?