// Soul MVNT — content & data tables (verified content only) const FORMATS = [ { id: "lagree-mega-pro", name: "Lagree Mega Pro", tag: "Strengthen, sculpt, and push your limits on the Mega Pro.", desc: "High-intensity, low-impact Lagree on the Mega Pro. Builds strength, endurance and balance with controlled, slow movements — maximizing results without strain.", icon: "media/icon-lagree-mega-pro.webp", image: "media/class-action-02.webp", intensity: "High", duration: "50 min", level: "All levels", firstTimer: "Lagree first-timers — arrive 10 min early for a machine induction. Grip socks mandatory (sold on-site).", }, { id: "sculpt", name: "Sculpt", tag: "Elevate your strength, ignite your core.", desc: "High-intensity full-body — Pilates-inspired movement, resistance training and weights for lean muscle, endurance and metabolism. Grounded in breath, form and alignment.", icon: "media/icon-sculpt.webp", image: "media/class-action-01.webp", intensity: "High", duration: "45 min", level: "Intermediate +", firstTimer: "Bring water and a small towel. Mat provided.", }, { id: "pilates-burn", name: "Pilates Burn", tag: "Core strength meets mindful movement.", desc: "Full-body Mat Pilates — precise exercises and breathwork for posture, flexibility and deep, lasting strength.", icon: "media/icon-pilates-burn.webp", image: "media/studio-interior-02.webp", intensity: "Moderate", duration: "50 min", level: "All levels", firstTimer: "Wear fitted athletic wear so the instructor can correct form. Socks recommended.", }, { id: "yoga", name: "Yoga", tag: "Flow with strength, breathe with purpose.", desc: "Dynamic movement and breath for flexibility, focus and balance. Leave grounded, refreshed and re-energized.", icon: "media/icon-yoga.webp", image: "media/studio-brand-02.webp", intensity: "Low — Moderate", duration: "60 min", level: "All levels", firstTimer: "Bare feet welcome. Mats and props provided.", }, { id: "korean-recovery", name: "Korean Recovery", tag: "Recover with intention, release with ease.", desc: "Restorative practice rooted in Korean healing traditions, using the RecoveRing to stimulate circulation, ease tension and support recovery between intense sessions.", icon: "media/icon-korean-recovery.webp", image: "media/studio-brand-03.webp", intensity: "Restorative", duration: "55 min", level: "All levels", firstTimer: "Best paired the day after a Lagree or Sculpt class. Comfortable layers recommended.", }, { id: "sound-healing", name: "Sound Healing", tag: "Stillness, frequency, return to self.", desc: "A meditative journey through tuned frequencies and breath — designed to soften the nervous system and close the week with intention. (Class copy with client to confirm.)", icon: null, image: "media/studio-brand-01.webp", intensity: "Restorative", duration: "60 min", level: "All levels", firstTimer: "Arrive 10 min early. Eye masks and bolsters provided.", placeholder: true, }, ]; const TRAINERS_FEATURED = [ { name: "Paloma Nassar", role: "Co-Founder", photo: "media/founder-paloma-nassar.webp", specialty: "Lagree · Yoga", bio: "Certified Lagree & Yoga instructor with a background in management consulting. Co-founded Soul MVNT to bring an intentional, design-led wellness practice to Dubai.", }, { name: "Sirine Bekdache", role: "Co-Founder", photo: "media/founder-sirine-bekdache.webp", specialty: "Lagree", bio: "Certified Lagree instructor. Background in luxury fashion. Brings a precise, community-first energy to every class on the Mega Pro.", }, ]; const TEAM = [ { name: "Hanya", specialty: "Lagree · Sculpt", photo: "media/instructor-hanya.webp" }, { name: "Lisa", specialty: "Pilates · Yoga", photo: "media/instructor-lisa.webp" }, { name: "Sophie", specialty: "Lagree" }, { name: "Yana", specialty: "Sculpt" }, { name: "Roxana", specialty: "Pilates Burn" }, { name: "Lynn", specialty: "Yoga" }, { name: "Magda", specialty: "Lagree" }, { name: "Ray", specialty: "Sculpt" }, { name: "Olivia", specialty: "Pilates" }, { name: "Scarlett", specialty: "Yoga" }, { name: "Gutjera", specialty: "Korean Recovery" }, { name: "Nathalie", specialty: "Sound Healing" }, ]; // Hand-curated representative timetable — placeholder grid pending client data const SCHEDULE = { Mon: [ { time: "07:00", dur: "50", format: "Lagree Mega Pro", trainer: "Paloma", spots: 2, total: 12 }, { time: "08:30", dur: "45", format: "Sculpt", trainer: "Yana", spots: 6, total: 12 }, { time: "10:00", dur: "50", format: "Pilates Burn", trainer: "Lisa", spots: 4, total: 14 }, { time: "12:00", dur: "50", format: "Lagree Mega Pro", trainer: "Hanya", spots: 0, total: 12 }, { time: "18:00", dur: "60", format: "Yoga", trainer: "Lynn", spots: 8, total: 16 }, { time: "19:30", dur: "50", format: "Lagree Mega Pro", trainer: "Sirine", spots: 1, total: 12 }, ], Tue: [ { time: "06:30", dur: "50", format: "Lagree Mega Pro", trainer: "Sirine", spots: 3, total: 12 }, { time: "09:00", dur: "55", format: "Korean Recovery", trainer: "Gutjera", spots: 5, total: 10 }, { time: "11:00", dur: "45", format: "Sculpt", trainer: "Ray", spots: 7, total: 12 }, { time: "17:30", dur: "50", format: "Pilates Burn", trainer: "Olivia", spots: 4, total: 14 }, { time: "19:00", dur: "50", format: "Lagree Mega Pro", trainer: "Paloma", spots: 2, total: 12 }, ], Wed: [ { time: "07:00", dur: "50", format: "Lagree Mega Pro", trainer: "Hanya", spots: 0, total: 12 }, { time: "08:30", dur: "60", format: "Yoga", trainer: "Lynn", spots: 9, total: 16 }, { time: "10:00", dur: "45", format: "Sculpt", trainer: "Yana", spots: 5, total: 12 }, { time: "12:30", dur: "55", format: "Korean Recovery", trainer: "Gutjera", spots: 3, total: 10 }, { time: "18:00", dur: "50", format: "Lagree Mega Pro", trainer: "Sirine", spots: 1, total: 12 }, { time: "19:30", dur: "50", format: "Pilates Burn", trainer: "Roxana", spots: 6, total: 14 }, ], Thu: [ { time: "06:30", dur: "50", format: "Lagree Mega Pro", trainer: "Magda", spots: 2, total: 12 }, { time: "09:00", dur: "45", format: "Sculpt", trainer: "Ray", spots: 4, total: 12 }, { time: "11:00", dur: "50", format: "Pilates Burn", trainer: "Lisa", spots: 6, total: 14 }, { time: "17:00", dur: "60", format: "Yoga", trainer: "Scarlett", spots: 10, total: 16 }, { time: "19:00", dur: "50", format: "Lagree Mega Pro", trainer: "Paloma", spots: 0, total: 12 }, ], Fri: [ { time: "08:00", dur: "50", format: "Lagree Mega Pro", trainer: "Sirine", spots: 1, total: 12 }, { time: "09:30", dur: "45", format: "Sculpt", trainer: "Yana", spots: 3, total: 12 }, { time: "11:00", dur: "60", format: "Sound Healing", trainer: "Nathalie", spots: 5, total: 14 }, { time: "17:00", dur: "55", format: "Korean Recovery", trainer: "Gutjera", spots: 4, total: 10 }, ], Sat: [ { time: "08:30", dur: "50", format: "Lagree Mega Pro", trainer: "Paloma", spots: 3, total: 12 }, { time: "10:00", dur: "60", format: "Yoga", trainer: "Lynn", spots: 6, total: 16 }, { time: "11:30", dur: "45", format: "Sculpt", trainer: "Ray", spots: 4, total: 12 }, { time: "13:00", dur: "50", format: "Pilates Burn", trainer: "Olivia", spots: 7, total: 14 }, ], Sun: [ { time: "09:00", dur: "60", format: "Yoga", trainer: "Scarlett", spots: 9, total: 16 }, { time: "10:30", dur: "50", format: "Lagree Mega Pro", trainer: "Hanya", spots: 2, total: 12 }, { time: "12:00", dur: "55", format: "Korean Recovery", trainer: "Gutjera", spots: 6, total: 10 }, { time: "17:00", dur: "60", format: "Sound Healing", trainer: "Nathalie", spots: 8, total: 14 }, ], }; const PRODUCTS = [ { id: "hoodie", name: "Lagree UAE Signature Hoodie", type: "Outerwear", price: 450, img: "media/product-hoodie-white-01.webp", pill: "Lagree UAE 2026" }, { id: "tee", name: "Lagree UAE Signature Tee", type: "Tops", price: 200, img: "media/product-lagree-uae-signature-tee-white.webp" }, { id: "cap", name: "Lagree UAE Sun Cap", type: "Accessories", price: 145, img: "media/product-lagree-uae-sun-cap-black.webp" }, { id: "tote", name: "Soul MVNT Signature Tote", type: "Accessories", price: 175, img: "media/product-soul-mvnt-signature-tote.webp", pill: "New" }, { id: "socks", name: "Signature Crew Socks", type: "Socks", price: 75, img: "media/product-signature-crew-socks-beige.webp" }, { id: "hoodie2", name: "Lagree UAE Signature Hoodie — Detail", type: "Outerwear", price: 450, img: "media/product-hoodie-white-02.webp" }, ]; const SHOP_FILTERS = ["All", "Tops", "Outerwear", "Accessories", "Socks"]; const FAQS = [ { q: "What should I know before my first class?", a: "Arrive at least 10 minutes early. Lagree first-timers must arrive 10 minutes early for a machine induction. We operate a 10-minute grace period — later arrivals can't be admitted. Wear comfortable athletic wear; grip socks are mandatory for Lagree (and sold on-site).", }, { q: "How do I book a class?", a: "All class booking happens in the Soul MVNT app (iOS & Google Play) — including the Starter Pack, single sessions, multi-class packs and memberships. Pricing is managed in the app; we're not publishing fixed numbers on the public site.", }, { q: "What's the cancellation policy?", a: "Cancel at least 12 hours before the class start time — otherwise the credit is lost. This keeps it fair for everyone trying to grab a spot in popular slots.", }, { q: "Where do I park?", a: "Three options. (1) The basement car park, entrance across from Joe & The Juice — WhatsApp the team for the access code. (2) d3 public parking, ~3 minutes on foot. (3) Valet around the corner, special rates Mon–Thu 09:30–15:30.", }, { q: "Is there an age requirement?", a: "18+ as standard. We welcome 16–18 year-olds with signed parent or guardian consent — no exceptions.", }, { q: "Can I train if I'm pregnant or recovering from injury?", a: "Yes, with prior activity and your doctor's clearance and note — and please inform the instructor before class. If you're new to Lagree, we'll start you on a mat-based format. Recent or significant injury may require a separate doctor's note.", }, { q: "Do you offer private or corporate sessions?", a: "Yes — private sessions, private group classes and corporate wellness sessions are all available. Reach out to connect@soulmvnt.com and we'll tailor a programme.", }, ]; const COMMUNITY_TILES = [ "media/studio-brand-01.webp", "media/class-action-01.webp", "media/studio-interior-02.webp", "media/class-action-02.webp", "media/studio-brand-03.webp", "media/studio-interior-01.webp", ]; Object.assign(window, { FORMATS, TRAINERS_FEATURED, TEAM, SCHEDULE, PRODUCTS, SHOP_FILTERS, FAQS, COMMUNITY_TILES, });