Hard return in text Block

If I use an hard return in the textblock, everything after does not get shown on the page.
I have to use soft returns (shift+return) to achieve a whitespace.
Why?
I get several complains about this situation, and I am not sure how to solve this.

This is my code:

 <span><?= $block->text()->kt() ?></span>

What could be the solution?

Thank you!

So you are using a default text block (nothing changed in your text.yml)? If you have a custom yml, please post it here. I cannot reproduce your issue. And you output the content with the code above? The resulting html will be invalid, btw, because you can only have phrasing content in a span element.

<div id="<?= $id ?>-intro" class="<?php if($block->makecard() == "true"): ?> is-card <?php endif ?><?= $block->textsize()->html() ?> i-v animate-<?= $block->animate()->html() ?> <?= $block->textsize()->html() ?>">
    <span><?= $block->text()->kt() ?></span>
</div>
fields:
  text:
    type: writer
    nodes: true
    inline: false
    placeholder: field.blocks.text.placeholder

And what gets stored in your content file?
And what is the output you get in dev tools inspector?

Content YAML:

{"text":"<p>This is text.<br>This is text<\/p><p>This is text.<\/p>","

Output copied from Inpsector:

<div id="bYtuX-intro" class="i-v animate- in-viewport in-viewport-once">
    <span><p>This is text.<br>This is text</p></span>
</div>
<div id="<?= $id ?>-intro" class="<?php if($block->makecard() == "true"): ?> is-card <?php endif ?><?= $block->textsize()->html() ?> i-v animate-<?= $block->animate()->html() ?> <?= $block->textsize()->html() ?>">
    <span><?= $block->text() ?></span>
</div>
fields:
  text:
    type: writer
    nodes: true
    inline: true
    placeholder: field.blocks.text.placeholder
  1. You don’t want to call ->kt() on a writer field.
  2. If the content is meant to go inside a span, you probably want it to be inline: true.

I added the ->kt() for markdown options, but it works without. Thank you both!