{# hero kindergarten override (GO-BIG showpiece): a bouncing mascot, wiggling ABC letters, and a dependency-free confetti canvas fill the panel when there is no backgroundImage. The canvas lazy-inits on view, honours prefers-reduced-motion, and degrades to a static confetti wash with JS off. Sizing + typography are driven by compiled .kg-hero* CSS (NOT min-h-screen / responsive Tailwind, which the host JIT drops on a cold provision). All builtin field reads are preserved from the default hero. #} {% set eyebrowText = eyebrow.text|default:eyebrow %} {% set headlineText = headline.text|default:headline %} {% set subText = subheadline.text|default:subheadline %} {% set descText = description.text|default:description %} {% set pText = ctaPrimary.text %} {% set pUrl = ctaPrimary.url %} {% set sText = ctaSecondary.text %} {% set sUrl = ctaSecondary.url %} {% set variant = template|default:"centered" %} {% set hasImage = backgroundImage %} {% set showOverlay = hasImage and overlayColor != "none" and overlayColor != "" %} {% set align = "center" %} {% if variant == "left-aligned" or variant == "split" %}{% set align = "left" %}{% endif %}
{% if hasImage %}
{% img backgroundImage alt=headlineText class="h-full w-full object-cover" layout="hero" %}{% if showOverlay %}
{% endif %}
{% else %}{% endif %}
{% if eyebrowText %}{{ eyebrowText }}{% endif %} {% if headlineText %}

{{ headlineText }}

{% endif %} {% if subText %}

{{ subText }}

{% endif %} {% if descText %}

{{ descText }}

{% endif %} {% if pText or sText %}
{% if pText and pUrl %}{{ pText }}{% endif %} {% if sText and sUrl %}{{ sText }}{% endif %}
{% endif %} {% if trustLogos %}

Loved by families at

{% for logo in trustLogos %}{% if logo.url %}{% img logo.image alt=logo.alt class="h-8 w-auto" %}{% else %}{% img logo.image alt=logo.alt class="h-8 w-auto opacity-70" %}{% endif %}{% endfor %}
{% endif %}