Layout tree (as in design/layout.json)
{
"pattern": "pricing.neobrutal-plan-strips",
"kind": "pricing",
"grid": {
"plan": "1-3",
"price": "4-6",
"detail": "7-9",
"action": "10-12"
},
"slots": [
"sectionLabel",
"title",
"plans[2..4]"
],
"notes": "Mark the recommended plan by giving its strip the accent fill (onAccent text) — the only coloured strip.",
"tree": {
"el": "box",
"gap": 6,
"children": [
{
"el": "box",
"gap": 2,
"children": [
{
"el": "text",
"bg": "accent2",
"color": "onAccent2",
"slot": "sectionLabel",
"role": "label",
"weight": 700,
"rotate": -3
},
{
"el": "text",
"slot": "title",
"role": "h2",
"step": 5,
"maxCh": 22
}
]
},
{
"el": "repeat",
"slot": "plans",
"min": 2,
"max": 4,
"layout": "list",
"gap": 3,
"of": {
"el": "box",
"bg": "surface",
"pad": [
4,
4
],
"border": "all",
"children": [
{
"el": "grid",
"gap": 3,
"align": "center",
"children": [
{
"el": "text",
"span": "1-3",
"slot": "title",
"role": "h3"
},
{
"el": "text",
"span": "4-6",
"slot": "number",
"role": "number",
"step": 6,
"tracking": "tight"
},
{
"el": "text",
"span": "7-9",
"slot": "body",
"role": "body",
"maxCh": 34
},
{
"el": "button",
"span": "10-12",
"slot": "cta",
"variant": "primary",
"size": "md",
"arrow": true
}
]
}
]
}
}
]
}
}