root = Card([hero, header, countdown, agendaSection, speakersSection, ticketsSection, registerSection])
hero = Image("Foundations 2025 conference banner", "https://picsum.photos/seed/foundations2025/1200/400")
header = CardHeader("Foundations 2025", "October 14–16, 2025 · Moscone Center, San Francisco, CA")
countdown = Callout("info", "21 days to go", "Foundations 2025 opens in three weeks. Early-bird pricing ends this Friday.")
agendaSection = Card([agendaTitle, agendaTable], "sunk")
agendaTitle = Heading("Agenda", "h3")
agendaTable = Table([timeCol, sessionCol, speakerCol])
timeCol = Col("Time", ["9:00 AM", "10:15 AM", "11:30 AM", "1:30 PM", "3:00 PM", "4:30 PM"])
sessionCol = Col("Session", ["Opening keynote", "Scaling design systems", "Panel — AI in practice", "Lunch & demo fair", "Hands-on workshops", "Closing fireside chat"])
speakerCol = Col("Speaker", ["Maya Chen", "Jordan Lee", "Priya Nair + panel", "All attendees", "Various leads", "Ana Silva"])
speakersSection = Card([speakersTitle, speakerList], "sunk")
speakersTitle = Heading("Speakers", "h3")
speakerList = ListBlock([speaker1, speaker2, speaker3, speaker4], "image")
speaker1 = ListItem("Maya Chen", "Founder of Lattice; opening keynote on human-centered AI", ["https://picsum.photos/seed/maya/100/100"])
speaker2 = ListItem("Jordan Lee", "Design systems lead at Northwind; previously at Figma", ["https://picsum.photos/seed/jordan/100/100"])
speaker3 = ListItem("Priya Nair", "HCI researcher who studies how teams adopt AI tools", ["https://picsum.photos/seed/priya/100/100"])
speaker4 = ListItem("Ana Silva", "Staff engineer at Globex; maintainer of a major open-source library", ["https://picsum.photos/seed/ana/100/100"])
ticketsSection = Card([ticketsTitle, ticketsTable], "sunk")
ticketsTitle = Heading("Tickets", "h3")
ticketsTable = Table([tierCol, priceCol, includesCol])
tierCol = Col("Tier", ["Early Bird", "Standard", "Premium", "Virtual"])
priceCol = Col("Price", ["$249", "$399", "$699", "$99"])
includesCol = Col("Includes", ["All sessions", "All sessions + lunch", "Everything + workshops", "Live streams only"])
registerSection = Card([registerTitle, registerForm], "sunk")
registerTitle = Heading("Register", "h3")
registerForm = Form("register", formButtons, [nameField, emailField])
nameField = FormControl("Full name", nameInput)
nameInput = Input("full_name", "Ada Lovelace")
emailField = FormControl("Email", emailInput, "We'll email your ticket and confirmation to this address.")
emailInput = Input("email", "ada@example.com", "email")
formButtons = Buttons([registerBtn])
registerBtn = Button("Register now", null, "primary")