{
  "title": "French Drain Installation: instant estimate",
  "subtitle": "Choose one or more services. Prices update live.",
  "accent": "#01579b",
  "currencyCode": "USD",
  "locale": "en-US",
  "roundTo": 5,
  "items": [
    {
      "id": "trench",
      "label": "French drain (trench, pipe & gravel)",
      "unit": "linear ft",
      "low": 40,
      "high": 75,
      "min": 1200,
      "qtyDefault": 50,
      "qtyMin": 10,
      "qtyMax": 300,
      "qtyStep": 5,
      "qtyLabel": "Drain run length (linear ft)"
    },
    {
      "id": "basin",
      "label": "Catch basin / junction box",
      "unit": "basins",
      "unitOne": "basin",
      "low": 250,
      "high": 400,
      "min": 250,
      "qtyDefault": 1,
      "qtyMin": 1,
      "qtyMax": 8,
      "qtyStep": 1
    }
  ],
  "modifiers": [
    {
      "label": "Trench depth",
      "type": "select",
      "options": [
        {
          "label": "Shallow (under 18 in)",
          "factor": 0.85
        },
        {
          "label": "Standard (18\u201330 in)",
          "factor": 1
        },
        {
          "label": "Deep (30 in+)",
          "factor": 1.35
        }
      ],
      "items": [
        "trench"
      ]
    },
    {
      "label": "Rocky / hard dig soil",
      "type": "checkbox",
      "factor": 1.3,
      "items": [
        "trench"
      ]
    },
    {
      "label": "Haul excavated spoil off-site",
      "type": "checkbox",
      "add": 250
    }
  ],
  "note": "Sample prices for demo. Set your own. Final price confirmed after inspection.",
  "cta": {
    "type": "mailto",
    "email": "you@yourbusiness.com",
    "label": "Request my exact quote"
  },
  "mode": "multi"
}