[
  {
    "id": "CPA-001",
    "slug": "foundations-cold-process",
    "title": "Foundations of Cold Process Soap",
    "level": "Beginner",
    "format": "Self-paced",
    "duration_hours": 8,
    "price": 129,
    "rating": 4.8,
    "tags": ["cold process", "safety", "trace", "molds", "basics"],
    "short": "Master lye safety, accurate weighing, and trace control for reliable cold process batches.",
    "description": "Step-by-step training covering preparation, lye solution creation, emulsion, trace recognition, and curing. Includes SOPs, checklists, and troubleshooting.",
    "syllabus": ["Studio setup and PPE", "Lye solution and temperatures", "Emulsion and trace", "Pouring and molding", "Curing and storage", "Troubleshooting"],
    "includes": ["Safety SOP", "Batch log template", "Supplier list"]
  },
  {
    "id": "CPA-002",
    "slug": "advanced-swirls",
    "title": "Advanced Swirl Techniques",
    "level": "Intermediate",
    "format": "Live online",
    "duration_hours": 6,
    "price": 179,
    "rating": 4.7,
    "tags": ["design", "swirls", "colorants", "fluidity", "aesthetics"],
    "short": "Create consistent, high-contrast swirls with controlled batter fluidity.",
    "description": "Learn wall-hanger techniques like Taiwan, Hanger, and In-the-Pot swirls with set-time mapping and color separation strategies.",
    "syllabus": ["Swirl theory", "Fluid trace windows", "Color dispersions", "Tooling and pours", "Practice lab"],
    "includes": ["Design planner", "Pour sequence cards", "Critique session"]
  },
  {
    "id": "CPA-003",
    "slug": "botanical-infusions",
    "title": "Botanical Additives and Infusions",
    "level": "Intermediate",
    "format": "Self-paced",
    "duration_hours": 5,
    "price": 149,
    "rating": 4.6,
    "tags": ["botanicals", "infusions", "oils", "teas", "sustainability"],
    "short": "Use botanicals responsibly: oil infusions, teas, and macerations for subtle benefits.",
    "description": "Explore stability, filtration, and discoloration risks. Build dependable infusion protocols and substitution matrices.",
    "syllabus": ["Botanical selection", "Infusion math", "Filtration", "Color shifts", "Shelf life"],
    "includes": ["Infusion workbook", "Supplier matrix"]
  },
  {
    "id": "CPA-004",
    "slug": "essential-oil-blending",
    "title": "Essential Oil Blending for Soap",
    "level": "Intermediate",
    "format": "Self-paced",
    "duration_hours": 4,
    "price": 139,
    "rating": 4.7,
    "tags": ["essential oils", "fragrance", "IFRA", "notes", "scent architecture"],
    "short": "Design aromatic profiles that endure saponification with IFRA-aware limits.",
    "description": "Map top, heart, and base notes to create balanced accords that remain after cure. Includes reference charts.",
    "syllabus": ["Volatility and anchors", "Accord building", "IFRA guidance", "Testing in CP/HP"],
    "includes": ["Load calculator", "Blotter log"]
  },
  {
    "id": "CPA-005",
    "slug": "lye-safety-masterclass",
    "title": "Lye Safety Masterclass",
    "level": "Beginner",
    "format": "Live online",
    "duration_hours": 3,
    "price": 89,
    "rating": 4.9,
    "tags": ["safety", "lye", "PPE", "procedures"],
    "short": "The non-negotiables of safe handling, mixing, and neutralization with lye.",
    "description": "Work through hazard controls, emergency procedures, and proper storage with instructor Q&A.",
    "syllabus": ["PPE and setup", "Mixing protocols", "Spill response", "Storage and labeling"],
    "includes": ["Safety SOP", "Incident checklist"]
  },
  {
    "id": "CPA-006",
    "slug": "zero-waste-soapmaking",
    "title": "Zero Waste Soapmaking",
    "level": "Intermediate",
    "format": "Self-paced",
    "duration_hours": 5,
    "price": 129,
    "rating": 4.5,
    "tags": ["sustainability", "recycling", "rebatch", "economy"],
    "short": "Reduce waste with rebatching, trim use, and smart procurement.",
    "description": "Design for minimal offcuts, optimize yields, and evaluate packaging impact with life-cycle thinking.",
    "syllabus": ["Yield math", "Rebatch techniques", "Trim strategies", "Packaging choices"],
    "includes": ["Yield calculator", "Supplier checklist"]
  },
  {
    "id": "CPA-007",
    "slug": "artisan-design-mastery",
    "title": "Artisan Design Mastery",
    "level": "Advanced",
    "format": "In-studio",
    "duration_hours": 10,
    "price": 399,
    "rating": 4.8,
    "tags": ["design", "advanced", "layers", "textures"],
    "short": "Architect layered bars with precision: lines, embeds, and sculpted textures.",
    "description": "Hands-on build of complex forms with thermal management for clean edges and adhesion.",
    "syllabus": ["Layer adhesion", "Embed placement", "Texture tools", "Finishing"],
    "includes": ["Studio lab time", "Critique panel"]
  },
  {
    "id": "CPA-008",
    "slug": "hot-process-intensive",
    "title": "Hot Process Intensive",
    "level": "Intermediate",
    "format": "Self-paced",
    "duration_hours": 6,
    "price": 159,
    "rating": 4.6,
    "tags": ["hot process", "design", "fluid HP", "colorants"],
    "short": "Control gel and fluidity in hot process for smoother design outcomes.",
    "description": "Master heat curves, lather optimization, and color techniques adapted for HP.",
    "syllabus": ["HP phases", "Fluid HP methods", "Color in HP", "Finishing HP bars"],
    "includes": ["Process charts", "Troubleshooting guide"]
  },
  {
    "id": "CPA-009",
    "slug": "transparent-glycerin-soap",
    "title": "Transparent Glycerin Soap Lab",
    "level": "Advanced",
    "format": "Self-paced",
    "duration_hours": 7,
    "price": 189,
    "rating": 4.6,
    "tags": ["glycerin", "solvents", "clarity", "advanced"],
    "short": "Formulate high-clarity transparent soap with balanced solvents.",
    "description": "Blend high-solvent systems for clarity while maintaining mildness. Test and tune transparency vs. hardness.",
    "syllabus": ["Solvent systems", "Clarity metrics", "Firmness tuning", "Scenting and coloring"],
    "includes": ["Formulation workbook", "Test templates"]
  },
  {
    "id": "CPA-010",
    "slug": "salt-and-spa-bars",
    "title": "Salt Bars and Spa Bars",
    "level": "Intermediate",
    "format": "Live online",
    "duration_hours": 4,
    "price": 149,
    "rating": 4.6,
    "tags": ["salt bars", "spa", "exfoliation", "curing"],
    "short": "Design dense salt bars and spa blends with proper timing and cut.",
    "description": "Learn pour windows, cutting strategies, and oil balances for comfort and longevity.",
    "syllabus": ["Salt percentages", "Timing and cut", "Oil choices", "Cure management"],
    "includes": ["Cut timing guide", "Supplier list"]
  },
  {
    "id": "CPA-011",
    "slug": "milk-and-honey-soaps",
    "title": "Milk and Honey Soaps",
    "level": "Intermediate",
    "format": "Self-paced",
    "duration_hours": 5,
    "price": 149,
    "rating": 4.7,
    "tags": ["milk", "honey", "temperature", "gentle"],
    "short": "Integrate dairy and sugars with careful temperature control.",
    "description": "Prevent scorching and overheating; achieve gentle bars with balanced sugars.",
    "syllabus": ["Milk handling", "Temperature maps", "Sugar loads", "Color management"],
    "includes": ["Temperature planner", "Recipe cards"]
  },
  {
    "id": "CPA-012",
    "slug": "charcoal-and-clay",
    "title": "Charcoal and Clay Detox Bars",
    "level": "Intermediate",
    "format": "Self-paced",
    "duration_hours": 4,
    "price": 139,
    "rating": 4.5,
    "tags": ["charcoal", "clay", "additives", "colorants"],
    "short": "Balance absorbent additives without compromising lather.",
    "description": "Dose clays and charcoal responsibly, disperse evenly, and avoid crumbling.",
    "syllabus": ["Additive properties", "Dispersion", "Stability checks", "Finish and feel"],
    "includes": ["Dosage table", "Testing worksheet"]
  },
  {
    "id": "CPA-013",
    "slug": "natural-colorants",
    "title": "Natural Colorants in Soap",
    "level": "Beginner",
    "format": "Self-paced",
    "duration_hours": 4,
    "price": 119,
    "rating": 4.5,
    "tags": ["colorants", "natural", "micas", "oxides"],
    "short": "Use plant and mineral colorants with repeatable results.",
    "description": "Understand stability, pre‑dispersion, and cure shift so colors stay true.",
    "syllabus": ["Colorant types", "Pre‑dispersion", "Cure shifts", "Design tips"],
    "includes": ["Color reference", "Swatch log"]
  },
  {
    "id": "CPA-014",
    "slug": "holiday-soaps",
    "title": "Seasonal and Holiday Soaps",
    "level": "Intermediate",
    "format": "Live online",
    "duration_hours": 4,
    "price": 139,
    "rating": 4.6,
    "tags": ["seasonal", "design", "scent blends", "production"],
    "short": "Plan seasonal releases with consistent timelines and aesthetics.",
    "description": "Develop cohesive collections, schedule curing, and manage small‑batch production.",
    "syllabus": ["Concept boards", "Production plan", "Collection cohesion", "Labeling basics"],
    "includes": ["Release planner", "Photo checklist"]
  },
  {
    "id": "CPA-015",
    "slug": "shampoo-bars",
    "title": "Solid Shampoo Bars",
    "level": "Advanced",
    "format": "Self-paced",
    "duration_hours": 6,
    "price": 189,
    "rating": 4.4,
    "tags": ["shampoo bars", "surfactants", "conditioning", "pH"],
    "short": "Formulate gentle, effective solid shampoo bars with proper pH and conditioning.",
    "description": "Cover surfactant systems, additives, and bar hardness for balanced cleansing.",
    "syllabus": ["Surfactant selection", "Conditioning agents", "pH and testing", "Molding and curing"],
    "includes": ["Formulation workbook", "Supplier list"]
  },
  {
    "id": "CPA-016",
    "slug": "business-of-soap",
    "title": "Business and Pricing of Soap",
    "level": "Beginner",
    "format": "Self-paced",
    "duration_hours": 5,
    "price": 149,
    "rating": 4.6,
    "tags": ["business", "pricing", "compliance", "labeling"],
    "short": "Price confidently, track costs, and understand labeling basics.",
    "description": "Practical costing models and compliance overviews to start selling responsibly.",
    "syllabus": ["Costing models", "Compliance overview", "Labels and claims", "Risk basics"],
    "includes": ["Costing calculator", "Label templates"]
  },
  {
    "id": "CPA-017",
    "slug": "curing-and-testing",
    "title": "Curing and Testing Protocols",
    "level": "Intermediate",
    "format": "Self-paced",
    "duration_hours": 3,
    "price": 99,
    "rating": 4.7,
    "tags": ["curing", "testing", "quality", "documentation"],
    "short": "Standardize cure time, hardness, and pH checks for dependable bars.",
    "description": "Implement logs and tests to ensure consistent performance across batches.",
    "syllabus": ["Cure environment", "pH checks", "Hardness tests", "Recordkeeping"],
    "includes": ["QC log", "Testing forms"]
  },
  {
    "id": "CPA-018",
    "slug": "formulation-math",
    "title": "Formulation Math and SAP Values",
    "level": "Beginner",
    "format": "Self-paced",
    "duration_hours": 4,
    "price": 119,
    "rating": 4.6,
    "tags": ["SAP", "math", "ratios", "oils"],
    "short": "Understand SAP values, superfatting, and ratios for confident design.",
    "description": "Math-forward workshop to create balanced formulas that behave well.",
    "syllabus": ["SAP tables", "Superfatting", "Ratios and blends", "Scaling"],
    "includes": ["Calculator sheets", "Formula templates"]
  },
  {
    "id": "CPA-019",
    "slug": "luxury-oils",
    "title": "Luxury Oils and Butters",
    "level": "Intermediate",
    "format": "Self-paced",
    "duration_hours": 4,
    "price": 149,
    "rating": 4.5,
    "tags": ["oils", "butters", "sensory", "stability"],
    "short": "Evaluate premium oils for feel, stability, and cost efficiency.",
    "description": "Profile specialty lipids and build blends that justify price points.",
    "syllabus": ["Oil profiles", "Stability and shelf life", "Blend design", "Costing tradeoffs"],
    "includes": ["Oil matrix", "Blend planner"]
  },
  {
    "id": "CPA-020",
    "slug": "soap-photography",
    "title": "Soap Photography and Styling",
    "level": "Beginner",
    "format": "Self-paced",
    "duration_hours": 3,
    "price": 99,
    "rating": 4.3,
    "tags": ["photography", "styling", "brand"],
    "short": "Style and photograph bars for clear, compelling presentation.",
    "description": "Lighting, backgrounds, and styling choices that honor your brand aesthetics.",
    "syllabus": ["Lighting basics", "Angles and surfaces", "Color balance", "Exporting"],
    "includes": ["Shot list", "Styling guide"]
  },
  {
    "id": "CPA-021",
    "slug": "compliance-labeling",
    "title": "Compliance and Labeling Essentials",
    "level": "Intermediate",
    "format": "Self-paced",
    "duration_hours": 4,
    "price": 129,
    "rating": 4.6,
    "tags": ["compliance", "labeling", "claims", "regulations"],
    "short": "Understand essential requirements for labels and marketing claims.",
    "description": "Learn what to include on labels, avoid restricted claims, and keep clear records.",
    "syllabus": ["Label elements", "Claims and risks", "Recordkeeping", "Resources"],
    "includes": ["Label templates", "Regulatory checklist"]
  },
  {
    "id": "CPA-022",
    "slug": "scent-anchoring",
    "title": "Scent Anchoring and Longevity",
    "level": "Advanced",
    "format": "Self-paced",
    "duration_hours": 5,
    "price": 169,
    "rating": 4.5,
    "tags": ["fragrance", "anchors", "fixatives", "longevity"],
    "short": "Improve scent retention with anchors, fixatives, and batching strategies.",
    "description": "Combine base-heavy accords and batch timing to preserve aromatic intensity after cure.",
    "syllabus": ["Anchor selection", "Load limits", "Timing windows", "Testing grids"],
    "includes": ["Anchor guide", "Test log"]
  }
]