Issue #3607623: Resolve nested variable paths in [orchestra:var:NAME]
Flow conditions already read nested variable paths (e.g. validation.result), but [orchestra:var:...] resolved only flat keys: [orchestra:var:validation.comment] cleared and [orchestra:var:validation] dumped the whole array as JSON.
When the flat key is absent, resolve the name as a dot-path into the branch-visible variables (NestedArray::getValue() over explode(., $name)), consistent with flow conditions. A template or message can now print a nested leaf such as a validators rejection comment via [orchestra:var:validation.comment]. Scalar leaves render as before; a missing path clears; a non-scalar leaf still falls back to JSON. Covered by a kernel test.