{# @description One column, centred. The default opener, for when the words are the product. #}
{# @prop eyebrow:text | description:"Short line above the heading — a category, a release name" #}
{# @prop title:text | default:"Ship the page, not the CSS" | description:"The heading. Use the title slot instead when it contains markup." #}
{# @prop lead:text | description:"The supporting sentence under the heading" #}
{# @prop level:select['1', '2', '3', '4', '5', '6'] | default:"1" | description:"Heading level. 1 is right for a landing page." #}
{# @prop invert:boolean | default:False | description:"Light copy, for a dark background. Each background says whether it wants this." #}
{# @prop size:select['sm', 'md', 'lg', 'screen'] | default:"md" | description:"How much vertical room the block takes" #}
{# @prop class:text | description:"Extra classes on the outer section. A plain surface colour goes here: bg-base-200." #}
{# @slot:background — A background block, rendered into a layer behind the copy #}
{# @slot:announcement — Above the eyebrow. A pill linking to the latest release, usually. #}
{# @slot:actions Get startedLearn more — The button row. Write real anchor markup, so it can post, submit or carry anything. #}
{# @slot:footnote — Under the actions. A trust line, a rating, a row of logos. #}
{% if background %}
{% comment %}
`-z-10` in an isolated section puts the layer above the surface colour and below the copy.
It is hidden from assistive technology, so a meaningful image belongs in a `media` slot (#21).
{% endcomment %}
{{ background }}
{% endif %}
{{ announcement }}
{% if eyebrow %}
{{ eyebrow }}
{% endif %}
{# djlint:off #}
{{ title }}
{# djlint:on #}
{% if lead %}
{% comment %}
`/80` and never lower: 70% drops to 3.86:1 on winter against the 4.5:1 needed (#21).
Under `invert` the copy stays full strength, since 80% gives 4.09:1 on synthwave.
{% endcomment %}