Layout tree (as in design/layout.json)
{
"pattern": "hero.y2k-chrome-product-bubble",
"kind": "hero",
"grid": {
"copy": "1-6",
"bubble": "7-12",
"tags": "7-12"
},
"slots": [
"eyebrow",
"headline",
"subhead",
"cta",
"heroImage",
"meta",
"caption"
],
"notes": "The bubble is a circle-framed product image on an iridescent mesh; tags are pills on the surface colour with pixel-font text.",
"tree": {
"el": "grid",
"gap": 4,
"align": "center",
"minVh": 0.85,
"children": [
{
"el": "box",
"span": "1-6",
"gap": 3,
"children": [
{
"el": "text",
"slot": "eyebrow",
"role": "label",
"transform": "uppercase",
"font": "mono"
},
{
"el": "text",
"slot": "headline",
"role": "display",
"step": 6,
"transform": "uppercase",
"weight": 700,
"tracking": "tight",
"leading": "tight",
"maxCh": 12
},
{
"el": "text",
"slot": "subhead",
"role": "lead",
"maxCh": 40
},
{
"el": "button",
"slot": "cta",
"variant": "primary",
"size": "lg"
}
]
},
{
"el": "box",
"span": "7-12",
"gap": 2,
"align": "center",
"children": [
{
"el": "media",
"slot": "heroImage",
"aspect": "1/1",
"treatment": "gradient-mesh",
"frame": "circle"
},
{
"el": "box",
"mobile": "keep",
"dir": "row",
"gap": 2,
"justify": "center",
"wrap": true,
"children": [
{
"el": "box",
"bg": "surface",
"pad": [
1,
2
],
"border": "all",
"children": [
{
"el": "text",
"slot": "meta",
"role": "label",
"transform": "uppercase",
"font": "mono"
}
]
},
{
"el": "box",
"bg": "surface",
"pad": [
1,
2
],
"border": "all",
"children": [
{
"el": "text",
"slot": "caption",
"role": "label",
"transform": "uppercase",
"font": "mono"
}
]
}
]
}
]
}
]
}
}