{% comment %} Logo cloud (04-interfaces.md section 4d): a "trusted by" logo row/grid. Structural, consumed via {% include %} (BR-BW-MKT ยง4d structural-include doctrine). Required context: logos (list of dicts): {src, alt}. alt is required per the a11y non-goal that an image is never unlabelled: a caller supplying a decorative- only alt="" is a deliberate choice it makes itself, but this component never invents an empty alt on the caller's behalf. Optional context: heading (str, e.g. "Trusted by teams at"). greyscale (bool, default False): a CSS greyscale-until-hover treatment, purely decorative, never the sole signal of anything. An empty (or omitted) logos list renders the heading alone (or nothing, if that too is empty), never a fabricated placeholder logo. logos is list-shaped, so it has no flat-kwarg spelling (#98): a Django template cannot build a list inline, so supply it from context (the view, or a wrapper template's own data). The scalar context (heading, greyscale) is flat and template-authorable as-is; brickwork does not invent a flat shape for the list itself. {% endcomment %} {% if heading or logos %}
{% if heading %}

{{ heading }}

{% endif %} {% if logos %}
{% for logo in logos %} {% endfor %}
{% endif %}
{% endif %}