Smart Contract > 24kb

I've a smart contract that's already optimised but the bytecode is still 60kb. (~1.5k lines, comments excluded (I know lines does not matter but it's to give you a better idea))

It's an ERC20Token that includes RFI and Voting, that's why it's so big. I heard about proxies or diamond shape, but don't know if and how I can use it to reduce my smart contract.

Any idea on how I could make it smaller?

btw, I can deploy it on bsc-testnet, but can't use it in my tests inside brownie... weird stuff. Would love to hear your piece of advise, cheers!

If you enable optimization, but it still too large to deploy, maybe you can split your contract into several contracts, but need to pay attention to the permission.