Layout tree (as in design/layout.json)
{
"pattern": "hero.editorial-cover",
"kind": "hero",
"grid": {
"masthead": "full",
"dateline": "full",
"image": "4-12",
"coverlines": "1-3",
"headline": "1-8"
},
"slots": [
"siteName",
"meta",
"index",
"heroImage",
"headline",
"items[3..5]",
"cta"
],
"notes": "Cover lines are short teasers with a number or kicker in the accent colour. The headline sits on a bg-coloured field where it crosses the photo (columns 4–8), like a cover line knocked out of the picture.",
"tree": {
"el": "grid",
"gap": 3,
"rowGap": 3,
"minVh": 1,
"children": [
{
"el": "text",
"span": "full",
"slot": "siteName",
"role": "display",
"step": 8,
"transform": "uppercase",
"tracking": "tight",
"leading": "tight"
},
{
"el": "box",
"span": "full",
"mobile": "keep",
"dir": "row",
"pad": [
1,
0
],
"justify": "between",
"border": "top",
"children": [
{
"el": "text",
"slot": "meta",
"role": "small",
"transform": "uppercase",
"tracking": "wide"
},
{
"el": "text",
"slot": "index",
"role": "small",
"transform": "uppercase",
"tracking": "wide"
}
]
},
{
"el": "media",
"span": "4-12",
"rowSpan": "3-4",
"slot": "heroImage",
"treatment": "photo",
"fill": true
},
{
"el": "text",
"span": "1-8",
"rowSpan": "4-4",
"bg": "bg",
"alignSelf": "end",
"slot": "headline",
"role": "h1",
"step": 5,
"leading": "tight",
"maxCh": 22
},
{
"el": "repeat",
"span": "1-3",
"rowSpan": "3-3",
"slot": "items",
"min": 3,
"max": 5,
"layout": "list",
"gap": 4,
"divider": true,
"of": {
"el": "box",
"gap": 1,
"children": [
{
"el": "text",
"color": "link",
"slot": "number",
"role": "label"
},
{
"el": "text",
"slot": "title",
"role": "h4",
"leading": "tight"
}
]
}
},
{
"el": "button",
"span": "1-3",
"rowSpan": "5-5",
"slot": "cta",
"variant": "underline",
"arrow": true
}
]
}
}