Calculated Date Field With Multiple Conditions

Hello,

I'm trying to get a Call Due Date calculated based off two Call conditions:

1. Call Type is "Account Management Call"

2. Call Status is "Held"

I have the formula below, that is producing a Call Due Date despite the conditions and listening to the default value of "0" even if none of the Conditions match.

ifElse(
equal($keycontact_c,true),
addDays($last_call_date_c,
ifElse(
and(
equal(related($calls,"call_type_c"),"Account Management Call"),
equal(related($calls,"status"),"Held")),
30,
0
)
),
date("")
)

How can I get this to work so that if a Call is "Held" and is marked as an "Account Management Call" a Call Due Date is calculated 30 days out? If those criteria do not match, a Call Due Date should not be assigned.