How can I wire several switches which each control an overlapping subset of my lights?
Steam wiring is not for this
By &quot;steam wiring&quot; I mean all the doddy old-fashioned wiring we do with 1880-era SCADA tech (i.e. brains made of wire and nuts, snap switches, etc).
What you want is smart switches in a hub system.  So you have smart modules (or simply smart bulbs), and then smart switches in the locations of interest.
At that point you can simply define events in the system:
 S1 turnon: turn on L1
 S1 turnoff and S2=off and S3=off: turn off L1, L2, L3
 S2 turnon: turn on L1, L2, L3
 S2 turnoff and S1=off: turn off L1, L2, L3
 S2 turnoff and S1=on: turn off L2, L3 

or whatever the heck you choose to define.