Hi,
Please find attached sample style (using two Linear 1S generators and two trigonometric expressions to calculate translations), which might suit your needs. It can be placed anywhere in your scene as a "Free Object" - as it's build just on two Rotation & Length parameters (this way you don't need to change the Z Offset, which as you've pointed out isn't taken in account while using X Rotation). Hope you'll find it useful.
Best regadrs,