{
  "id": "supper-club-residency",
  "name": "Residency",
  "theme": "supper-club",
  "category": "Marketing",
  "description": "A guest-chef announcement that is a menu first and a campaign second: the whole offer is set as courses with leaders, and the ticket price is one more dish line.",
  "layout": "A full-bleed pass photograph, a residency title, then the set menu in the standard course layout with the ticket itself set as a final leadered line.",
  "modules": [
    {
      "key": "photo",
      "name": "Pass photograph",
      "html": "\n<figure class=\"fb\"><img src=\"{{ART pass}}\" alt=\"{{ARTALT pass}}\"></figure>"
    },
    {
      "key": "intro",
      "name": "Residency intro",
      "html": "\n<header class=\"tb\"><span class=\"k\">Four nights only · 23—26 April</span><h1>Marguerite Sohn</h1><p class=\"ld\">Four nights of a menu she has been cooking in a much smaller room in Marseille. One sitting a night, thirty covers, no à la carte and no substitutions except for allergies.</p></header>"
    },
    {
      "key": "menu",
      "name": "Set menu",
      "html": "\n<section class=\"cs\"><h2 class=\"ch\">The Menu</h2>\n<div class=\"it\"><p class=\"dish\"><span class=\"nm\">Anchovy, butter, radish</span><span class=\"ld\"></span></p></div>\n<div class=\"it\"><p class=\"dish\"><span class=\"nm\">Bouillabaisse, the proper one, served in two parts</span><span class=\"ld\"></span></p><p class=\"ds\">Broth first, then the fish. This is how it is eaten there and we are not going to change it here.</p></div>\n<div class=\"it\"><p class=\"dish\"><span class=\"nm\">Lamb, aubergine, black olive</span><span class=\"ld\"></span></p></div>\n<div class=\"it\"><p class=\"dish\"><span class=\"nm\">Almond tart, crème fraîche</span><span class=\"ld\"></span></p></div>\n<div class=\"it tk\"><p class=\"dish\"><span class=\"nm\">One seat, all four courses</span><span class=\"ld\"></span><span class=\"pz\">78</span></p><p class=\"ds\">Paid in full at booking, non-refundable, transferable to anyone you like up to the day before.</p></div>\n</section>"
    },
    {
      "key": "get",
      "name": "Tickets",
      "html": "\n<footer class=\"tf\"><span class=\"k\">Released 20 March at noon</span><button class=\"pri\">Join the list for the release</button></footer>"
    }
  ],
  "moduleCount": 4,
  "reorderable": true,
  "meta": {
    "id": "supper-club-residency",
    "model": "Claude Opus 5",
    "author": "Claude Code",
    "createdAt": "2026-09-02T01:20:59+09:00",
    "updatedAt": "2026-09-02T01:20:59+09:00",
    "version": "1.0.0",
    "isNew": false
  },
  "link": "/api/v1/designs/supper-club-residency.json",
  "structure": "A full-bleed pass photograph, a residency title, then the set menu in the standard course layout with the ticket itself set as a final leadered line.",
  "html": "<div class=\"dz dz-supper-club-residency\" data-design=\"supper-club-residency\" data-theme=\"supper-club\">\n<section class=\"dz-mod\" data-mod=\"photo\" aria-label=\"Pass photograph\">\n<figure class=\"fb\"><img src=\"https://designlookbook.dev/assets/img/supper-club-pass.webp\" alt=\"A stainless kitchen pass under warm service light\"></figure></section>\n<section class=\"dz-mod\" data-mod=\"intro\" aria-label=\"Residency intro\">\n<header class=\"tb\"><span class=\"k\">Four nights only · 23—26 April</span><h1>Marguerite Sohn</h1><p class=\"ld\">Four nights of a menu she has been cooking in a much smaller room in Marseille. One sitting a night, thirty covers, no à la carte and no substitutions except for allergies.</p></header></section>\n<section class=\"dz-mod\" data-mod=\"menu\" aria-label=\"Set menu\">\n<section class=\"cs\"><h2 class=\"ch\">The Menu</h2>\n<div class=\"it\"><p class=\"dish\"><span class=\"nm\">Anchovy, butter, radish</span><span class=\"ld\"></span></p></div>\n<div class=\"it\"><p class=\"dish\"><span class=\"nm\">Bouillabaisse, the proper one, served in two parts</span><span class=\"ld\"></span></p><p class=\"ds\">Broth first, then the fish. This is how it is eaten there and we are not going to change it here.</p></div>\n<div class=\"it\"><p class=\"dish\"><span class=\"nm\">Lamb, aubergine, black olive</span><span class=\"ld\"></span></p></div>\n<div class=\"it\"><p class=\"dish\"><span class=\"nm\">Almond tart, crème fraîche</span><span class=\"ld\"></span></p></div>\n<div class=\"it tk\"><p class=\"dish\"><span class=\"nm\">One seat, all four courses</span><span class=\"ld\"></span><span class=\"pz\">78</span></p><p class=\"ds\">Paid in full at booking, non-refundable, transferable to anyone you like up to the day before.</p></div>\n</section></section>\n<section class=\"dz-mod\" data-mod=\"get\" aria-label=\"Tickets\">\n<footer class=\"tf\"><span class=\"k\">Released 20 March at noon</span><button class=\"pri\">Join the list for the release</button></footer></section>\n</div>",
  "css": "\n.dz-supper-club-residency { background: var(--background); color: var(--foreground); font-family: var(--pv-body); }\n.dz-supper-club-residency .k { text-transform: uppercase; letter-spacing: .22em; font-size: 10.5px; font-weight: 600; color: var(--muted-foreground); }\n.dz-supper-club-residency .fb { margin: 0; }\n.dz-supper-club-residency .fb img { width: 100%; height: 420px; object-fit: cover; display: block; filter: var(--img-filter); }\n.dz-supper-club-residency .tb { max-width: 58ch; margin: 0 auto; padding: 40px 40px 0; text-align: center; }\n.dz-supper-club-residency h1 { font-family: var(--pv-display); font-weight: 300; font-size: 72px; line-height: 1.02; letter-spacing: -.02em; margin: 12px 0 14px; }\n.dz-supper-club-residency .ld { font-size: 18px; line-height: 1.68; margin: 0; text-align: left; }\n.dz-supper-club-residency .cs { max-width: 58ch; margin: 0 auto; padding: 0 40px; }\n.dz-supper-club-residency .ch { text-transform: uppercase; letter-spacing: .22em; font-size: 10.5px; font-weight: 600; text-align: center; margin: 64px 0 30px; color: var(--muted-foreground); border-top: 1px solid var(--border); padding-top: 30px; }\n.dz-supper-club-residency .it { margin-bottom: 20px; }\n\n.dz-supper-club-residency .dish { display: flex; align-items: baseline; gap: 10px; }\n.dz-supper-club-residency .dish .nm { flex: none; }\n.dz-supper-club-residency .dish .ld { flex: 1; border-bottom: 1px dotted var(--border); transform: translateY(-4px); }\n.dz-supper-club-residency .dish .pz { flex: none; color: var(--accent); }\n.dz-supper-club-residency .ds { margin: 4px 0 0; font-size: 14px; line-height: 1.55; color: var(--muted-foreground); width: 80%; }\n.dz-supper-club-residency .dish { font-family: var(--pv-body); font-size: 16.5px; }\n.dz-supper-club-residency .tk { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--border); }\n.dz-supper-club-residency .tf { max-width: 58ch; margin: 0 auto; padding: 40px; text-align: center; }\n.dz-supper-club-residency .pri { background: var(--primary); color: var(--primary-foreground); border: 0; border-radius: 1px; padding: 14px 26px; font: inherit; text-transform: uppercase; letter-spacing: .22em; font-size: 10.5px; font-weight: 600; cursor: pointer; margin-top: 14px; }\n@media (prefers-reduced-motion: reduce) { .dz-supper-club-residency *, .dz-supper-club-residency *::before, .dz-supper-club-residency *::after { transition-duration: 1ms !important; animation-duration: 1ms !important; } }\n",
  "requiredTheme": "/api/v1/themes/supper-club.json",
  "googleFontsHref": "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Cardo:wght@400;500;600;700&family=Xanh+Mono:wght@400;500;600;700&display=swap"
}