You can call https://codex.wordpress.org/Function_Reference/get_ancestors within your template. It’ll return an array of ancestors to your current post and you can use the length of the array to see how deep you are in your hierarchy.
Use it at the top of your template file to set a variable $post_depth and use that to adjust your body_class for targeted CSS or to conditionally include template parts.
Something like this would work:
<?php
// single-nldf.php
// Template for displaying single NLDFs
$level = count( get_ancestors( get_queried_object_id(), 'nldf' ) );
add_filter('body_class','nldf_page_class_names');
function nldf_page_class_names($classes) {
// add 'class-name' to the $classes array
$classes[] = 'single-nldf-' . $level;
// return the $classes array
return $classes;
}
get_header( 'nldf-' . $level );
// loads header-nldf-0.php, header-nldf-1.php or header-nldf-2.php
get_template_part( 'loop', 'nldf-' . $level );
// loads loop-nldf-0.php, loop-nldf-1.php or loop-nldf-2.php
get_footer( 'nldf-' . $level );
// loads footer-nldf-0.php, footer-nldf-1.php or footer-nldf-2.php
For robustness you might like to check for posts nested in deeper levels and do something appropriate.