Layout tree (as in design/layout.json)
{
"pattern": "list.numbered-index",
"kind": "list",
"grid": {
"index": "1-2",
"body": "4-10"
},
"slots": [
"sectionLabel",
"title",
"items[3..6]"
],
"notes": "Each item: number (step 3), title (h3) and one short paragraph. Optional meta flush left in 11–12.",
"tree": {
"el": "box",
"gap": 6,
"children": [
{
"el": "grid",
"gap": 3,
"children": [
{
"el": "text",
"span": "1-2",
"color": "textMuted",
"slot": "sectionLabel",
"role": "eyebrow"
},
{
"el": "text",
"span": "4-10",
"slot": "title",
"role": "h2",
"maxCh": 28
}
]
},
{
"el": "repeat",
"slot": "items",
"min": 3,
"max": 6,
"layout": "list",
"gap": 4,
"divider": true,
"of": {
"el": "grid",
"gap": 3,
"pad": [
3,
0
],
"children": [
{
"el": "text",
"span": "1-2",
"slot": "number",
"role": "number",
"step": 3,
"weight": 700
},
{
"el": "box",
"span": "4-10",
"gap": 1,
"children": [
{
"el": "text",
"slot": "title",
"role": "h3"
},
{
"el": "text",
"slot": "body",
"role": "body",
"maxCh": 60
}
]
},
{
"el": "text",
"span": "11-12",
"mobile": "hide",
"color": "textMuted",
"slot": "meta",
"role": "small"
}
]
}
}
]
}
}