root = Card([header, meetingSection, attendeesSection, joinSection])
header = CardHeader("Upcoming meeting", "What's next on your calendar")
meetingSection = Card([meetingTitle, meetingTime], "sunk")
meetingTitle = Heading("Product Sync — Weekly", "h3")
meetingTime = TextContent("Starts at **2:00 PM** (45 min)", "small")
attendeesSection = Card([attendeesHeading, attendeeList], "sunk")
attendeesHeading = Heading("Attendees", "h4")
attendeeList = ListBlock([attendee1, attendee2, attendee3], "image")
attendee1 = ListItem("Alice Chen", "Design Lead", ["https://picsum.photos/seed/alice/100/100"])
attendee2 = ListItem("Marcus Reid", "Engineering Manager", ["https://picsum.photos/seed/marcus/100/100"])
attendee3 = ListItem("Priya Patel", "Product Manager", ["https://picsum.photos/seed/priya/100/100"])
joinSection = Card([joinHeading, joinButtons], "sunk")
joinHeading = Heading("Join the call", "h4")
joinButtons = Buttons([joinBtn, copyBtn])
joinBtn = Button("Join meeting", null, "primary")
copyBtn = Button("Copy invite link", null, "secondary")