[
  {
    "id": "course-01",
    "slug": "beginners-perfume-lab",
    "title": "Beginner’s Perfume Lab",
    "category": "Foundations",
    "level": "Beginner",
    "durationHours": 8,
    "price": 79,
    "oldPrice": null,
    "shortDescription": "Start with safe dilutions, olfactive families, and balanced top-heart-base studies.",
    "description": "Learn the core building blocks of perfumery. We cover safe handling, dilution practices, and fundamental accords that underpin balanced compositions.",
    "tags": [
      "citrus",
      "floral",
      "accords",
      "dilutions"
    ],
    "stock": 1000,
    "rating": 4.7,
    "reviews": 183,
    "formats": [
      "Video",
      "PDF"
    ],
    "sku": "DN-001",
    "language": "en",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  {
    "id": "course-02",
    "slug": "accords-masterclass",
    "title": "Accords Masterclass",
    "category": "Composition",
    "level": "Intermediate",
    "durationHours": 10,
    "price": 129,
    "oldPrice": 149,
    "shortDescription": "Construct durable accords and iterate with intent.",
    "description": "Architect and stress-test accords for versatility. Learn to iterate using evaluation loops and keep track of formula evolution.",
    "tags": [
      "woody",
      "musk",
      "iterative",
      "structure"
    ],
    "stock": 1000,
    "rating": 4.8,
    "reviews": 241,
    "formats": [
      "Video",
      "Live"
    ],
    "sku": "DN-002",
    "language": "en",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  {
    "id": "course-03",
    "slug": "natural-perfumery-essentials",
    "title": "Natural Perfumery Essentials",
    "category": "Natural Perfumery",
    "level": "Intermediate",
    "durationHours": 9,
    "price": 119,
    "oldPrice": null,
    "shortDescription": "Compose with naturals while ensuring stability and consistency.",
    "description": "Explore naturals, variability, and stability strategies. Balance natural materials with fixatives for wearability.",
    "tags": [
      "natural",
      "resins",
      "citrus",
      "fixatives"
    ],
    "stock": 1000,
    "rating": 4.6,
    "reviews": 132,
    "formats": [
      "Video",
      "PDF"
    ],
    "sku": "DN-003",
    "language": "en",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  {
    "id": "course-04",
    "slug": "modern-chypre-architecture",
    "title": "Modern Chypre Architecture",
    "category": "Olfactive Genres",
    "level": "Advanced",
    "durationHours": 7,
    "price": 139,
    "oldPrice": null,
    "shortDescription": "Reinterpret chypre structure with modern palettes.",
    "description": "Dissect the classic chypre skeleton and rebuild it using contemporary ingredients and regulations.",
    "tags": [
      "chypre",
      "patchouli",
      "mossy",
      "bergamot"
    ],
    "stock": 1000,
    "rating": 4.7,
    "reviews": 98,
    "formats": [
      "Video"
    ],
    "sku": "DN-004",
    "language": "en",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  {
    "id": "course-05",
    "slug": "intro-to-aroma-chemicals",
    "title": "Intro to Aroma Chemicals",
    "category": "Foundations",
    "level": "Beginner",
    "durationHours": 6,
    "price": 69,
    "oldPrice": 89,
    "shortDescription": "Understand key molecules: impact, dosages, and roles.",
    "description": "From hedione to Iso E Super, learn what each does, how it behaves, and how to dose responsibly.",
    "tags": [
      "molecules",
      "dosage",
      "safety"
    ],
    "stock": 1000,
    "rating": 4.5,
    "reviews": 156,
    "formats": [
      "Video",
      "PDF"
    ],
    "sku": "DN-005",
    "language": "en",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  {
    "id": "course-06",
    "slug": "fixatives-and-longevity",
    "title": "Fixatives & Longevity",
    "category": "Composition",
    "level": "Intermediate",
    "durationHours": 5,
    "price": 99,
    "oldPrice": null,
    "shortDescription": "Strategies for lasting presence without heaviness.",
    "description": "Learn multi-pronged approaches to extend wear time while preserving clarity and lift.",
    "tags": [
      "fixatives",
      "longevity",
      "tenacity"
    ],
    "stock": 1000,
    "rating": 4.6,
    "reviews": 121,
    "formats": [
      "Video"
    ],
    "sku": "DN-006",
    "language": "en",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  {
    "id": "course-07",
    "slug": "olfactive-storytelling",
    "title": "Olfactive Storytelling",
    "category": "Olfactive Storytelling",
    "level": "Intermediate",
    "durationHours": 8,
    "price": 129,
    "oldPrice": null,
    "shortDescription": "Translate narrative arcs into scent journeys.",
    "description": "Design emotional progression from opening spark to resonant trail using motif-based accords.",
    "tags": [
      "narrative",
      "accords",
      "structure"
    ],
    "stock": 1000,
    "rating": 4.7,
    "reviews": 110,
    "formats": [
      "Video",
      "Live"
    ],
    "sku": "DN-007",
    "language": "en",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  {
    "id": "course-08",
    "slug": "evaluating-perfumes-like-a-pro",
    "title": "Evaluating Perfumes Like a Pro",
    "category": "Evaluation",
    "level": "Advanced",
    "durationHours": 6,
    "price": 119,
    "oldPrice": null,
    "shortDescription": "Critical smelling, blotter technique, and note-taking.",
    "description": "Develop calibrated evaluation practices, reduce bias, and log consistent feedback for faster iteration.",
    "tags": [
      "evaluation",
      "calibration",
      "blotters"
    ],
    "stock": 1000,
    "rating": 4.8,
    "reviews": 87,
    "formats": [
      "Video",
      "PDF"
    ],
    "sku": "DN-008",
    "language": "en",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  {
    "id": "course-09",
    "slug": "ifranomics",
    "title": "IFRAnomics: Practical IFRA",
    "category": "Safety",
    "level": "Intermediate",
    "durationHours": 5,
    "price": 89,
    "oldPrice": null,
    "shortDescription": "Learn to read and apply IFRA standards pragmatically.",
    "description": "Navigate IFRA categories and constraints, then translate limits into creative choices with confidence.",
    "tags": [
      "IFRA",
      "safety",
      "limits"
    ],
    "stock": 1000,
    "rating": 4.6,
    "reviews": 99,
    "formats": [
      "Video"
    ],
    "sku": "DN-009",
    "language": "en",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  {
    "id": "course-10",
    "slug": "citrus-top-notes",
    "title": "Citrus Top Notes That Last",
    "category": "Composition",
    "level": "Intermediate",
    "durationHours": 4,
    "price": 69,
    "oldPrice": null,
    "shortDescription": "Bright openings with improved persistence.",
    "description": "Build sparkling top notes and scaffold them to resist rapid fade while staying clean.",
    "tags": [
      "citrus",
      "top notes",
      "lift"
    ],
    "stock": 1000,
    "rating": 4.5,
    "reviews": 76,
    "formats": [
      "Video",
      "PDF"
    ],
    "sku": "DN-010",
    "language": "en",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  {
    "id": "course-11",
    "slug": "woods-and-ambers",
    "title": "Woods & Ambers",
    "category": "Olfactive Genres",
    "level": "Advanced",
    "durationHours": 7,
    "price": 139,
    "oldPrice": null,
    "shortDescription": "Build radiance and warmth without mud.",
    "description": "Craft modern woody-amber structures with diffusion and clarity, avoiding over-thickening.",
    "tags": [
      "woody",
      "amber",
      "diffusion"
    ],
    "stock": 1000,
    "rating": 4.7,
    "reviews": 88,
    "formats": [
      "Video"
    ],
    "sku": "DN-011",
    "language": "en",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  {
    "id": "course-12",
    "slug": "floral-bouquets",
    "title": "Floral Bouquets",
    "category": "Olfactive Genres",
    "level": "Intermediate",
    "durationHours": 6,
    "price": 109,
    "oldPrice": null,
    "shortDescription": "From soliflores to complex florals.",
    "description": "Compose convincing floral hearts and build bouquets with dimensionality and sillage.",
    "tags": [
      "floral",
      "bouquet",
      "heart notes"
    ],
    "stock": 1000,
    "rating": 4.6,
    "reviews": 134,
    "formats": [
      "Video",
      "PDF"
    ],
    "sku": "DN-012",
    "language": "en",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  {
    "id": "course-13",
    "slug": "gourmand-construction",
    "title": "Gourmand Construction",
    "category": "Olfactive Genres",
    "level": "Advanced",
    "durationHours": 8,
    "price": 139,
    "oldPrice": 159,
    "shortDescription": "Sweet, edible facets with elegance.",
    "description": "Balance lactonic, caramelic, and vanillic facets without cloying heaviness.",
    "tags": [
      "gourmand",
      "vanilla",
      "lactones"
    ],
    "stock": 1000,
    "rating": 4.7,
    "reviews": 92,
    "formats": [
      "Video"
    ],
    "sku": "DN-013",
    "language": "en",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  {
    "id": "course-14",
    "slug": "indie-brand-starter",
    "title": "Indie Brand Starter",
    "category": "Business",
    "level": "Intermediate",
    "durationHours": 9,
    "price": 149,
    "oldPrice": null,
    "shortDescription": "From concept to compliant label and launch.",
    "description": "Plan your indie perfume label: sourcing, batching, labeling, and audience testing.",
    "tags": [
      "business",
      "labeling",
      "launch"
    ],
    "stock": 1000,
    "rating": 4.5,
    "reviews": 77,
    "formats": [
      "Video",
      "PDF"
    ],
    "sku": "DN-014",
    "language": "en",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  {
    "id": "course-15",
    "slug": "evaluating-dry-down",
    "title": "Evaluating the Dry-down",
    "category": "Evaluation",
    "level": "Intermediate",
    "durationHours": 5,
    "price": 89,
    "oldPrice": null,
    "shortDescription": "Assess long-term behavior and harmony.",
    "description": "Train to project wear curves and detect clashes late in the arc for better polish.",
    "tags": [
      "evaluation",
      "dry-down",
      "harmony"
    ],
    "stock": 1000,
    "rating": 4.6,
    "reviews": 71,
    "formats": [
      "Video"
    ],
    "sku": "DN-015",
    "language": "en",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  {
    "id": "course-16",
    "slug": "resins-and-balsams",
    "title": "Resins & Balsams",
    "category": "Materials",
    "level": "Intermediate",
    "durationHours": 6,
    "price": 109,
    "oldPrice": null,
    "shortDescription": "Warmth and cohesion through resinous bases.",
    "description": "Use resins and balsams to add depth and fixative qualities without dulling brightness.",
    "tags": [
      "resins",
      "balsams",
      "warmth"
    ],
    "stock": 1000,
    "rating": 4.6,
    "reviews": 68,
    "formats": [
      "Video",
      "PDF"
    ],
    "sku": "DN-016",
    "language": "en",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  {
    "id": "course-17",
    "slug": "cologne-reimagined",
    "title": "Cologne Reimagined",
    "category": "Olfactive Genres",
    "level": "Beginner",
    "durationHours": 4,
    "price": 59,
    "oldPrice": null,
    "shortDescription": "Fresh structures with modern hold.",
    "description": "Rebuild cologne styles with contemporary materials while keeping brightness and clarity.",
    "tags": [
      "cologne",
      "fresh",
      "citrus"
    ],
    "stock": 1000,
    "rating": 4.4,
    "reviews": 66,
    "formats": [
      "Video"
    ],
    "sku": "DN-017",
    "language": "en",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  {
    "id": "course-18",
    "slug": "animalic-nuance",
    "title": "Animalic Nuance (Modern)",
    "category": "Composition",
    "level": "Advanced",
    "durationHours": 7,
    "price": 139,
    "oldPrice": null,
    "shortDescription": "Suggestive warmth with restraint.",
    "description": "Introduce modern animalic nuance responsibly using macrocyclic musks and cleanly-cut contrasts.",
    "tags": [
      "musk",
      "animalic",
      "nuance"
    ],
    "stock": 1000,
    "rating": 4.5,
    "reviews": 59,
    "formats": [
      "Video"
    ],
    "sku": "DN-018",
    "language": "en",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  {
    "id": "course-19",
    "slug": "oriental-ambers",
    "title": "Oriental Ambers (Contemporary)",
    "category": "Olfactive Genres",
    "level": "Advanced",
    "durationHours": 8,
    "price": 139,
    "oldPrice": null,
    "shortDescription": "Resonant ambers with diffusion.",
    "description": "Design enveloping ambers that project while staying breathable and modern.",
    "tags": [
      "amber",
      "spice",
      "diffusion"
    ],
    "stock": 1000,
    "rating": 4.6,
    "reviews": 83,
    "formats": [
      "Video"
    ],
    "sku": "DN-019",
    "language": "en",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  {
    "id": "course-20",
    "slug": "signature-scent-blueprint",
    "title": "Signature Scent Blueprint",
    "category": "Foundations",
    "level": "Beginner",
    "durationHours": 6,
    "price": 89,
    "oldPrice": null,
    "shortDescription": "Design a personal signature from brief to bottle.",
    "description": "A guided, end-to-end blueprint for composing your signature fragrance with confidence.",
    "tags": [
      "signature",
      "brief",
      "iteration"
    ],
    "stock": 1000,
    "rating": 4.7,
    "reviews": 205,
    "formats": [
      "Video",
      "PDF"
    ],
    "sku": "DN-020",
    "language": "en",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  {
    "id": "course-21",
    "slug": "aromatherapy-vs-perfumery",
    "title": "Aromatherapy vs Perfumery",
    "category": "Foundations",
    "level": "Beginner",
    "durationHours": 3,
    "price": 39,
    "oldPrice": null,
    "shortDescription": "Clarify goals, safety, and expectations.",
    "description": "Understand where perfumery diverges from aromatherapy and how to choose approaches accordingly.",
    "tags": [
      "aromatherapy",
      "perfumery",
      "safety"
    ],
    "stock": 1000,
    "rating": 4.3,
    "reviews": 44,
    "formats": [
      "Video"
    ],
    "sku": "DN-021",
    "language": "en",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  {
    "id": "course-22",
    "slug": "lab-notebook-workflow",
    "title": "Lab Notebook Workflow",
    "category": "Evaluation",
    "level": "Intermediate",
    "durationHours": 4,
    "price": 59,
    "oldPrice": null,
    "shortDescription": "Document, compare, and evolve formulas effectively.",
    "description": "Adopt a pragmatic lab notebook method to shorten feedback loops and improve decisions.",
    "tags": [
      "workflow",
      "iteration",
      "notebook"
    ],
    "stock": 1000,
    "rating": 4.5,
    "reviews": 63,
    "formats": [
      "Video",
      "PDF"
    ],
    "sku": "DN-022",
    "language": "en",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  }
]