[
  {
    "id": 1,
    "title": "Starter Perfumery I: Foundations",
    "level": "Beginner",
    "category": "Foundations",
    "mode": "Online",
    "duration_hours": 8,
    "price": 129,
    "seats": 50,
    "rating": 4.7,
    "tags": ["beginner", "evaluation", "safety", "online"],
    "instructor": "A. Rivers",
    "sku": "FV-FOUND-101",
    "description": "Learn vocabulary, olfactory families, and safe handling to begin formulating with confidence.",
    "outline": ["Olfactory families", "Dilution & safety", "Sensory evaluation basics", "First blends"]
  },
  {
    "id": 2,
    "title": "Starter Perfumery II: Practice",
    "level": "Beginner",
    "category": "Foundations",
    "mode": "Online",
    "duration_hours": 10,
    "price": 149,
    "seats": 40,
    "rating": 4.6,
    "tags": ["beginner", "practice", "assignments", "online"],
    "instructor": "A. Rivers",
    "sku": "FV-FOUND-102",
    "description": "Hands-on briefs and blend logs to reinforce core techniques and repeatable workflows.",
    "outline": ["Blend logs", "Brief interpretation", "Iteration", "Feedback loops"]
  },
  {
    "id": 3,
    "title": "Aroma Chemistry 101",
    "level": "Intermediate",
    "category": "Aromachemistry",
    "mode": "Online",
    "duration_hours": 12,
    "price": 199,
    "seats": 35,
    "rating": 4.8,
    "tags": ["molecules", "volatility", "S/O relationship", "online"],
    "instructor": "Dr. L. Nguyen",
    "sku": "FV-AROMA-101",
    "description": "Understand molecular families, volatility, and structure-odor relationships to inform design choices.",
    "outline": ["Molecular families", "Volatility curves", "Structure-odor", "Case studies"]
  },
  {
    "id": 4,
    "title": "Aroma Chemistry 201: Advanced Molecules",
    "level": "Advanced",
    "category": "Aromachemistry",
    "mode": "Online",
    "duration_hours": 14,
    "price": 249,
    "seats": 25,
    "rating": 4.7,
    "tags": ["advanced", "molecules", "analysis", "online"],
    "instructor": "Dr. L. Nguyen",
    "sku": "FV-AROMA-201",
    "description": "Deep dive into synthetic musks, aldehydes, and captives with formulation strategies and safety notes.",
    "outline": ["Musks", "Aldehydes", "Captives overview", "Regulatory context"]
  },
  {
    "id": 5,
    "title": "Natural Extracts: Essential Oils & Absolutes",
    "level": "Intermediate",
    "category": "Natural Extracts",
    "mode": "In-person",
    "duration_hours": 9,
    "price": 299,
    "seats": 16,
    "rating": 4.6,
    "tags": ["natural", "lab", "sustainability", "in-person"],
    "instructor": "S. Patel",
    "sku": "FV-NAT-110",
    "description": "Explore sourcing, sensory profiles, and safe handling of essential oils and absolutes.",
    "outline": ["Sourcing & GC/MS notes", "Allergens", "Blending naturals", "Shelf-life"]
  },
  {
    "id": 6,
    "title": "Extraction Methods & Tincturing",
    "level": "Advanced",
    "category": "Natural Extracts",
    "mode": "In-person",
    "duration_hours": 12,
    "price": 349,
    "seats": 12,
    "rating": 4.7,
    "tags": ["tinctures", "enfleurage", "macération", "in-person"],
    "instructor": "S. Patel",
    "sku": "FV-NAT-210",
    "description": "Hands-on lab focused on maceration, enfleurage basics, and tincturing stable naturals.",
    "outline": ["Maceration", "Enfleurage", "Stability", "Documentation"]
  },
  {
    "id": 7,
    "title": "Creative Briefs & Concept Development",
    "level": "Intermediate",
    "category": "Design",
    "mode": "Online",
    "duration_hours": 6,
    "price": 129,
    "seats": 60,
    "rating": 4.5,
    "tags": ["creative", "briefs", "ideation", "online"],
    "instructor": "M. Ortega",
    "sku": "FV-DES-130",
    "description": "Translate concepts into actionable briefs and align olfactory goals with constraints.",
    "outline": ["Brief anatomy", "Mood mapping", "Constraints", "Deliverables"]
  },
  {
    "id": 8,
    "title": "Evaluation & Iteration Workshop",
    "level": "Intermediate",
    "category": "Evaluation",
    "mode": "Hybrid",
    "duration_hours": 8,
    "price": 189,
    "seats": 20,
    "rating": 4.7,
    "tags": ["evaluation", "iteration", "hybrid"],
    "instructor": "C. Bennett",
    "sku": "FV-EVAL-150",
    "description": "Develop structured smelling sessions, notes, and improvement cycles.",
    "outline": ["Blotter protocols", "Timing", "Note-taking", "Iteration"]
  },
  {
    "id": 9,
    "title": "Compliance & IFRA Essentials",
    "level": "Advanced",
    "category": "Compliance",
    "mode": "Online",
    "duration_hours": 7,
    "price": 229,
    "seats": 30,
    "rating": 4.8,
    "tags": ["IFRA", "regulatory", "safety", "online"],
    "instructor": "J. Cohen",
    "sku": "FV-COMP-101",
    "description": "Understand IFRA categories, allergens, and building compliant formulas.",
    "outline": ["IFRA categories", "Allergen thresholds", "Documentation", "Case practice"]
  },
  {
    "id": 10,
    "title": "Fixatives & Longevity Strategies",
    "level": "Advanced",
    "category": "Formulation",
    "mode": "Online",
    "duration_hours": 9,
    "price": 219,
    "seats": 28,
    "rating": 4.6,
    "tags": ["fixatives", "musks", "resins", "online"],
    "instructor": "T. Wang",
    "sku": "FV-FORM-220",
    "description": "Use fixatives and structural tricks to improve diffusion and longevity.",
    "outline": ["Musks & resins", "Layering", "Diffusion", "Testing"]
  },
  {
    "id": 11,
    "title": "Citrus Architectures",
    "level": "Intermediate",
    "category": "Families",
    "mode": "Online",
    "duration_hours": 6,
    "price": 139,
    "seats": 40,
    "rating": 4.5,
    "tags": ["citrus", "top notes", "fresh", "online"],
    "instructor": "E. Flores",
    "sku": "FV-FAM-140",
    "description": "Construct bright citrus openings with stability and lift.",
    "outline": ["Lemon, bergamot", "Phototoxicity", "Top-note balance", "Stability"]
  },
  {
    "id": 12,
    "title": "Floral Bouquets",
    "level": "Intermediate",
    "category": "Families",
    "mode": "Online",
    "duration_hours": 8,
    "price": 169,
    "seats": 35,
    "rating": 4.6,
    "tags": ["floral", "bouquet", "mid notes", "online"],
    "instructor": "E. Flores",
    "sku": "FV-FAM-150",
    "description": "Blend floral accords with emphasis on balance and lift.",
    "outline": ["Rose/jasmine accords", "Indoles", "Modifiers", "Fix"]
  },
  {
    "id": 13,
    "title": "Woods & Ambers",
    "level": "Intermediate",
    "category": "Families",
    "mode": "Online",
    "duration_hours": 8,
    "price": 179,
    "seats": 35,
    "rating": 4.7,
    "tags": ["woods", "amber", "base notes", "online"],
    "instructor": "E. Flores",
    "sku": "FV-FAM-160",
    "description": "Achieve modern woody-amber backbones with diffusion.",
    "outline": ["Iso E Super", "Ambroxan", "Balance", "Fixatives"]
  },
  {
    "id": 14,
    "title": "Gourmand Design",
    "level": "Advanced",
    "category": "Families",
    "mode": "Online",
    "duration_hours": 9,
    "price": 199,
    "seats": 24,
    "rating": 4.6,
    "tags": ["gourmand", "sweet", "vanillic", "online"],
    "instructor": "M. Ortega",
    "sku": "FV-FAM-210",
    "description": "Work with vanillin, ethyl maltol, and lactonic notes for modern gourmands.",
    "outline": ["Vanillic cores", "Ethyl maltol", "Balance sweetness", "Longevity"]
  },
  {
    "id": 15,
    "title": "Brand Launch Lab",
    "level": "Advanced",
    "category": "Business",
    "mode": "Hybrid",
    "duration_hours": 16,
    "price": 499,
    "seats": 18,
    "rating": 4.9,
    "tags": ["brand", "go-to-market", "hybrid", "portfolio"],
    "instructor": "D. Harper",
    "sku": "FV-BIZ-300",
    "description": "From brief to bottle: positioning, compliance, sourcing, and launch planning.",
    "outline": ["Positioning", "Compliance", "Supplier setup", "Launch plan"]
  },
  {
    "id": 16,
    "title": "Sustainability in Perfumery",
    "level": "Intermediate",
    "category": "Sustainability",
    "mode": "Online",
    "duration_hours": 7,
    "price": 159,
    "seats": 30,
    "rating": 4.5,
    "tags": ["sustainability", "sourcing", "online"],
    "instructor": "K. Silva",
    "sku": "FV-SUST-180",
    "description": "Source responsibly, evaluate LCA considerations, and communicate sustainability clearly.",
    "outline": ["Supplier criteria", "LCA basics", "Allergens", "Claims"]
  },
  {
    "id": 17,
    "title": "Solvent Systems & Dilutions",
    "level": "Intermediate",
    "category": "Formulation",
    "mode": "Online",
    "duration_hours": 6,
    "price": 149,
    "seats": 40,
    "rating": 4.6,
    "tags": ["solvents", "dilutions", "technical", "online"],
    "instructor": "T. Wang",
    "sku": "FV-FORM-130",
    "description": "Select carrier systems, dilution percentages, and understand evaporation behavior.",
    "outline": ["Ethanol vs IPM", "Carrier selection", "Dilution math", "Testing"]
  },
  {
    "id": 18,
    "title": "Chypre Construction",
    "level": "Advanced",
    "category": "Families",
    "mode": "Online",
    "duration_hours": 10,
    "price": 219,
    "seats": 20,
    "rating": 4.7,
    "tags": ["chypre", "oakmoss", "structure", "online"],
    "instructor": "E. Flores",
    "sku": "FV-FAM-220",
    "description": "Build chypre structures with modern, compliant substitutions.",
    "outline": ["Citrus/top", "Floral/mid", "Woody/amber base", "Compliance subs"]
  },
  {
    "id": 19,
    "title": "Oud & Resin Studies",
    "level": "Advanced",
    "category": "Families",
    "mode": "Online",
    "duration_hours": 10,
    "price": 249,
    "seats": 18,
    "rating": 4.6,
    "tags": ["oud", "resin", "base", "online"],
    "instructor": "E. Flores",
    "sku": "FV-FAM-230",
    "description": "Explore resinous bases, modern oud profiles, and balance projection with depth.",
    "outline": ["Resin palette", "Oud profiles", "Projection vs comfort", "Fixatives"]
  },
  {
    "id": 20,
    "title": "Portfolio & Critique",
    "level": "Intermediate",
    "category": "Career",
    "mode": "Online",
    "duration_hours": 8,
    "price": 179,
    "seats": 25,
    "rating": 4.8,
    "tags": ["portfolio", "feedback", "online", "career"],
    "instructor": "C. Bennett",
    "sku": "FV-CARR-170",
    "description": "Assemble a portfolio with guided critique sessions and improvement plans.",
    "outline": ["Selection", "Framing", "Critique", "Next steps"]
  },
  {
    "id": 21,
    "title": "Safety & Lab Setup",
    "level": "Beginner",
    "category": "Foundations",
    "mode": "Online",
    "duration_hours": 5,
    "price": 119,
    "seats": 60,
    "rating": 4.6,
    "tags": ["safety", "setup", "online", "beginner"],
    "instructor": "A. Rivers",
    "sku": "FV-FOUND-090",
    "description": "Set up a small, safe workspace with proper documentation and storage.",
    "outline": ["PPE", "Labeling", "Storage", "Docs"]
  }
]