Layout tree (as in design/layout.json)
{
"pattern": "hero.deco-stepped-frame",
"kind": "hero",
"grid": {
"pilasterLeft": "2-2",
"frame": "3-10",
"pilasterRight": "11-11"
},
"slots": [
"eyebrow",
"headline",
"subhead",
"cta"
],
"notes": "The three frames step in by one space unit each (outer, middle, inner); the inner frame holds the content with generous padding. Pilasters are 2px vertical rules running the full hero height.",
"tree": {
"el": "grid",
"gap": 3,
"align": "stretch",
"minVh": 0.86,
"children": [
{
"el": "divider",
"span": "2-2",
"mobile": "hide",
"alignSelf": "stretch",
"weight": 2,
"orientation": "v"
},
{
"el": "box",
"span": "3-10",
"pad": [
1,
1
],
"border": "all",
"children": [
{
"el": "box",
"pad": [
1,
1
],
"border": "all",
"children": [
{
"el": "box",
"gap": 4,
"pad": [
8,
6
],
"align": "center",
"border": "all",
"children": [
{
"el": "text",
"color": "link",
"slot": "eyebrow",
"role": "eyebrow",
"align": "center",
"transform": "uppercase",
"tracking": "wide"
},
{
"el": "text",
"slot": "headline",
"role": "display",
"step": 6,
"align": "center",
"transform": "uppercase",
"weight": 400,
"tracking": "wide",
"leading": "tight",
"maxCh": 16
},
{
"el": "box",
"mobile": "keep",
"dir": "row",
"gap": 2,
"align": "center",
"children": [
{
"el": "divider",
"weight": 1
},
{
"el": "shape",
"kind": "square",
"size": "sm",
"fill": "accent",
"rotate": 45
},
{
"el": "divider",
"weight": 1
}
]
},
{
"el": "text",
"slot": "subhead",
"role": "lead",
"align": "center",
"maxCh": 44
},
{
"el": "button",
"slot": "cta",
"variant": "primary",
"size": "md",
"arrow": true
}
]
}
]
}
]
},
{
"el": "divider",
"span": "11-11",
"mobile": "hide",
"alignSelf": "stretch",
"weight": 2,
"orientation": "v"
}
]
}
}