{"id":2896,"date":"2026-08-20T17:14:39","date_gmt":"2026-08-20T15:14:39","guid":{"rendered":"https:\/\/joia-studio.com\/?page_id=2896"},"modified":"2026-09-01T02:25:12","modified_gmt":"2026-09-01T00:25:12","slug":"packs-memberships","status":"publish","type":"page","link":"https:\/\/joia-studio.com\/fr\/packs-memberships\/","title":{"rendered":"Packs &amp; Memberships"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"2896\" class=\"elementor elementor-2896\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2f73fb7 e-flex e-con-boxed e-con e-parent\" data-id=\"2f73fb7\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-480e10f elementor-widget elementor-widget-html\" data-id=\"480e10f\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"joia-pkg-wrap\" id=\"joiaPkg\">\n<style>\n#joiaPkg{--olive:#343413;--cream:#F8F5EE;--wine:#4B1A24;--wine-light:#6B2732;--text:#33331F;--border:#E1D9C8;font-family:Helvetica,Arial,sans-serif;color:var(--text);max-width:1140px;margin:0 auto;padding:10px 20px 60px;box-sizing:border-box;}#joiaPkg *{box-sizing:border-box;}#joiaPkg .jp-block-title{font-size:30px;text-align:center;color:var(--olive);margin:10px 0 10px;font-weight:700;letter-spacing:.5px;}#joiaPkg .jp-block2-title{margin-top:64px;}#joiaPkg .jp-block-intro{max-width:640px;margin:0 auto 30px;text-align:center;font-size:14.5px;line-height:1.6;color:#5a563f;}#joiaPkg .jp-tabs-main{display:flex;justify-content:center;gap:14px;margin-bottom:22px;flex-wrap:wrap;}#joiaPkg .jp-tab{font-size:15px;letter-spacing:.5px;text-transform:uppercase;padding:13px 34px;border-radius:999px;border:1.5px solid var(--olive);background:#fff;color:var(--olive);cursor:pointer;font-weight:600;transition:all .2s ease;}#joiaPkg .jp-tab.active{background:var(--wine);border-color:var(--wine);color:#fff;}#joiaPkg .jp-sub{display:flex;justify-content:center;gap:10px;margin-bottom:12px;flex-wrap:wrap;}#joiaPkg .jp-pill{font-size:13.5px;letter-spacing:.3px;padding:9px 20px;border-radius:999px;border:1.5px solid var(--border);background:#fff;color:var(--text);cursor:pointer;transition:all .2s ease;}#joiaPkg .jp-pill.active{background:var(--olive);border-color:var(--olive);color:#fff;}#joiaPkg .jp-subtle-row{display:flex;justify-content:center;gap:22px;margin:2px 0 18px;flex-wrap:wrap;}#joiaPkg .jp-subtle{font-size:13px;letter-spacing:.2px;padding:4px 2px 6px;background:none;border:none;border-bottom:2px solid transparent;color:#9a9174;cursor:pointer;transition:all .2s ease;font-family:inherit;}#joiaPkg .jp-subtle.active{color:var(--wine);border-bottom-color:var(--wine);font-weight:600;}#joiaPkg .jp-subtle:hover{color:var(--olive);}#joiaPkg .jp-note{text-align:center;font-size:12.5px;color:#8a8368;margin:6px 0 28px;font-style:italic;}#joiaPkg .jp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;}#joiaPkg .jp-card{border:1px solid var(--border);border-radius:0;padding:26px 24px;background:#fff;display:flex;flex-direction:column;gap:4px;}#joiaPkg .jp-card h3{margin:0 0 2px;font-size:19px;color:var(--olive);font-weight:700;}#joiaPkg .jp-card .jp-meta{font-size:13px;letter-spacing:.2px;color:var(--wine);font-weight:600;text-transform:uppercase;}#joiaPkg .jp-card .jp-price{font-size:26px;font-weight:700;color:var(--text);margin:6px 0 0;}#joiaPkg .jp-card .jp-price-unit{font-size:12.5px;color:#8a8368;margin-bottom:6px;}#joiaPkg .jp-card .jp-desc{font-size:13.5px;line-height:1.5;color:#555;flex-grow:1;margin-top:4px;}#joiaPkg .jp-card .jp-cta{margin-top:10px;padding:11px 0;border-radius:999px;background:var(--olive);color:#fff;border:none;font-size:13px;text-transform:uppercase;letter-spacing:.6px;cursor:pointer;font-weight:600;}#joiaPkg .jp-card .jp-cta:hover{background:var(--wine);}#joiaPkg .jp-cta-hero{display:inline-block;padding:18px 56px;border-radius:999px;background:var(--olive);color:#fff;text-decoration:none;font-size:15px;text-transform:uppercase;letter-spacing:.8px;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.15);transition:background .2s ease,transform .2s ease;}#joiaPkg .jp-cta-hero:hover{background:var(--wine);transform:translateY(-2px);}#joiaPkg .jp-empty{grid-column:1\/-1;text-align:center;color:#999;padding:40px 0;font-size:14px;}#joiaPkg .jp-placeholder-flag{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:#a89a6e;border:1px solid #e4dcc4;border-radius:0;padding:2px 7px;margin:6px 0 0;align-self:flex-start;}@media(max-width:600px){#joiaPkg .jp-tab{padding:11px 22px;font-size:13px;}}#joiaPkg .jp-offer-box{margin-top:56px;padding:22px 26px;text-align:center;font-size:14px;line-height:1.7;color:var(--text);background:#fff;}#joiaPkg .jp-offer-box a{color:var(--wine);font-weight:600;text-decoration:underline;}\n#joiaPkg .jp-cta-row{display:flex;gap:10px;margin-top:10px;}\n#joiaPkg .jp-cta-row .jp-cta{margin-top:0;flex:1;}\n#joiaPkg .jp-cta-outline{background:transparent;color:var(--olive);border:1.5px solid var(--olive);}\n#joiaPkg .jp-cta-outline:hover{background:var(--olive);color:#fff;}\n#joiaPkg .jp-modal-overlay{display:none;position:fixed;inset:0;background:rgba(51,51,31,.55);z-index:9999;align-items:center;justify-content:center;padding:20px;}\n#joiaPkg .jp-modal-overlay.active{display:flex;}\n#joiaPkg .jp-modal{background:var(--cream);border-radius:0;max-width:440px;width:100%;padding:32px 30px;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.25);}\n#joiaPkg .jp-modal h3{margin:0 0 12px;font-size:22px;color:var(--olive);font-weight:700;padding-right:20px;}\n#joiaPkg .jp-modal-lead{margin:0 0 10px;font-size:14px;color:var(--text);font-weight:600;}\n#joiaPkg .jp-modal-list{margin:0;padding-left:20px;}\n#joiaPkg .jp-modal-list li{font-size:13.5px;line-height:1.7;color:#5a563f;margin-bottom:4px;}\n#joiaPkg .jp-modal-close{position:absolute;top:18px;right:18px;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--border);background:#fff;color:var(--olive);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;}\n#joiaPkg .jp-modal-close:hover{background:var(--olive);color:#fff;border-color:var(--olive);}\n\n#joiaPkg .jp-promo{background:var(--olive);color:#fff;border-radius:12px;padding:32px 28px;margin:40px auto 0;max-width:1140px;text-align:center;}\n#joiaPkg .jp-promo h3{margin:0 0 14px;font-size:22px;font-weight:700;letter-spacing:.3px;color:#fff;}\n#joiaPkg .jp-promo-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin-bottom:14px;}\n#joiaPkg .jp-promo-item{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:16px 22px;max-width:320px;text-align:left;}\n#joiaPkg .jp-promo-item strong{display:block;font-size:15px;margin-bottom:4px;}\n#joiaPkg .jp-promo-item span{font-size:13px;opacity:.85;line-height:1.5;}\n#joiaPkg .jp-included{margin:24px auto 64px;max-width:1140px;}\n#joiaPkg .jp-included h3{text-align:center;font-size:22px;color:var(--olive);margin:0 0 22px;font-weight:700;}\n#joiaPkg .jp-included-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}\n#joiaPkg .jp-included-item{background:#fff;border:1px solid var(--border);border-radius:10px;padding:18px 20px;font-size:13.5px;line-height:1.5;color:#444;}\n#joiaPkg .jp-included-item strong{display:block;color:var(--olive);font-size:14px;margin-bottom:4px;}\n#joiaPkg .jp-policy{margin:56px auto 0;max-width:1140px;background:var(--cream);border-radius:12px;padding:32px 28px;}\n#joiaPkg .jp-policy h3{text-align:center;font-size:22px;color:var(--olive);margin:0 0 22px;font-weight:700;}\n#joiaPkg .jp-policy-table{width:100%;border-collapse:collapse;font-size:13px;}\n#joiaPkg .jp-policy-table th,#joiaPkg .jp-policy-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);}\n#joiaPkg .jp-policy-table th{color:var(--olive);font-weight:600;text-transform:uppercase;font-size:11.5px;letter-spacing:.4px;}\n#joiaPkg .jp-policy-note{font-size:12.5px;color:#5a563f;margin-top:16px;line-height:1.6;}\n\n.jp-card-promo{overflow:visible;}\n.jp-spark{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;overflow:visible;}\n.jp-spark{filter:blur(1.5px);}\n.jp-card-promo{position:relative;background:#fff;box-shadow:0 8px 24px rgba(30,30,15,.14);transform:translateY(-2px);}\n.jp-spark rect{fill:none;stroke:#D9AE4E;stroke-width:1;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px rgba(217,174,78,.6)) drop-shadow(0 0 6px rgba(217,174,78,.35));}\n.jp-promo-badge{display:inline-block;background:transparent;color:var(--olive,#343413);font-size:9.5px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;padding:3px 10px;border:1px solid rgba(52,52,19,.35);border-radius:999px;margin-bottom:14px;}\n.jp-promo-note{color:var(--wine,#4B1A24);font-size:12px;font-weight:600;letter-spacing:.2px;margin:6px 0 0;text-align:left;}\n\n.jp-grid-break{grid-column:1\/-1;height:0;margin:0;padding:0;}\n\n\n.jp-launch-section{background:#fff;padding:48px 24px 56px;margin:0 auto 56px;max-width:1180px;}\n.jp-launch-section .jp-block-title{margin-top:0;}\n<\/style>\n<div class=\"jp-launch-section\"><h2 class=\"jp-block-title jp-launch-title\">Membership Launch Offer<\/h2><p class=\"jp-block-intro\">Commit to your practice with a monthly membership and enjoy access to classes at all three JOIA studios. Discover our exclusive membership launch offer and all our rates on our dedicated Membership page.<\/p><div style=\"text-align:center;margin-top:20px;\"><a href=\"https:\/\/joia-studio.com\/fr\/membership\/\" class=\"jp-cta-hero\">View Memberships<\/a><\/div><\/div>\n<h2 class=\"jp-block-title\">Packs<\/h2><p class=\"jp-block-intro\">Single sessions, class cards and private sessions to fit your rhythm. Choose your format below and build your own path to the Reformer. Valid at all three JOIA studios \u2014 Bern, Lausanne and Neuch\u00e2tel.<\/p><div class=\"jp-tabs-main\" data-group=\"packsLoc\"><button class=\"jp-btn jp-tab active\" data-loc=\"bern\">Bern<\/button><button class=\"jp-btn jp-tab\" data-loc=\"lausanne\">Lausanne<\/button><button class=\"jp-btn jp-tab\" data-loc=\"neuchatel\">Neuch\u00e2tel<\/button><\/div><div class=\"jp-sub\" data-group=\"packsSub\"><button class=\"jp-btn jp-pill active\" data-sub=\"collectif\">Group Classes<\/button><button class=\"jp-btn jp-pill\" data-sub=\"prive\">Private Session<\/button><\/div><div class=\"jp-subtle-row\" data-group=\"collectifType\"><button class=\"jp-btn jp-subtle active\" data-type=\"reformer\">Pilates Reformer<\/button><button class=\"jp-btn jp-subtle\" data-type=\"mat\">Outdoor Pilates<\/button><\/div><div class=\"jp-subtle-row\" data-group=\"priveType\" style=\"display:none\"><button class=\"jp-btn jp-subtle active\" data-type=\"individuel\">Individual<\/button><button class=\"jp-btn jp-subtle\" data-type=\"duo\">Duo<\/button><button class=\"jp-btn jp-subtle\" data-type=\"groupe\">Private Group Session<\/button><\/div><div class=\"jp-grid\" id=\"jpGrid\"><\/div><div class=\"jp-hidden-draft\" style=\"display:none\"><h2 class=\"jp-block-title jp-block2-title\">Memberships<\/h2><p class=\"jp-block-intro\">Commit to your practice with a monthly membership. Select your studio and commitment length to see your rate. Your membership gives you access to classes at all three JOIA studios.<\/p><div class=\"jp-tabs-main\" data-group=\"locTabs\"><button class=\"jp-btn jp-tab active\" data-loc=\"bern\">Bern<\/button><button class=\"jp-btn jp-tab\" data-loc=\"lausanne\">Lausanne<\/button><button class=\"jp-btn jp-tab\" data-loc=\"neuchatel\">Neuch\u00e2tel<\/button><\/div><div class=\"jp-sub\" data-group=\"aboSub\"><button class=\"jp-btn jp-pill active\" data-abo=\"3mois\">3-Month Commitment<\/button><button class=\"jp-btn jp-pill\" data-abo=\"12mois\">12-Month Commitment<\/button><\/div><div class=\"jp-grid\" id=\"jpGridAbo\"><\/div>\n\n\n<div class=\"jp-offer-box\">\n<p>All students and JOIA partners benefit from a special offer on our class packs and memberships.<br>Pour b\u00e9n\u00e9ficier de cette offre, merci de nous <a href=\"https:\/\/joia-studio.com\/fr\/contact\/\" class=\"jp-offer-link\">nous contacter<\/a> par email et joindre un justificatif d'identit\u00e9 valide.<\/p>\n<\/div>\n<div class=\"jp-modal-overlay\" id=\"jpModalOverlay\">\n<div class=\"jp-modal\">\n<button type=\"button\" class=\"jp-modal-close\" id=\"jpModalClose\" aria-label=\"Close\">&times;<\/button>\n<h3 id=\"jpModalTitle\"><\/h3>\n<p class=\"jp-modal-lead\">As a member, you get:<\/p>\n<ul id=\"jpModalList\" class=\"jp-modal-list\"><\/ul>\n<\/div>\n<\/div>\n<\/div><\/div>\n<script>\n(function(){\nvar state = {sub:'collectif', type:'reformer', loc:'bern'};\nvar stateAbo = {loc:'bern', abo:'3mois'};\nvar stateLaunch = {loc:'bern', abo:'3mois'};\nvar data = [{\"sub\":\"collectif\",\"type\":\"reformer\",\"title\":\"Welcome Class\",\"meta\":\"2 credits \u00b7 1 month\",\"price\":\"CHF 60\",\"unit\":\"\",\"desc\":\"Trial class, ideal for discovering the studio and the Reformer.\",\"loc\":\"bern\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/pass\/773466\/?membership=1954&force=true\"},{\"sub\":\"collectif\",\"type\":\"reformer\",\"title\":\"Drop-in\",\"meta\":\"1 credit \u00b7 1 month\",\"price\":\"CHF 46\",\"unit\":\"\",\"desc\":\"A single session, no commitment.\",\"loc\":\"bern\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/pass\/773468\/?membership=1954&force=true\"},{\"sub\":\"collectif\",\"type\":\"reformer\",\"title\":\"5-Class Card\",\"meta\":\"5 credits \u00b7 2 months\",\"price\":\"CHF 220\",\"unit\":\"CHF 44.00 \/ session\",\"desc\":\"Five sessions to use at your own pace.\",\"loc\":\"bern\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/pass\/773470\/?membership=1954&force=true\"},{\"sub\":\"collectif\",\"type\":\"reformer\",\"title\":\"10-Class Card\",\"meta\":\"10 credits \u00b7 4 months\",\"price\":\"CHF 415\",\"unit\":\"CHF 41.50 \/ session\",\"desc\":\"Ten sessions, our most popular option.\",\"loc\":\"bern\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/pass\/773472\/?membership=1954&force=true\"},{\"sub\":\"collectif\",\"type\":\"reformer\",\"title\":\"20-Class Card\",\"meta\":\"20 credits \u00b7 6 months\",\"price\":\"CHF 790\",\"unit\":\"CHF 39.50 \/ session\",\"desc\":\"Twenty sessions for a regular practice.\",\"loc\":\"bern\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/pass\/773476\/?membership=1954&force=true\"},{\"sub\":\"prive\",\"type\":\"individuel\",\"title\":\"Single Session\",\"meta\":\"1 credit \u00b7 Individual\",\"price\":\"CHF 130\",\"unit\":\"\",\"desc\":\"A private session with a dedicated instructor.\",\"loc\":\"bern\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/private-pass\/20473\/?membership=1954&force=true\"},{\"sub\":\"prive\",\"type\":\"individuel\",\"title\":\"10-Session Card\",\"meta\":\"10 credits \u00b7 Individual\",\"price\":\"CHF 1200\",\"unit\":\"CHF 120.00 \/ session\",\"desc\":\"Ten private sessions, to use at your own pace.\",\"loc\":\"bern\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/private-pass\/20478\/?membership=1954&force=true\"},{\"sub\":\"prive\",\"type\":\"duo\",\"title\":\"Single Session\",\"meta\":\"1 credit \u00b7 Duo\",\"price\":\"CHF 150\",\"unit\":\"\",\"desc\":\"A private session for two.\",\"loc\":\"bern\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/private-pass\/20479\/?membership=1954&force=true\"},{\"sub\":\"prive\",\"type\":\"duo\",\"title\":\"10-Session Card\",\"meta\":\"10 credits \u00b7 Duo\",\"price\":\"CHF 1400\",\"unit\":\"CHF 140.00 \/ session\",\"desc\":\"Ten private sessions for two, to use at your own pace.\",\"loc\":\"bern\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/private-pass\/20480\/?membership=1954&force=true\"},{\"sub\":\"prive\",\"type\":\"groupe\",\"title\":\"Private Group Session\",\"meta\":\"\",\"price\":\"\",\"unit\":\"\",\"desc\":\"Looking for a private class, a session with friends, or a fully privatized event? Get in touch and we\u2019ll design the perfect experience for your group.\",\"href\":\"https:\/\/joia-studio.com\/contact\/\",\"loc\":\"bern\"},{\"sub\":\"collectif\",\"type\":\"reformer\",\"title\":\"Welcome Class\",\"meta\":\"2 credits \u00b7 1 month\",\"price\":\"CHF 60\",\"unit\":\"\",\"desc\":\"Trial class, ideal for discovering the studio and the Reformer.\",\"loc\":\"lausanne\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/pass\/773465\/?membership=4998&force=true\"},{\"sub\":\"collectif\",\"type\":\"reformer\",\"title\":\"Drop-in\",\"meta\":\"1 credit \u00b7 1 month\",\"price\":\"CHF 46\",\"unit\":\"\",\"desc\":\"A single session, no commitment.\",\"loc\":\"lausanne\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/pass\/773467\/?membership=4998&force=true\"},{\"sub\":\"collectif\",\"type\":\"reformer\",\"title\":\"5-Class Card\",\"meta\":\"5 credits \u00b7 2 months\",\"price\":\"CHF 220\",\"unit\":\"CHF 44.00 \/ session\",\"desc\":\"Five sessions to use at your own pace.\",\"loc\":\"lausanne\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/pass\/773469\/?membership=4998&force=true\"},{\"sub\":\"collectif\",\"type\":\"reformer\",\"title\":\"10-Class Card\",\"meta\":\"10 credits \u00b7 4 months\",\"price\":\"CHF 415\",\"unit\":\"CHF 41.50 \/ session\",\"desc\":\"Ten sessions, our most popular option.\",\"loc\":\"lausanne\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/pass\/773471\/?membership=4998&force=true\"},{\"sub\":\"collectif\",\"type\":\"reformer\",\"title\":\"20-Class Card\",\"meta\":\"20 credits \u00b7 6 months\",\"price\":\"CHF 790\",\"unit\":\"CHF 39.50 \/ session\",\"desc\":\"Twenty sessions for a regular practice.\",\"loc\":\"lausanne\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/pass\/773475\/?membership=4998&force=true\"},{\"sub\":\"prive\",\"type\":\"individuel\",\"title\":\"Single Session\",\"meta\":\"1 credit \u00b7 Individual\",\"price\":\"CHF 130\",\"unit\":\"\",\"desc\":\"A private session with a dedicated instructor.\",\"loc\":\"lausanne\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/private-pass\/45181\/?membership=4998&force=true\"},{\"sub\":\"prive\",\"type\":\"individuel\",\"title\":\"10-Session Card\",\"meta\":\"10 credits \u00b7 Individual\",\"price\":\"CHF 1200\",\"unit\":\"CHF 120.00 \/ session\",\"desc\":\"Ten private sessions, to use at your own pace.\",\"loc\":\"lausanne\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/private-pass\/45182\/?membership=4998&force=true\"},{\"sub\":\"prive\",\"type\":\"duo\",\"title\":\"Single Session\",\"meta\":\"1 credit \u00b7 Duo\",\"price\":\"CHF 150\",\"unit\":\"\",\"desc\":\"A private session for two.\",\"loc\":\"lausanne\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/private-pass\/45188\/?membership=4998&force=true\"},{\"sub\":\"prive\",\"type\":\"duo\",\"title\":\"10-Session Card\",\"meta\":\"10 credits \u00b7 Duo\",\"price\":\"CHF 1400\",\"unit\":\"CHF 140.00 \/ session\",\"desc\":\"Ten private sessions for two, to use at your own pace.\",\"loc\":\"lausanne\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/private-pass\/45189\/?membership=4998&force=true\"},{\"sub\":\"prive\",\"type\":\"groupe\",\"title\":\"Private Group Session\",\"meta\":\"\",\"price\":\"\",\"unit\":\"\",\"desc\":\"Looking for a private class, a session with friends, or a fully privatized event? Get in touch and we\u2019ll design the perfect experience for your group.\",\"href\":\"https:\/\/joia-studio.com\/contact\/\",\"loc\":\"lausanne\"},{\"sub\":\"collectif\",\"type\":\"reformer\",\"title\":\"Welcome Class\",\"meta\":\"2 credits \u00b7 1 month\",\"price\":\"CHF 60\",\"unit\":\"\",\"desc\":\"Trial class, ideal for discovering the studio and the Reformer.\",\"loc\":\"neuchatel\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/pass\/773466\/?membership=1954&force=true\"},{\"sub\":\"collectif\",\"type\":\"reformer\",\"title\":\"Drop-in\",\"meta\":\"1 credit \u00b7 1 month\",\"price\":\"CHF 46\",\"unit\":\"\",\"desc\":\"A single session, no commitment.\",\"loc\":\"neuchatel\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/pass\/773468\/?membership=1954&force=true\"},{\"sub\":\"collectif\",\"type\":\"reformer\",\"title\":\"5-Class Card\",\"meta\":\"5 credits \u00b7 2 months\",\"price\":\"CHF 220\",\"unit\":\"CHF 44.00 \/ session\",\"desc\":\"Five sessions to use at your own pace.\",\"loc\":\"neuchatel\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/pass\/773470\/?membership=1954&force=true\"},{\"sub\":\"collectif\",\"type\":\"reformer\",\"title\":\"10-Class Card\",\"meta\":\"10 credits \u00b7 4 months\",\"price\":\"CHF 415\",\"unit\":\"CHF 41.50 \/ session\",\"desc\":\"Ten sessions, our most popular option.\",\"loc\":\"neuchatel\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/pass\/773472\/?membership=1954&force=true\"},{\"sub\":\"collectif\",\"type\":\"reformer\",\"title\":\"20-Class Card\",\"meta\":\"20 credits \u00b7 6 months\",\"price\":\"CHF 790\",\"unit\":\"CHF 39.50 \/ session\",\"desc\":\"Twenty sessions for a regular practice.\",\"loc\":\"neuchatel\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/pass\/773476\/?membership=1954&force=true\"},{\"sub\":\"collectif\",\"type\":\"mat\",\"title\":\"Outdoor Mat Pilates \u2013 Welcome Class\",\"meta\":\"2 credits \u00b7 1 month\",\"price\":\"CHF 48\",\"unit\":\"\",\"desc\":\"A first outdoor Mat Pilates session to discover the practice.\",\"loc\":\"neuchatel\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/pass\/782274\/?membership=1954&force=true\"},{\"sub\":\"collectif\",\"type\":\"mat\",\"title\":\"Outdoor Mat Pilates \u2013 1x Class\",\"meta\":\"1 credit \u00b7 1 month\",\"price\":\"CHF 38\",\"unit\":\"\",\"desc\":\"A single outdoor Mat Pilates session.\",\"loc\":\"neuchatel\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/pass\/782275\/?membership=1954&force=true\"},{\"sub\":\"collectif\",\"type\":\"mat\",\"title\":\"Outdoor Mat Pilates \u2013 5x Classes\",\"meta\":\"5 credits \u00b7 4 months\",\"price\":\"CHF 180\",\"unit\":\"CHF 36.00 \/ session\",\"desc\":\"Five outdoor Mat Pilates sessions to use at your own pace.\",\"loc\":\"neuchatel\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/pass\/782276\/?membership=1954&force=true\"},{\"sub\":\"collectif\",\"type\":\"mat\",\"title\":\"AquaCore Pilates\",\"meta\":\"1 credit \u00b7 1 month\",\"price\":\"CHF 39\",\"unit\":\"\",\"desc\":\"A single AquaCore Pilates session outdoors.\",\"loc\":\"neuchatel\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/pass\/782273\/?membership=1954&force=true\"},{\"sub\":\"prive\",\"type\":\"individuel\",\"title\":\"Single Session\",\"meta\":\"1 credit \u00b7 Individual\",\"price\":\"CHF 130\",\"unit\":\"\",\"desc\":\"A private session with a dedicated instructor.\",\"loc\":\"neuchatel\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/private-pass\/20473\/?membership=1954&force=true\"},{\"sub\":\"prive\",\"type\":\"individuel\",\"title\":\"10-Session Card\",\"meta\":\"10 credits \u00b7 Individual\",\"price\":\"CHF 1200\",\"unit\":\"CHF 120.00 \/ session\",\"desc\":\"Ten private sessions, to use at your own pace.\",\"loc\":\"neuchatel\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/private-pass\/20478\/?membership=1954&force=true\"},{\"sub\":\"prive\",\"type\":\"duo\",\"title\":\"Single Session\",\"meta\":\"1 credit \u00b7 Duo\",\"price\":\"CHF 150\",\"unit\":\"\",\"desc\":\"A private session for two.\",\"loc\":\"neuchatel\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/private-pass\/20479\/?membership=1954&force=true\"},{\"sub\":\"prive\",\"type\":\"duo\",\"title\":\"10-Session Card\",\"meta\":\"10 credits \u00b7 Duo\",\"price\":\"CHF 1400\",\"unit\":\"CHF 140.00 \/ session\",\"desc\":\"Ten private sessions for two, to use at your own pace.\",\"loc\":\"neuchatel\",\"href\":\"https:\/\/backoffice.bsport.io\/customer\/payment\/private-pass\/20480\/?membership=1954&force=true\"},{\"sub\":\"prive\",\"type\":\"groupe\",\"title\":\"Private Group Session\",\"meta\":\"\",\"price\":\"\",\"unit\":\"\",\"desc\":\"Looking for a private class, a session with friends, or a fully privatized event? Get in touch and we\u2019ll design the perfect experience for your group.\",\"href\":\"https:\/\/joia-studio.com\/contact\/\",\"loc\":\"neuchatel\"}];\nvar dataAbo = [{\"loc\":\"bern\",\"abo\":\"3mois\",\"title\":\"Membership - 4 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 160\",\"unit\":\"\/month \u00b7 CHF 40.00 \/ session\",\"desc\":\"Automatically renews after 3 months.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+1 month complimentary\"},{\"loc\":\"bern\",\"abo\":\"3mois\",\"title\":\"Membership - 8 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 300\",\"unit\":\"\/month \u00b7 CHF 37.50 \/ session\",\"desc\":\"Automatically renews after 3 months.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+1 month complimentary\"},{\"loc\":\"bern\",\"abo\":\"3mois\",\"title\":\"Membership - 12 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 400\",\"unit\":\"\/month \u00b7 CHF 33.33 \/ session\",\"desc\":\"Automatically renews after 3 months.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+1 month complimentary\"},{\"loc\":\"bern\",\"abo\":\"3mois\",\"title\":\"Membership - Unlimited classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 480\",\"unit\":\"\/month \u00b7 CHF 30.00 \/ session\",\"desc\":\"Unlimited access to Reformer classes.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+1 month complimentary\"},{\"loc\":\"bern\",\"abo\":\"3mois\",\"title\":\"Membership - 4 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 160\",\"unit\":\"\/month \u00b7 CHF 40.00 \/ session\",\"desc\":\"Automatically renews after 3 months.\"},{\"loc\":\"bern\",\"abo\":\"3mois\",\"title\":\"Membership - 8 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 300\",\"unit\":\"\/month \u00b7 CHF 37.50 \/ session\",\"desc\":\"Automatically renews after 3 months.\"},{\"loc\":\"bern\",\"abo\":\"3mois\",\"title\":\"Membership - 12 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 400\",\"unit\":\"\/month \u00b7 CHF 33.33 \/ session\",\"desc\":\"Automatically renews after 3 months.\"},{\"loc\":\"bern\",\"abo\":\"3mois\",\"title\":\"Membership - Unlimited classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 480\",\"unit\":\"\/month \u00b7 CHF 30.00 \/ session\",\"desc\":\"Unlimited access to Reformer classes.\"},{\"loc\":\"bern\",\"abo\":\"12mois\",\"title\":\"Membership - 4 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 155\",\"unit\":\"\/month \u00b7 CHF 38.75 \/ session\",\"desc\":\"Automatically renews after 12 months.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+2 months complimentary\"},{\"loc\":\"bern\",\"abo\":\"12mois\",\"title\":\"Membership - 8 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 280\",\"unit\":\"\/month \u00b7 CHF 35.00 \/ session\",\"desc\":\"Automatically renews after 12 months.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+2 months complimentary\"},{\"loc\":\"bern\",\"abo\":\"12mois\",\"title\":\"Membership - 12 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 390\",\"unit\":\"\/month \u00b7 CHF 32.50 \/ session\",\"desc\":\"Automatically renews after 12 months.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+2 months complimentary\"},{\"loc\":\"bern\",\"abo\":\"12mois\",\"title\":\"Membership - Unlimited classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 450\",\"unit\":\"\/month \u00b7 CHF 28.13 \/ session\",\"desc\":\"Unlimited access to Reformer classes.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+2 months complimentary\"},{\"loc\":\"bern\",\"abo\":\"12mois\",\"title\":\"Membership - 4 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 155\",\"unit\":\"\/month \u00b7 CHF 38.75 \/ session\",\"desc\":\"Automatically renews after 12 months.\"},{\"loc\":\"bern\",\"abo\":\"12mois\",\"title\":\"Membership - 8 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 280\",\"unit\":\"\/month \u00b7 CHF 35.00 \/ session\",\"desc\":\"Automatically renews after 12 months.\"},{\"loc\":\"bern\",\"abo\":\"12mois\",\"title\":\"Membership - 12 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 390\",\"unit\":\"\/month \u00b7 CHF 32.50 \/ session\",\"desc\":\"Automatically renews after 12 months.\"},{\"loc\":\"bern\",\"abo\":\"12mois\",\"title\":\"Membership - Unlimited classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 450\",\"unit\":\"\/month \u00b7 CHF 28.13 \/ session\",\"desc\":\"Unlimited access to Reformer classes.\"},{\"loc\":\"lausanne\",\"abo\":\"3mois\",\"title\":\"Membership - 4 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 160\",\"unit\":\"\/month \u00b7 CHF 40.00 \/ session\",\"desc\":\"Automatically renews after 3 months.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+1 month complimentary\"},{\"loc\":\"lausanne\",\"abo\":\"3mois\",\"title\":\"Membership - 8 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 300\",\"unit\":\"\/month \u00b7 CHF 37.50 \/ session\",\"desc\":\"Automatically renews after 3 months.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+1 month complimentary\"},{\"loc\":\"lausanne\",\"abo\":\"3mois\",\"title\":\"Membership - 12 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 400\",\"unit\":\"\/month \u00b7 CHF 33.33 \/ session\",\"desc\":\"Automatically renews after 3 months.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+1 month complimentary\"},{\"loc\":\"lausanne\",\"abo\":\"3mois\",\"title\":\"Membership - Unlimited classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 480\",\"unit\":\"\/month \u00b7 CHF 30.00 \/ session\",\"desc\":\"Unlimited access to Reformer classes.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+1 month complimentary\"},{\"loc\":\"lausanne\",\"abo\":\"3mois\",\"title\":\"Membership - 4 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 160\",\"unit\":\"\/month \u00b7 CHF 40.00 \/ session\",\"desc\":\"Automatically renews after 3 months.\"},{\"loc\":\"lausanne\",\"abo\":\"3mois\",\"title\":\"Membership - 8 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 300\",\"unit\":\"\/month \u00b7 CHF 37.50 \/ session\",\"desc\":\"Automatically renews after 3 months.\"},{\"loc\":\"lausanne\",\"abo\":\"3mois\",\"title\":\"Membership - 12 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 400\",\"unit\":\"\/month \u00b7 CHF 33.33 \/ session\",\"desc\":\"Automatically renews after 3 months.\"},{\"loc\":\"lausanne\",\"abo\":\"3mois\",\"title\":\"Membership - Unlimited classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 480\",\"unit\":\"\/month \u00b7 CHF 30.00 \/ session\",\"desc\":\"Unlimited access to Reformer classes.\"},{\"loc\":\"lausanne\",\"abo\":\"12mois\",\"title\":\"Membership - 4 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 155\",\"unit\":\"\/month \u00b7 CHF 38.75 \/ session\",\"desc\":\"Automatically renews after 12 months.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+2 months complimentary\"},{\"loc\":\"lausanne\",\"abo\":\"12mois\",\"title\":\"Membership - 8 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 280\",\"unit\":\"\/month \u00b7 CHF 35.00 \/ session\",\"desc\":\"Automatically renews after 12 months.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+2 months complimentary\"},{\"loc\":\"lausanne\",\"abo\":\"12mois\",\"title\":\"Membership - 12 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 390\",\"unit\":\"\/month \u00b7 CHF 32.50 \/ session\",\"desc\":\"Automatically renews after 12 months.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+2 months complimentary\"},{\"loc\":\"lausanne\",\"abo\":\"12mois\",\"title\":\"Membership - Unlimited classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 450\",\"unit\":\"\/month \u00b7 CHF 28.13 \/ session\",\"desc\":\"Unlimited access to Reformer classes.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+2 months complimentary\"},{\"loc\":\"lausanne\",\"abo\":\"12mois\",\"title\":\"Membership - 4 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 155\",\"unit\":\"\/month \u00b7 CHF 38.75 \/ session\",\"desc\":\"Automatically renews after 12 months.\"},{\"loc\":\"lausanne\",\"abo\":\"12mois\",\"title\":\"Membership - 8 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 280\",\"unit\":\"\/month \u00b7 CHF 35.00 \/ session\",\"desc\":\"Automatically renews after 12 months.\"},{\"loc\":\"lausanne\",\"abo\":\"12mois\",\"title\":\"Membership - 12 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 390\",\"unit\":\"\/month \u00b7 CHF 32.50 \/ session\",\"desc\":\"Automatically renews after 12 months.\"},{\"loc\":\"lausanne\",\"abo\":\"12mois\",\"title\":\"Membership - Unlimited classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 450\",\"unit\":\"\/month \u00b7 CHF 28.13 \/ session\",\"desc\":\"Unlimited access to Reformer classes.\"},{\"loc\":\"neuchatel\",\"abo\":\"3mois\",\"title\":\"Membership - 4 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 160\",\"unit\":\"\/month \u00b7 CHF 40.00 \/ session\",\"desc\":\"Automatically renews after 3 months.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+1 month complimentary\"},{\"loc\":\"neuchatel\",\"abo\":\"3mois\",\"title\":\"Membership - 8 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 300\",\"unit\":\"\/month \u00b7 CHF 37.50 \/ session\",\"desc\":\"Automatically renews after 3 months.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+1 month complimentary\"},{\"loc\":\"neuchatel\",\"abo\":\"3mois\",\"title\":\"Membership - 12 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 400\",\"unit\":\"\/month \u00b7 CHF 33.33 \/ session\",\"desc\":\"Automatically renews after 3 months.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+1 month complimentary\"},{\"loc\":\"neuchatel\",\"abo\":\"3mois\",\"title\":\"Membership - Unlimited classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 480\",\"unit\":\"\/month \u00b7 CHF 30.00 \/ session\",\"desc\":\"Unlimited access to Reformer classes.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+1 month complimentary\"},{\"loc\":\"neuchatel\",\"abo\":\"3mois\",\"title\":\"Membership - 4 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 160\",\"unit\":\"\/month \u00b7 CHF 40.00 \/ session\",\"desc\":\"Automatically renews after 3 months.\"},{\"loc\":\"neuchatel\",\"abo\":\"3mois\",\"title\":\"Membership - 8 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 300\",\"unit\":\"\/month \u00b7 CHF 37.50 \/ session\",\"desc\":\"Automatically renews after 3 months.\"},{\"loc\":\"neuchatel\",\"abo\":\"3mois\",\"title\":\"Membership - 12 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 400\",\"unit\":\"\/month \u00b7 CHF 33.33 \/ session\",\"desc\":\"Automatically renews after 3 months.\"},{\"loc\":\"neuchatel\",\"abo\":\"3mois\",\"title\":\"Membership - Unlimited classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 480\",\"unit\":\"\/month \u00b7 CHF 30.00 \/ session\",\"desc\":\"Unlimited access to Reformer classes.\"},{\"loc\":\"neuchatel\",\"abo\":\"12mois\",\"title\":\"Membership - 4 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 155\",\"unit\":\"\/month \u00b7 CHF 38.75 \/ session\",\"desc\":\"Automatically renews after 12 months.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+2 months complimentary\"},{\"loc\":\"neuchatel\",\"abo\":\"12mois\",\"title\":\"Membership - 8 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 280\",\"unit\":\"\/month \u00b7 CHF 35.00 \/ session\",\"desc\":\"Automatically renews after 12 months.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+2 months complimentary\"},{\"loc\":\"neuchatel\",\"abo\":\"12mois\",\"title\":\"Membership - 12 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 390\",\"unit\":\"\/month \u00b7 CHF 32.50 \/ session\",\"desc\":\"Automatically renews after 12 months.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+2 months complimentary\"},{\"loc\":\"neuchatel\",\"abo\":\"12mois\",\"title\":\"Membership - Unlimited classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 450\",\"unit\":\"\/month \u00b7 CHF 28.13 \/ session\",\"desc\":\"Unlimited access to Reformer classes.\",\"promo\":true,\"promoLabel\":\"Launch Offer\",\"note\":\"+2 months complimentary\"},{\"loc\":\"neuchatel\",\"abo\":\"12mois\",\"title\":\"Membership - 4 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 155\",\"unit\":\"\/month \u00b7 CHF 38.75 \/ session\",\"desc\":\"Automatically renews after 12 months.\"},{\"loc\":\"neuchatel\",\"abo\":\"12mois\",\"title\":\"Membership - 8 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 280\",\"unit\":\"\/month \u00b7 CHF 35.00 \/ session\",\"desc\":\"Automatically renews after 12 months.\"},{\"loc\":\"neuchatel\",\"abo\":\"12mois\",\"title\":\"Membership - 12 classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 390\",\"unit\":\"\/month \u00b7 CHF 32.50 \/ session\",\"desc\":\"Automatically renews after 12 months.\"},{\"loc\":\"neuchatel\",\"abo\":\"12mois\",\"title\":\"Membership - Unlimited classes \/ month\",\"meta\":\"Reformer Class\",\"price\":\"CHF 450\",\"unit\":\"\/month \u00b7 CHF 28.13 \/ session\",\"desc\":\"Unlimited access to Reformer classes.\"}];\nfunction cardHtml(d){\nvar unitHtml = d.unit ? '<div class=\"jp-price-unit\">'+d.unit+'<\/div>' : '';\nvar flag = d.ph ? '<span class=\"jp-placeholder-flag\">Example<\/span>' : '';\nvar spark = d.promo ? '<svg class=\"jp-spark\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"none\" aria-hidden=\"true\"><rect x=\"1\" y=\"1\" width=\"98\" height=\"98\"><\/rect><\/svg>' : '';\nvar badge = d.promo ? '<div class=\"jp-promo-badge\">'+(d.promoLabel||'Launch Offer')+'<\/div>' : '';\nvar noteHtml = d.note ? '<div class=\"jp-promo-note\">'+d.note+'<\/div>' : '';\nvar cta = d.href ? ('<a href=\"'+d.href+'\" class=\"jp-cta\" style=\"text-decoration:none;text-align:center;\">'+(d.ctaLabel||'Contact us')+'<\/a>') : ('<button class=\"jp-cta\">'+(d.ctaLabel||'Buy')+'<\/button>');\nreturn spark+badge+'<div class=\"jp-meta\">'+d.meta+'<\/div><h3>'+d.title+'<\/h3><div class=\"jp-price\">'+d.price+'<\/div>'+unitHtml+noteHtml+'<div class=\"jp-desc\">'+d.desc+'<\/div>'+flag+cta;\n}\nfunction render(){\nvar grid = document.getElementById('jpGrid');\nvar filtered = data.filter(function(d){ return d.sub === state.sub && d.type === state.type && d.loc === state.loc; });\ngrid.innerHTML = '';\nif(!filtered.length){ grid.innerHTML = '<div class=\"jp-empty\">No pricing available yet in this category.<\/div>'; return; }\nfiltered.forEach(function(d){ var card = document.createElement('div'); card.className = 'jp-card'; card.innerHTML = cardHtml(d); grid.appendChild(card); });\n}\nvar benefitsByTier = {\n'Membership - 4 classes \/ month': ['Freeze up to 7 days every 3 months','1 unused credit rolls over to the next month','Bring a friend once every 3 months','Priority booking: 1 month ahead','15% off during your birthday month','Welcome gift: JOIA bag + socks','Access to members-only events'],\n'Membership - 8 classes \/ month': ['Freeze up to 7 days every 3 months','Up to 2 unused credits roll over to the next month','Bring a friend once every 3 months','Priority booking: 1 month ahead','15% off during your birthday month','Welcome gift: JOIA bag + socks','Access to members-only events'],\n'Membership - 12 classes \/ month': ['Freeze up to 7 days every 3 months','Up to 3 unused credits roll over to the next month','Bring a friend once every 3 months','Priority booking: 1 month ahead','15% off during your birthday month','Welcome gift: JOIA bag + socks','Access to members-only events'],\n'Membership - Unlimited classes \/ month': ['Freeze up to 7 days every 3 months','Unlimited sessions, no credit tracking needed','Bring a friend once every 3 months','Priority booking: 1 month ahead','15% off during your birthday month','Welcome gift: JOIA bag + socks','Access to members-only events']\n};\nfunction getBenefits(d){\nvar list = (benefitsByTier[d.title]||[]).slice();\nreturn list;\n}\nfunction openMembershipModal(d){\nvar overlay = document.getElementById('jpModalOverlay');\nif(!overlay) return;\ndocument.getElementById('jpModalTitle').textContent = d.title;\nvar listEl = document.getElementById('jpModalList');\nlistEl.innerHTML = '';\ngetBenefits(d).forEach(function(b){ var li = document.createElement('li'); li.textContent = b; listEl.appendChild(li); });\noverlay.classList.add('active');\ndocument.body.style.overflow = 'hidden';\n}\nfunction closeMembershipModal(){\nvar overlay = document.getElementById('jpModalOverlay');\nif(!overlay) return;\noverlay.classList.remove('active');\ndocument.body.style.overflow = '';\n}\nfunction renderAbo(){\nvar grid = document.getElementById('jpGridAbo');\nvar filtered = dataAbo.filter(function(d){ return d.loc===stateAbo.loc && d.abo===stateAbo.abo && !d.promo; });\ngrid.innerHTML = '';\nif(!filtered.length){ grid.innerHTML = '<div class=\"jp-empty\">No pricing available yet in this category.<\/div>'; return; }\nvar sawPromo = false;\nfiltered.forEach(function(d){\nif(d.promo){ sawPromo = true; } else if(sawPromo){ var brk = document.createElement('div'); brk.className = 'jp-grid-break'; grid.appendChild(brk); sawPromo = false; }\nvar card = document.createElement('div');\ncard.className = 'jp-card' + (d.promo ? ' jp-card-promo' : '');\ncard.innerHTML = cardHtml(Object.assign({ctaLabel:'Buy'}, d));\nvar buyBtn = card.querySelector('.jp-cta');\nvar row = document.createElement('div');\nrow.className = 'jp-cta-row';\nif(buyBtn){ buyBtn.parentNode.insertBefore(row, buyBtn); row.appendChild(buyBtn); }\nvar detailsBtn = document.createElement('button');\ndetailsBtn.type = 'button';\ndetailsBtn.className = 'jp-cta jp-cta-outline';\ndetailsBtn.textContent = 'Details';\ndetailsBtn.addEventListener('click', function(){ openMembershipModal(d); });\nrow.appendChild(detailsBtn);\ngrid.appendChild(card);\n});\n}\nfunction renderLaunch(){\nvar grid = document.getElementById('jpGridLaunch');\nvar filtered = dataAbo.filter(function(d){ return d.promo && d.loc===stateLaunch.loc && d.abo===stateLaunch.abo; });\ngrid.innerHTML = '';\nif(!filtered.length){ grid.innerHTML = '<div class=\"jp-empty\">No pricing available yet in this category.<\/div>'; return; }\nfiltered.forEach(function(d){\nvar card = document.createElement('div');\ncard.className = 'jp-card jp-card-promo';\ncard.innerHTML = cardHtml(Object.assign({ctaLabel:'Buy'}, d));\nvar buyBtn = card.querySelector('.jp-cta');\nvar row = document.createElement('div');\nrow.className = 'jp-cta-row';\nif(buyBtn){ buyBtn.parentNode.insertBefore(row, buyBtn); row.appendChild(buyBtn); }\nvar detailsBtn = document.createElement('button');\ndetailsBtn.type = 'button';\ndetailsBtn.className = 'jp-cta jp-cta-outline';\ndetailsBtn.textContent = 'Details';\ndetailsBtn.addEventListener('click', function(){ openMembershipModal(d); });\nrow.appendChild(detailsBtn);\ngrid.appendChild(card);\n});\n}\nfunction setActive(container, activeEl){ container.querySelectorAll('.jp-btn').forEach(function(b){ b.classList.remove('active'); }); activeEl.classList.add('active'); }\nvar root = document.getElementById('joiaPkg');\nfunction updateMatTabVisibility(){\nvar matBtn = root.querySelector('[data-group=\"collectifType\"] [data-type=\"mat\"]');\nif(!matBtn) return;\nif(state.loc === 'neuchatel'){ matBtn.style.display = ''; } else {\nmatBtn.style.display = 'none';\nif(state.type === 'mat'){\nstate.type = 'reformer';\nvar reformerBtn = root.querySelector('[data-group=\"collectifType\"] [data-type=\"reformer\"]');\nsetActive(root.querySelector('[data-group=\"collectifType\"]'), reformerBtn);\n}\n}\n}\n\nroot.querySelector('[data-group=\"packsLoc\"]').querySelectorAll('[data-loc]').forEach(function(btn){\nbtn.addEventListener('click', function(){ state.loc = btn.getAttribute('data-loc'); setActive(root.querySelector('[data-group=\"packsLoc\"]'), btn); updateMatTabVisibility(); render(); });\n});\n\nroot.querySelector('[data-group=\"packsSub\"]').querySelectorAll('[data-sub]').forEach(function(btn){\nbtn.addEventListener('click', function(){\nstate.sub = btn.getAttribute('data-sub');\nsetActive(root.querySelector('[data-group=\"packsSub\"]'), btn);\nvar collectifType = root.querySelector('[data-group=\"collectifType\"]');\nvar priveType = root.querySelector('[data-group=\"priveType\"]');\nif(state.sub === 'collectif'){ collectifType.style.display='flex'; priveType.style.display='none'; state.type = collectifType.querySelector('.jp-btn.active').getAttribute('data-type'); }\nelse { collectifType.style.display='none'; priveType.style.display='flex'; state.type = priveType.querySelector('.jp-btn.active').getAttribute('data-type'); }\nrender();\n});\n});\nroot.querySelector('[data-group=\"collectifType\"]').querySelectorAll('[data-type]').forEach(function(btn){\nbtn.addEventListener('click', function(){ state.type = btn.getAttribute('data-type'); setActive(root.querySelector('[data-group=\"collectifType\"]'), btn); render(); });\n});\nroot.querySelector('[data-group=\"priveType\"]').querySelectorAll('[data-type]').forEach(function(btn){\nbtn.addEventListener('click', function(){ state.type = btn.getAttribute('data-type'); setActive(root.querySelector('[data-group=\"priveType\"]'), btn); render(); });\n});\nroot.querySelector('[data-group=\"locTabs\"]').querySelectorAll('[data-loc]').forEach(function(btn){\nbtn.addEventListener('click', function(){ stateAbo.loc = btn.getAttribute('data-loc'); setActive(root.querySelector('[data-group=\"locTabs\"]'), btn); renderAbo(); });\n});\nroot.querySelector('[data-group=\"aboSub\"]').querySelectorAll('[data-abo]').forEach(function(btn){\nbtn.addEventListener('click', function(){ stateAbo.abo = btn.getAttribute('data-abo'); setActive(root.querySelector('[data-group=\"aboSub\"]'), btn); renderAbo(); });\n});\nvar jpModalOverlay = document.getElementById('jpModalOverlay');\nvar jpModalClose = document.getElementById('jpModalClose');\nif(jpModalClose){ jpModalClose.addEventListener('click', closeMembershipModal); }\nif(jpModalOverlay){ jpModalOverlay.addEventListener('click', function(e){ if(e.target===jpModalOverlay){ closeMembershipModal(); } }); }\ndocument.addEventListener('keydown', function(e){ if(e.key==='Escape'){ closeMembershipModal(); } });\nupdateMatTabVisibility();\nrender();\nrenderAbo();\n\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Membership Launch Offer Commit to your practice with a monthly membership and enjoy access to classes at all three JOIA studios. Discover our exclusive membership launch offer and all our rates on our dedicated Membership page. View Memberships Packs Single sessions, class cards and private sessions to fit your rhythm. Choose your format below and [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-2896","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/joia-studio.com\/fr\/wp-json\/wp\/v2\/pages\/2896","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/joia-studio.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/joia-studio.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/joia-studio.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/joia-studio.com\/fr\/wp-json\/wp\/v2\/comments?post=2896"}],"version-history":[{"count":158,"href":"https:\/\/joia-studio.com\/fr\/wp-json\/wp\/v2\/pages\/2896\/revisions"}],"predecessor-version":[{"id":3387,"href":"https:\/\/joia-studio.com\/fr\/wp-json\/wp\/v2\/pages\/2896\/revisions\/3387"}],"wp:attachment":[{"href":"https:\/\/joia-studio.com\/fr\/wp-json\/wp\/v2\/media?parent=2896"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}