Layout tree (as in design/layout.json)
{
"pattern": "hero.form-first",
"kind": "hero",
"grid": {
"form": "1-6",
"benefits": "8-12"
},
"slots": [
"eyebrow",
"headline",
"subhead",
"newsletter",
"meta",
"sectionLabel",
"facts[3..4]"
],
"notes": "Use a real <form> with a labelled email input and a submit button. The reassurance line covers frequency and privacy. The benefits are concrete, not icon features.",
"tree": {
"el": "grid",
"gap": 5,
"align": "center",
"minVh": 0.85,
"children": [
{
"el": "box",
"span": "1-6",
"gap": 4,
"children": [
{
"el": "text",
"slot": "eyebrow",
"role": "eyebrow"
},
{
"el": "text",
"slot": "headline",
"role": "h1",
"step": 6,
"leading": "tight",
"maxCh": 14
},
{
"el": "text",
"slot": "subhead",
"role": "lead",
"maxCh": 36
},
{
"el": "form",
"slot": "newsletter",
"fields": [
"email"
],
"inline": true
},
{
"el": "text",
"color": "textMuted",
"slot": "meta",
"role": "small"
}
]
},
{
"el": "box",
"span": "8-12",
"alignSelf": "stretch",
"gap": 4,
"pad": [
0,
5
],
"justify": "center",
"border": "left",
"children": [
{
"el": "text",
"color": "textMuted",
"slot": "sectionLabel",
"role": "eyebrow"
},
{
"el": "repeat",
"slot": "facts",
"min": 3,
"max": 4,
"layout": "list",
"gap": 3,
"divider": true,
"of": {
"el": "box",
"dir": "row",
"gap": 3,
"align": "start",
"children": [
{
"el": "text",
"slot": "number",
"role": "number",
"step": 2
},
{
"el": "box",
"gap": 1,
"children": [
{
"el": "text",
"slot": "title",
"role": "h4"
},
{
"el": "text",
"color": "textMuted",
"slot": "body",
"role": "small"
}
]
}
]
}
}
]
}
]
}
}