Layout tree (as in design/layout.json)
{
"pattern": "hero.editorial-columns",
"kind": "hero",
"grid": {
"kicker": "full",
"headline": "1-8",
"deck": "1-4",
"column": "5-8",
"figure": "9-12"
},
"slots": [
"eyebrow",
"meta",
"headline",
"heroImage",
"lead",
"statement",
"cta"
],
"notes": "Reads like the top of a feature page: the hero already contains running text. The text column has a left rule (column rule); body copy at step 0 with comfortable leading.",
"tree": {
"el": "grid",
"gap": 4,
"rowGap": 4,
"children": [
{
"el": "box",
"span": "full",
"mobile": "keep",
"dir": "row",
"gap": 2,
"pad": [
2,
0
],
"justify": "between",
"wrap": true,
"border": "top",
"children": [
{
"el": "text",
"slot": "eyebrow",
"role": "eyebrow"
},
{
"el": "text",
"color": "textMuted",
"slot": "meta",
"role": "small"
}
]
},
{
"el": "text",
"span": "1-8",
"slot": "headline",
"role": "display",
"step": 7,
"leading": "tight",
"maxCh": 18
},
{
"el": "media",
"span": "9-12",
"rowSpan": "2-3",
"slot": "heroImage",
"aspect": "3/4",
"treatment": "photo",
"caption": true
},
{
"el": "text",
"span": "1-4",
"slot": "lead",
"role": "lead",
"step": 1,
"maxCh": 40
},
{
"el": "box",
"span": "5-8",
"gap": 3,
"pad": [
0,
3
],
"border": "left",
"children": [
{
"el": "text",
"slot": "statement",
"role": "body",
"leading": "loose",
"maxCh": 44
},
{
"el": "button",
"slot": "cta",
"variant": "link",
"arrow": true
}
]
}
]
}
}