@use 'sass:string';

@function tier-heading($counters) {
    $str: "";
    @for $level from 1 through $counters {
        $str: $str + 'counter(h#{$level})"."';
    }
    @return string.unquote($str);
}

article {
    --counter-spacing: 0.5rem;
    @for $level from 1 through 6 {
        counter-reset: h#{$level};

        h#{$level}{
            @if $level != 6 {
                counter-reset: h#{$level + 1};
            }
            counter-increment: h#{$level};

            &::before {
                content: tier-heading($level);
                margin-right: var(--counter-spacing);
            }
        }
    }
}