{
  "id": "apricot-press-subscribe",
  "name": "Subscribe Page",
  "theme": "apricot-press",
  "category": "Marketing",
  "description": "A subscription page that leads with what testing a recipe actually involves, on the theory that the reason to pay is the work you cannot see.",
  "layout": "A ruled argument column at 60ch with an inset process list, and the offer set as two plain rows rather than a pair of competing cards.",
  "modules": [
    {
      "key": "head",
      "name": "Appeal head",
      "html": "\n<header class=\"ah\"><span class=\"k\">Subscribe</span><h1>Every Recipe Here Was Cooked At Least Four Times</h1><p class=\"dk\">Twice at the stated size, once doubled, and once by somebody who had never made it. The fourth one is the expensive part and it is the only reason any of this is reliable.</p></header>"
    },
    {
      "key": "process",
      "name": "Testing process",
      "html": "\n<section class=\"pr\"><h2>What a recipe costs to publish</h2>\n<ol>\n  <li><span class=\"no n\">1</span><div><b>Written and cooked by the author</b><p>Usually three or four attempts before the method settles. Nothing is written down until it has worked twice in a row.</p></div></li>\n  <li><span class=\"no n\">2</span><div><b>Cooked again at scale</b><p>Doubled, in a domestic kitchen, on a domestic hob. This is where about one recipe in six turns out to need a different method.</p></div></li>\n  <li><span class=\"no n\">3</span><div><b>Cooked by a stranger</b><p>Someone who has not read the discussion and only has the text. Every ambiguity we have ever fixed came out of this step.</p></div></li>\n  <li><span class=\"no n\">4</span><div><b>Photographed as cooked</b><p>The photograph is of the dish from step 3, not a styled version. It is why some of them look ordinary.</p></div></li>\n</ol>\n<p class=\"as\"><span class=\"al\">Roughly</span>About £340 and eleven days per recipe, most of it in step 3.</p></section>"
    },
    {
      "key": "offer",
      "name": "Offer rows",
      "html": "\n<section class=\"of\"><h2>Rates</h2>\n<div class=\"row\"><div><b>Monthly</b><p>Everything, cancel whenever. Six new recipes an issue, one issue a month.</p></div><span class=\"pr2 n\">£6</span><button type=\"button\" class=\"sec\">Choose</button></div>\n<div class=\"row best\"><div><b>Annual</b><p>Two months free, plus the full archive of 412 recipes and every issue since 2019.</p></div><span class=\"pr2 n\">£60</span><button type=\"button\" class=\"pri\">Choose</button></div>\n<p class=\"fn\">There is no free trial because a trial of a recipe archive is just the archive. The first issue of any subscription is refundable in full if it is not for you.</p></section>"
    }
  ],
  "moduleCount": 3,
  "reorderable": true,
  "meta": {
    "id": "apricot-press-subscribe",
    "model": "Claude Opus 5",
    "author": "Claude Code",
    "createdAt": "2026-09-02T00:03:15+09:00",
    "updatedAt": "2026-09-02T00:03:15+09:00",
    "version": "1.0.0",
    "isNew": false
  },
  "link": "/api/v1/designs/apricot-press-subscribe.json",
  "structure": "A ruled argument column at 60ch with an inset process list, and the offer set as two plain rows rather than a pair of competing cards.",
  "html": "<div class=\"dz dz-apricot-press-subscribe\" data-design=\"apricot-press-subscribe\" data-theme=\"apricot-press\">\n<section class=\"dz-mod\" data-mod=\"head\" aria-label=\"Appeal head\">\n<header class=\"ah\"><span class=\"k\">Subscribe</span><h1>Every Recipe Here Was Cooked At Least Four Times</h1><p class=\"dk\">Twice at the stated size, once doubled, and once by somebody who had never made it. The fourth one is the expensive part and it is the only reason any of this is reliable.</p></header></section>\n<section class=\"dz-mod\" data-mod=\"process\" aria-label=\"Testing process\">\n<section class=\"pr\"><h2>What a recipe costs to publish</h2>\n<ol>\n  <li><span class=\"no n\">1</span><div><b>Written and cooked by the author</b><p>Usually three or four attempts before the method settles. Nothing is written down until it has worked twice in a row.</p></div></li>\n  <li><span class=\"no n\">2</span><div><b>Cooked again at scale</b><p>Doubled, in a domestic kitchen, on a domestic hob. This is where about one recipe in six turns out to need a different method.</p></div></li>\n  <li><span class=\"no n\">3</span><div><b>Cooked by a stranger</b><p>Someone who has not read the discussion and only has the text. Every ambiguity we have ever fixed came out of this step.</p></div></li>\n  <li><span class=\"no n\">4</span><div><b>Photographed as cooked</b><p>The photograph is of the dish from step 3, not a styled version. It is why some of them look ordinary.</p></div></li>\n</ol>\n<p class=\"as\"><span class=\"al\">Roughly</span>About £340 and eleven days per recipe, most of it in step 3.</p></section></section>\n<section class=\"dz-mod\" data-mod=\"offer\" aria-label=\"Offer rows\">\n<section class=\"of\"><h2>Rates</h2>\n<div class=\"row\"><div><b>Monthly</b><p>Everything, cancel whenever. Six new recipes an issue, one issue a month.</p></div><span class=\"pr2 n\">£6</span><button type=\"button\" class=\"sec\">Choose</button></div>\n<div class=\"row best\"><div><b>Annual</b><p>Two months free, plus the full archive of 412 recipes and every issue since 2019.</p></div><span class=\"pr2 n\">£60</span><button type=\"button\" class=\"pri\">Choose</button></div>\n<p class=\"fn\">There is no free trial because a trial of a recipe archive is just the archive. The first issue of any subscription is refundable in full if it is not for you.</p></section></section>\n</div>",
  "css": "\n.dz-apricot-press-subscribe { background: var(--background); color: var(--foreground); font-family: var(--pv-body); padding: 34px; max-width: 820px; margin: 0 auto; }\n.dz-apricot-press-subscribe .k { text-transform: uppercase; letter-spacing: .12em; font-size: 11px; font-weight: 700; color: var(--muted-foreground); }\n.dz-apricot-press-subscribe .n { font-family: var(--pv-mono); font-size: 13.5px; }\n.dz-apricot-press-subscribe .ah { padding-bottom: 22px; border-bottom: 1px solid var(--border); margin-bottom: 26px; }\n.dz-apricot-press-subscribe h1 { font-family: var(--pv-display); font-weight: 400; font-size: 46px; line-height: 1.14; margin: 8px 0 14px; letter-spacing: -.02em; }\n.dz-apricot-press-subscribe .dk { margin: 0; font-size: 17px; line-height: 1.72; max-width: 60ch; }\n.dz-apricot-press-subscribe h2 { font-family: var(--pv-display); font-weight: 400; font-size: 20px; margin: 0 0 16px; }\n.dz-apricot-press-subscribe .pr ol { list-style: none; margin: 0 0 16px; padding: 0; }\n.dz-apricot-press-subscribe .pr li { display: grid; grid-template-columns: 34px 1fr; gap: 16px; padding: 14px 0; border-top: 1px solid var(--border); }\n.dz-apricot-press-subscribe .no { color: var(--muted-foreground); font-size: 20px; text-align: right; }\n.dz-apricot-press-subscribe .pr b { display: block; font-size: 16px; margin-bottom: 5px; }\n.dz-apricot-press-subscribe .pr p { margin: 0; font-size: 14.5px; line-height: 1.68; max-width: 60ch; }\n.dz-apricot-press-subscribe .as { color: var(--accent); font-size: 14.5px; margin: 0 0 30px; }\n.dz-apricot-press-subscribe .al { text-transform: uppercase; letter-spacing: .12em; font-size: 11px; font-weight: 700; color: var(--muted-foreground); color: var(--accent); display: block; }\n.dz-apricot-press-subscribe .row { display: grid; grid-template-columns: 1fr auto auto; gap: 22px; align-items: center; padding: 18px 0; border-top: 1px solid var(--border); }\n.dz-apricot-press-subscribe .row b { display: block; font-size: 17px; margin-bottom: 4px; }\n.dz-apricot-press-subscribe .row p { margin: 0; font-size: 14px; color: var(--muted-foreground); line-height: 1.6; max-width: 52ch; }\n.dz-apricot-press-subscribe .pr2 { font-size: 30px; }\n.dz-apricot-press-subscribe .best { background: var(--card); border-radius: var(--pv-radius-lg); padding: 18px; border-top: 0; }\n.dz-apricot-press-subscribe button { font: inherit; font-size: 14px; font-weight: 700; padding: 12px 24px; border-radius: var(--pv-radius-md); cursor: pointer; }\n.dz-apricot-press-subscribe .pri { background: var(--primary); color: var(--primary-foreground); border: 0; }\n.dz-apricot-press-subscribe .sec { background: transparent; color: var(--foreground); border: 1px solid var(--border); }\n.dz-apricot-press-subscribe .fn { margin: 18px 0 0; font-size: 13px; color: var(--muted-foreground); line-height: 1.6; }\n",
  "requiredTheme": "/api/v1/themes/apricot-press.json",
  "googleFontsHref": "https://fonts.googleapis.com/css2?family=Bree+Serif:wght@400;500;600;700&family=Nunito+Sans:wght@400;500;600;700&family=Ubuntu+Mono:wght@400;500;600;700&display=swap"
}