[
  {
    "id": "ec-001",
    "slug": "core-stitches-foundation",
    "title": "Core Stitches Foundation",
    "level": "Beginner",
    "price": 39,
    "oldPrice": 59,
    "durationHours": 6,
    "lessons": 12,
    "rating": 4.8,
    "tags": ["basics", "stitches", "sampler"],
    "shortDescription": "Start with essentials: running, backstitch, split, and satin control.",
    "description": "A practical path to build control and consistency. Includes paced drills, rhythm checkpoints, and finishing methods.",
    "instructor": "Avery",
    "language": "English",
    "availability": "available",
    "bestseller": true,
    "updatedAt": "2026-01-15T00:00:00.000Z"
  },
  {
    "id": "ec-002",
    "slug": "texture-techniques",
    "title": "Texture Techniques",
    "level": "Intermediate",
    "price": 49,
    "durationHours": 7,
    "lessons": 10,
    "rating": 4.7,
    "tags": ["texture", "french-knot", "seed-stitch"],
    "shortDescription": "Create tactile surfaces with controlled density.",
    "description": "Master density, spacing, and variation for rich, readable textures without clutter.",
    "instructor": "Remi",
    "language": "English",
    "availability": "available",
    "bestseller": false,
    "updatedAt": "2026-01-18T00:00:00.000Z"
  },
  {
    "id": "ec-003",
    "slug": "modern-linework",
    "title": "Modern Linework",
    "level": "Intermediate",
    "price": 45,
    "durationHours": 6,
    "lessons": 9,
    "rating": 4.6,
    "tags": ["linework", "minimal", "contour"],
    "shortDescription": "Clean contours and negative space planning.",
    "description": "Learn tempo, anchors, and minimal motifs that read well at a glance.",
    "instructor": "Sky",
    "language": "English",
    "availability": "available",
    "bestseller": true,
    "updatedAt": "2026-02-02T00:00:00.000Z"
  },
  {
    "id": "ec-004",
    "slug": "floral-embroidery",
    "title": "Floral Embroidery Essentials",
    "level": "Beginner",
    "price": 42,
    "durationHours": 5,
    "lessons": 8,
    "rating": 4.5,
    "tags": ["floral", "petals", "leaves"],
    "shortDescription": "Petals, leaves, and composition for readable florals.",
    "description": "Build a floral sampler and learn composition without visual noise.",
    "instructor": "Avery",
    "language": "English",
    "availability": "available",
    "bestseller": false,
    "updatedAt": "2026-01-20T00:00:00.000Z"
  },
  {
    "id": "ec-005",
    "slug": "sashiko-basics",
    "title": "Sashiko Basics",
    "level": "Beginner",
    "price": 35,
    "durationHours": 4,
    "lessons": 7,
    "rating": 4.6,
    "tags": ["sashiko", "geometric", "running-stitch"],
    "shortDescription": "Rhythmic running stitches and geometric grids.",
    "description": "Learn grid drafting and consistent spacing for balanced patterns.",
    "instructor": "Remi",
    "language": "English",
    "availability": "available",
    "bestseller": false,
    "updatedAt": "2026-01-22T00:00:00.000Z"
  },
  {
    "id": "ec-006",
    "slug": "monograms-classic",
    "title": "Monograms: Classic Letters",
    "level": "Intermediate",
    "price": 48,
    "durationHours": 6,
    "lessons": 9,
    "rating": 4.7,
    "tags": ["monogram", "letters", "satin"],
    "shortDescription": "Precision satin stitch and letter shaping.",
    "description": "Refine curves, contrast, and fills for timeless monograms.",
    "instructor": "Sky",
    "language": "English",
    "availability": "available",
    "bestseller": false,
    "updatedAt": "2026-01-28T00:00:00.000Z"
  },
  {
    "id": "ec-007",
    "slug": "animals-silhouette",
    "title": "Animal Silhouettes",
    "level": "Beginner",
    "price": 29,
    "durationHours": 3,
    "lessons": 6,
    "rating": 4.4,
    "tags": ["animals", "silhouette", "outline"],
    "shortDescription": "Minimal outlines with readable forms.",
    "description": "Focus on gesture, proportion, and clean edges.",
    "instructor": "Avery",
    "language": "English",
    "availability": "available",
    "bestseller": false,
    "updatedAt": "2026-01-25T00:00:00.000Z"
  },
  {
    "id": "ec-008",
    "slug": "goldwork-intro",
    "title": "Goldwork Introduction",
    "level": "Advanced",
    "price": 79,
    "durationHours": 8,
    "lessons": 12,
    "rating": 4.9,
    "tags": ["advanced", "goldwork", "couching"],
    "shortDescription": "Metal threads, couching, and control.",
    "description": "Plan routes, manage turns, and maintain even reflection.",
    "instructor": "Remi",
    "language": "English",
    "availability": "available",
    "bestseller": true,
    "updatedAt": "2026-02-03T00:00:00.000Z"
  },
  {
    "id": "ec-009",
    "slug": "whitework-clarity",
    "title": "Whitework Clarity",
    "level": "Advanced",
    "price": 69,
    "durationHours": 7,
    "lessons": 10,
    "rating": 4.7,
    "tags": ["whitework", "texture", "tone"],
    "shortDescription": "Tone-on-tone control for subtle results.",
    "description": "Achieve readable contrast and crisp finishes in white-on-white pieces.",
    "instructor": "Sky",
    "language": "English",
    "availability": "available",
    "bestseller": false,
    "updatedAt": "2026-02-01T00:00:00.000Z"
  },
  {
    "id": "ec-010",
    "slug": "pattern-design",
    "title": "Pattern Design Basics",
    "level": "Intermediate",
    "price": 44,
    "durationHours": 5,
    "lessons": 8,
    "rating": 4.5,
    "tags": ["design", "pattern", "drafting"],
    "shortDescription": "Draft clean, repeatable motifs.",
    "description": "Use grids and symmetry for consistent repeats and balanced spacing.",
    "instructor": "Avery",
    "language": "English",
    "availability": "available",
    "bestseller": false,
    "updatedAt": "2026-01-26T00:00:00.000Z"
  },
  {
    "id": "ec-011",
    "slug": "applique-neat-edges",
    "title": "Appliqué: Neat Edges",
    "level": "Intermediate",
    "price": 39,
    "durationHours": 4,
    "lessons": 7,
    "rating": 4.5,
    "tags": ["applique", "edges", "finish"],
    "shortDescription": "Crisp turns and secure finishes.",
    "description": "Plan turns and anchor points for durable appliqué.",
    "instructor": "Remi",
    "language": "English",
    "availability": "available",
    "bestseller": false,
    "updatedAt": "2026-01-30T00:00:00.000Z"
  },
  {
    "id": "ec-012",
    "slug": "beads-basics",
    "title": "Beads & Embroidery Basics",
    "level": "Beginner",
    "price": 33,
    "durationHours": 3,
    "lessons": 6,
    "rating": 4.3,
    "tags": ["beads", "embellishment"],
    "shortDescription": "Secure beads cleanly and evenly.",
    "description": "Techniques for stability, spacing, and subtle shine.",
    "instructor": "Sky",
    "language": "English",
    "availability": "available",
    "bestseller": false,
    "updatedAt": "2026-01-29T00:00:00.000Z"
  },
  {
    "id": "ec-013",
    "slug": "shading-satin",
    "title": "Satin Shading Control",
    "level": "Advanced",
    "price": 59,
    "durationHours": 6,
    "lessons": 9,
    "rating": 4.8,
    "tags": ["satin", "shading", "blend"],
    "shortDescription": "Gradients and clean edges.",
    "description": "Map tonal steps and maintain edge clarity while blending.",
    "instructor": "Avery",
    "language": "English",
    "availability": "available",
    "bestseller": true,
    "updatedAt": "2026-02-05T00:00:00.000Z"
  },
  {
    "id": "ec-014",
    "slug": "hoop-tension",
    "title": "Hoop Tension & Setup",
    "level": "Beginner",
    "price": 19,
    "durationHours": 2,
    "lessons": 4,
    "rating": 4.2,
    "tags": ["setup", "tension"],
    "shortDescription": "Consistent tension for clean results.",
    "description": "Prepare fabric and maintain tension to prevent distortion.",
    "instructor": "Remi",
    "language": "English",
    "availability": "available",
    "bestseller": false,
    "updatedAt": "2026-01-21T00:00:00.000Z"
  },
  {
    "id": "ec-015",
    "slug": "edges-and-borders",
    "title": "Edges and Borders",
    "level": "Intermediate",
    "price": 36,
    "durationHours": 4,
    "lessons": 6,
    "rating": 4.4,
    "tags": ["borders", "finishing"],
    "shortDescription": "Borders that frame without overpowering.",
    "description": "Plan scale, rhythm, and spacing for balanced edges.",
    "instructor": "Sky",
    "language": "English",
    "availability": "available",
    "bestseller": false,
    "updatedAt": "2026-02-04T00:00:00.000Z"
  },
  {
    "id": "ec-016",
    "slug": "negative-space",
    "title": "Negative Space Mastery",
    "level": "Advanced",
    "price": 62,
    "durationHours": 6,
    "lessons": 8,
    "rating": 4.7,
    "tags": ["composition", "minimal"],
    "shortDescription": "Let space do the work.",
    "description": "Balance filled and unfilled areas for striking clarity.",
    "instructor": "Avery",
    "language": "English",
    "availability": "coming_soon",
    "bestseller": false,
    "updatedAt": "2026-02-10T00:00:00.000Z"
  },
  {
    "id": "ec-017",
    "slug": "color-theory-thread",
    "title": "Thread Color Theory",
    "level": "Intermediate",
    "price": 41,
    "durationHours": 5,
    "lessons": 7,
    "rating": 4.6,
    "tags": ["color", "harmony", "contrast"],
    "shortDescription": "Reliable palettes and contrast planning.",
    "description": "Use value and saturation for readable motifs.",
    "instructor": "Remi",
    "language": "English",
    "availability": "available",
    "bestseller": false,
    "updatedAt": "2026-02-08T00:00:00.000Z"
  },
  {
    "id": "ec-018",
    "slug": "repair-and-mending",
    "title": "Repair & Mending",
    "level": "Beginner",
    "price": 27,
    "durationHours": 3,
    "lessons": 5,
    "rating": 4.3,
    "tags": ["mending", "visible-mending"],
    "shortDescription": "Practical fixes and visible mending aesthetics.",
    "description": "Reinforce seams, patch artfully, and extend garment life.",
    "instructor": "Sky",
    "language": "English",
    "availability": "available",
    "bestseller": false,
    "updatedAt": "2026-02-06T00:00:00.000Z"
  },
  {
    "id": "ec-019",
    "slug": "letters-modern",
    "title": "Modern Lettering",
    "level": "Intermediate",
    "price": 39,
    "durationHours": 4,
    "lessons": 6,
    "rating": 4.5,
    "tags": ["letters", "modern", "linework"],
    "shortDescription": "Expressive letters with clean rhythm.",
    "description": "Combine contour, spacing, and dynamic accents.",
    "instructor": "Avery",
    "language": "English",
    "availability": "available",
    "bestseller": false,
    "updatedAt": "2026-02-07T00:00:00.000Z"
  },
  {
    "id": "ec-020",
    "slug": "finishing-techniques",
    "title": "Finishing Techniques",
    "level": "Beginner",
    "price": 31,
    "durationHours": 3,
    "lessons": 5,
    "rating": 4.4,
    "tags": ["finishing", "mounting"],
    "shortDescription": "Clean edges and confident presentation.",
    "description": "Mount, back, and protect pieces for longevity.",
    "instructor": "Remi",
    "language": "English",
    "availability": "available",
    "bestseller": false,
    "updatedAt": "2026-02-09T00:00:00.000Z"
  },
  {
    "id": "ec-021",
    "slug": "sampler-design",
    "title": "Sampler Design Workshop",
    "level": "Intermediate",
    "price": 46,
    "durationHours": 5,
    "lessons": 8,
    "rating": 4.6,
    "tags": ["sampler", "layout"],
    "shortDescription": "Design meaningful samplers with intention.",
    "description": "Select, scale, and sequence stitches for learning impact.",
    "instructor": "Sky",
    "language": "English",
    "availability": "available",
    "bestseller": false,
    "updatedAt": "2026-02-11T00:00:00.000Z"
  }
]