Architect expression for phone number formatting +1XXXXXXXXXX to (XXX) XXX-XXXX

Trying to reformat a phone number string from +1XXXXXXXXXX to (XXX) XXX-XXXX inside an Architect expression. Standard substring functions don’t handle the variable length cleanly, and regex isn’t available in the expression builder. Is there a known workaround or a specific string manipulation pattern that works here?