root = Card([header, heroStatus, eta, timeline, problemSection])

header = CardHeader("Delivery tracking", "Order #4821 · UPS")

heroStatus = Callout("info", "In transit", "Your package left the Memphis hub and is on its way to the sorting facility in Austin.")

eta = Card([etaHeading, etaValue, etaSub], "sunk")
etaHeading = Heading("Estimated delivery", "h3")
etaValue = TextContent("**Thursday, June 12**", "large")
etaSub = TextContent("Between 9:00 AM and 1:00 PM", "small")

timeline = Card([timelineHeading, timelineList], "clear")
timelineHeading = Heading("Package journey", "h3")
timelineList = ListBlock([step1, step2, step3, step4], "number")
step1 = ListItem("Shipped from Seattle", "June 8 · 4:32 PM")
step2 = ListItem("Arrived at Memphis hub", "June 10 · 11:05 AM")
step3 = ListItem("Departed Memphis hub", "June 11 · 9:47 PM")
step4 = ListItem("In transit to Austin", "Current location · Updated 2 hours ago")

problemSection = Card([problemHeading, problemCopy, problemActions], "sunk")
problemHeading = Heading("Report a problem", "h3")
problemCopy = TextContent("Package delayed, damaged, or missing? Let us know and we’ll investigate.")
problemActions = Buttons([reportBtn, chatBtn])
reportBtn = Button("Report a problem", null, "primary")
chatBtn = Button("Chat with support", null, "secondary")