{% load brickwork_icons %} {% comment %} FEATURES / alternating media rows: each capability gets a row of its own. WHEN TO USE THIS. When three cards' worth of text is not enough. A row gives a feature a paragraph and a picture instead of a sentence, so use it for the two or three things that actually sell the product, not for a list of twelve. This one is the shipped _feature_rows.html include (Beat Phase C). The alternation is CSS-only; reading order stays copy-then-media. WHAT YOUR VIEW MUST SUPPLY. A Django template cannot build a list of dicts inline. Pass feature_rows (or whatever name you bind) as items: feature_rows = [ {"heading": "...", "body": "...", "media": mark_safe("...")}, ... ] States: see _feature_rows.html. Accessibility: see _feature_rows.html; covered by axe.spec.mjs against sections-*.html, both themes. Responsive: see _feature_rows.html. {% endcomment %} {% include "brickwork_marketing/components/_feature_rows.html" with heading="Built for the boring half of getting paid" items=feature_rows %}