SQL Server Multi-Site HA/DR Solution
Lets make sure we understand some of the terms involved.


WSFC=Windows Server failover cluster
FCI=failover clustering instance
AOAG=Always On Availability Groups


I suggest you make you requirement absolutely clear before you start implementing. As @John suggested version of SQL Server and Windows Operating system can detect most of your decision.

You definitely need WSFC, does not matter what configuration you chose.  For multi site (assuming multi subnet) WSFC follow this document.

Then you have 3 options:


FCI
AOAG
FCI+ AOAG


For creating multi-subnet Failover cluster instance follow this document.

Creating AOAG between multi subnet is not an issue as long as WSFC is configured correctly.  Issue mostly arises because listener is not configured correctly. See this for details.

Now you need to decide if you need to combined solution of step 1 and 2 meaning FCI+AOAG. This document will give a good start. 

For storage level replication you definitely want to discuss with your vendor. In general you can do that when you are deploying AOAG.  Because AOAG will read transaction log and write to secondaries. Most storage level replication that I am aware off, you will need disks to be offline for implementing block level changes.

Here are few more resources that can help you.


https://www.sqlhammer.com/  has bunch of example of different configuration by Derik Hammer.
https://www.mssqltips.com/sqlservertip/4597/configure-sql-server-alwayson-availability-group-on-a-multisubnet-cluster/