{"id":26895,"date":"2026-06-12T22:47:05","date_gmt":"2026-06-12T22:47:05","guid":{"rendered":"https:\/\/vermontenglish.com\/?page_id=26895"},"modified":"2026-06-25T22:40:34","modified_gmt":"2026-06-25T22:40:34","slug":"pricing","status":"publish","type":"page","link":"https:\/\/vermontenglish.com\/en\/pricing\/","title":{"rendered":"Pricing"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"26895\" class=\"elementor elementor-26895\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a93117e e-con-full e-flex e-con e-parent\" data-id=\"a93117e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7f1faa3 elementor-widget elementor-widget-html\" data-id=\"7f1faa3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Pricing \u2013 Vermont English<\/title>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300&family=DM+Sans:wght@400;500&display=swap\" rel=\"stylesheet\">\n<\/head>\n<body>\n\n<!-- ============================================================\n     PRICING PAGE \u2014 Apple-feel\n     Prefix: vprp-\n     Sections:\n       1. Hero \u2014 left-aligned, no image\n       2. Toggle + carousel (Individual \/ Group)\n       3. What's included \u2014 comparison table\n       4. FAQ strip \u2014 5 pricing questions\n       5. CTA \u2014 placement test + book a call\n     ============================================================ -->\n<div id=\"vprp-root\">\n\n  <!-- \u2550\u2550 1. HERO \u2550\u2550 -->\n  <section class=\"vprp-hero\">\n    <div class=\"vprp-hero-inner vprp-reveal\">\n      <p class=\"vprp-eyebrow\">Pricing<\/p>\n      <h1 class=\"vprp-hero-h1\">Simple plans.<br><em>No surprises.<\/em><\/h1>\n      <p class=\"vprp-hero-sub\">The more classes you commit to, the more you save. Every plan includes a dedicated teacher, Online lessons and progress reports after every class.<\/p>\n      <div class=\"vprp-trust\">\n        <span><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg>No hidden fees<\/span>\n        <span><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg>Classes never expire<\/span>\n        <span><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg>Free 30-min consultation<\/span>\n        <span><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg>Secure payment via Stripe<\/span>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- \u2550\u2550 2. TOGGLE + PRICING \u2550\u2550 -->\n  <section class=\"vprp-pricing\">\n    <div class=\"vprp-pricing-inner\">\n\n      <!-- Toggle -->\n      <div class=\"vprp-toggle-wrap vprp-reveal\" style=\"--d:.05s\" role=\"group\" aria-label=\"Filter by class type\">\n        <button class=\"vprp-toggle vprp-toggle-active\" id=\"vprp-btn-ind\" aria-pressed=\"true\" onclick=\"vprpSwitch('individual')\">Individual<\/button>\n        <button class=\"vprp-toggle\" id=\"vprp-btn-grp\" aria-pressed=\"false\" onclick=\"vprpSwitch('group')\">Group<\/button>\n      <\/div>\n\n      <!-- \u2500\u2500 INDIVIDUAL \u2500\u2500 -->\n      <div id=\"vprp-ind\">\n        <div class=\"vprp-carousel-wrap\">\n          <button class=\"vprp-arrow\" id=\"vprp-prev\" aria-label=\"Previous\" disabled>\n            <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M19 12H5M12 19l-7-7 7-7\"\/><\/svg>\n          <\/button>\n          <div class=\"vprp-viewport\">\n            <div class=\"vprp-track\" id=\"vprp-track\">\n\n              <!-- BASIC -->\n              <div class=\"vprp-card\">\n                <span class=\"vprp-disc\">8% OFF<\/span>\n                <h3 class=\"vprp-card-name\">Basic<\/h3>\n                <p class=\"vprp-card-meta\">10 classes \u00b7 1-on-1 \u00b7 60 min<\/p>\n                <div class=\"vprp-price-block\">\n                  <span class=\"vprp-old\">\u20ac45.00<\/span>\n                  <p class=\"vprp-price\">\u20ac41.40<span class=\"vprp-per\">\/class<\/span><\/p>\n                  <span class=\"vprp-save\">Save \u20ac36<\/span>\n                <\/div>\n                <div class=\"vprp-divider\"><\/div>\n                <ul class=\"vprp-features\">\n                  <li>10 intensive lessons<\/li>\n                  <li>Personal support<\/li>\n                  <li>Dedicated teacher<\/li>\n                  <li>Post-lesson reports<\/li>\n                <\/ul>\n                <a href=\"\/register?plan=basic\" class=\"vprp-btn\">Enroll Now<\/a>\n              <\/div>\n\n              <!-- STANDARD -->\n              <div class=\"vprp-card\">\n                <span class=\"vprp-disc\">10% OFF<\/span>\n                <h3 class=\"vprp-card-name\">Standard<\/h3>\n                <p class=\"vprp-card-meta\">15 classes \u00b7 1-on-1 \u00b7 60 min<\/p>\n                <div class=\"vprp-price-block\">\n                  <span class=\"vprp-old\">\u20ac45.00<\/span>\n                  <p class=\"vprp-price\">\u20ac40.50<span class=\"vprp-per\">\/class<\/span><\/p>\n                  <span class=\"vprp-save\">Save \u20ac67.50<\/span>\n                <\/div>\n                <div class=\"vprp-divider\"><\/div>\n                <ul class=\"vprp-features\">\n                  <li>Fluency coaching<\/li>\n                  <li>Pronunciation support<\/li>\n                  <li>Homework feedback<\/li>\n                  <li>Progress tracking<\/li>\n                <\/ul>\n                <a href=\"\/register?plan=standard\" class=\"vprp-btn\">Enroll Now<\/a>\n              <\/div>\n\n              <!-- ADVANCED \u2014 featured -->\n              <div class=\"vprp-card vprp-card-featured\">\n                <span class=\"vprp-popular\">MOST POPULAR<\/span>\n                <span class=\"vprp-disc vprp-disc-white\">10% OFF<\/span>\n                <h3 class=\"vprp-card-name\">Advanced<\/h3>\n                <p class=\"vprp-card-meta\">20 classes \u00b7 1-on-1 \u00b7 60 min<\/p>\n                <div class=\"vprp-price-block\">\n                  <span class=\"vprp-old\">\u20ac45.00<\/span>\n                  <p class=\"vprp-price\">\u20ac40.50<span class=\"vprp-per\">\/class<\/span><\/p>\n                  <span class=\"vprp-save\">Save \u20ac90<\/span>\n                <\/div>\n                <div class=\"vprp-divider\"><\/div>\n                <ul class=\"vprp-features\">\n                  <li>Business English<\/li>\n                  <li>Speaking mastery<\/li>\n                  <li>Dedicated mentor<\/li>\n                  <li>Personalised roadmap<\/li>\n                <\/ul>\n                <a href=\"\/register?plan=advanced\" class=\"vprp-btn vprp-btn-accent\">Enroll Now<\/a>\n              <\/div>\n\n              <!-- INTENSIVE -->\n              <div class=\"vprp-card\">\n                <span class=\"vprp-disc\">12% OFF<\/span>\n                <h3 class=\"vprp-card-name\">Intensive<\/h3>\n                <p class=\"vprp-card-meta\">25 classes \u00b7 1-on-1 \u00b7 60 min<\/p>\n                <div class=\"vprp-price-block\">\n                  <span class=\"vprp-old\">\u20ac45.00<\/span>\n                  <p class=\"vprp-price\">\u20ac39.60<span class=\"vprp-per\">\/class<\/span><\/p>\n                  <span class=\"vprp-save\">Save \u20ac135<\/span>\n                <\/div>\n                <div class=\"vprp-divider\"><\/div>\n                <ul class=\"vprp-features\">\n                  <li>Fast-track fluency<\/li>\n                  <li>Intensive support<\/li>\n                  <li>Weekly reviews<\/li>\n                  <li>Structured plan<\/li>\n                <\/ul>\n                <a href=\"\/register?plan=intensive\" class=\"vprp-btn\">Enroll Now<\/a>\n              <\/div>\n\n              <!-- PREMIUM -->\n              <div class=\"vprp-card\">\n                <span class=\"vprp-disc\">12% OFF<\/span>\n                <h3 class=\"vprp-card-name\">Premium<\/h3>\n                <p class=\"vprp-card-meta\">1-on-1 \u00b7 60 min<\/p>\n                <div class=\"vprp-price-block\">\n                  <span class=\"vprp-old\">\u20ac45.00<\/span>\n                  <p class=\"vprp-price\">\u20ac39.60<span class=\"vprp-per\">\/class<\/span><\/p>\n                  <select class=\"vprp-select\" aria-label=\"Select number of classes\"\n                    onchange=\"var a=this.closest('.vprp-card').querySelector('a.vprp-btn');a.href=a.href.split('&qty=')[0]+'&qty='+this.value;\">\n                    <option value=\"30\" selected>30 classes<\/option>\n                    <option value=\"40\">40 classes<\/option>\n                    <option value=\"50\">50 classes<\/option>\n                  <\/select>\n                <\/div>\n                <div class=\"vprp-divider\"><\/div>\n                <ul class=\"vprp-features\">\n                  <li>VIP coaching<\/li>\n                  <li>Executive English<\/li>\n                  <li>Priority scheduling<\/li>\n                  <li>Full learning strategy<\/li>\n                <\/ul>\n                <a href=\"\/register?plan=premium&qty=30\" class=\"vprp-btn\">Enroll Now<\/a>\n              <\/div>\n\n              <!-- ON THE GO INDIVIDUAL -->\n              <div class=\"vprp-card vprp-card-otg\">\n                <span class=\"vprp-otg-badge\">\u26a1 ON THE GO<\/span>\n                <span class=\"vprp-disc vprp-disc-otg\">30 Min<\/span>\n                <h3 class=\"vprp-card-name\">Conversation<\/h3>\n                <p class=\"vprp-card-meta\">Individual \u00b7 30-min conversation class<\/p>\n                <div class=\"vprp-price-block\">\n                  <p class=\"vprp-price\">\u20ac30.00<span class=\"vprp-per\">\/class<\/span><\/p>\n                  <select class=\"vprp-select\" aria-label=\"Select number of classes\"\n                    onchange=\"var a=this.closest('.vprp-card').querySelector('a.vprp-btn');a.href=a.href.split('&qty=')[0]+'&qty='+this.value;\">\n                    <option value=\"10\">10 classes<\/option>\n                    <option value=\"20\">20 classes<\/option>\n                    <option value=\"30\">30 classes<\/option>\n                    <option value=\"40\">40 classes<\/option>\n                  <\/select>\n                <\/div>\n                <div class=\"vprp-divider\"><\/div>\n                <ul class=\"vprp-features\">\n                  <li>30-min conversation class<\/li>\n                  <li>Speaking &amp; fluency focus<\/li>\n                  <li>Multiples of 10<\/li>\n                  <li>Flexible scheduling<\/li>\n                <\/ul>\n                <a href=\"\/register?plan=otg-individual&qty=10\" class=\"vprp-btn\">Enroll Now<\/a>\n              <\/div>\n\n            <\/div><!-- \/.vprp-track -->\n          <\/div><!-- \/.vprp-viewport -->\n          <button class=\"vprp-arrow\" id=\"vprp-next\" aria-label=\"Next\">\n            <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\n          <\/button>\n        <\/div>\n        <!-- Dots -->\n        <div class=\"vprp-dots\" id=\"vprp-dots\"><\/div>\n      <\/div>\n\n      <!-- \u2500\u2500 GROUP \u2500\u2500 -->\n      <div id=\"vprp-grp\" hidden>\n        <div class=\"vprp-group-grid\">\n\n          <div class=\"vprp-card vprp-card-lg\">\n            <h3 class=\"vprp-card-name\">Group Class<\/h3>\n            <p class=\"vprp-card-meta\">Max 4 students \u00b7 60 min<\/p>\n            <div class=\"vprp-price-block\">\n              <p class=\"vprp-price\">\u20ac35.00<span class=\"vprp-per\">\/student<\/span><\/p>\n              <select class=\"vprp-select\" aria-label=\"Select number of classes\"\n                onchange=\"var a=this.closest('.vprp-card').querySelector('a.vprp-btn');a.href=a.href.split('&qty=')[0]+'&qty='+this.value;\">\n                <option value=\"10\">10 classes<\/option>\n                <option value=\"20\">20 classes<\/option>\n                <option value=\"30\">30 classes<\/option>\n                <option value=\"40\">40 classes<\/option>\n              <\/select>\n            <\/div>\n            <div class=\"vprp-divider\"><\/div>\n            <ul class=\"vprp-features\">\n              <li>Interactive sessions<\/li>\n              <li>Group discussions<\/li>\n              <li>Speaking practice<\/li>\n              <li>Collaborative learning<\/li>\n            <\/ul>\n            <a href=\"\/register?plan=group&qty=10\" class=\"vprp-btn\">Enroll Now<\/a>\n          <\/div>\n\n          <div class=\"vprp-card vprp-card-lg vprp-card-otg\">\n            <span class=\"vprp-otg-badge\">\u26a1 ON THE GO<\/span>\n            <span class=\"vprp-disc vprp-disc-otg\">30 Min<\/span>\n            <h3 class=\"vprp-card-name\">Conversation Group<\/h3>\n            <p class=\"vprp-card-meta\">Max 4 students \u00b7 30-min conversation<\/p>\n            <div class=\"vprp-price-block\">\n              <p class=\"vprp-price\">\u20ac25.00<span class=\"vprp-per\">\/student<\/span><\/p>\n              <select class=\"vprp-select\" aria-label=\"Select number of classes\"\n                onchange=\"var a=this.closest('.vprp-card').querySelector('a.vprp-btn');a.href=a.href.split('&qty=')[0]+'&qty='+this.value;\">\n                <option value=\"10\">10 classes<\/option>\n                <option value=\"20\">20 classes<\/option>\n                <option value=\"30\">30 classes<\/option>\n                <option value=\"40\">40 classes<\/option>\n              <\/select>\n            <\/div>\n            <div class=\"vprp-divider\"><\/div>\n            <ul class=\"vprp-features\">\n              <li>30-min conversation class<\/li>\n              <li>Collaborative speaking<\/li>\n              <li>Up to 4 students<\/li>\n              <li>Multiples of 10<\/li>\n            <\/ul>\n            <a href=\"\/register?plan=otg-group&qty=10\" class=\"vprp-btn\">Enroll Now<\/a>\n          <\/div>\n\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/section>\n\n  <!-- \u2550\u2550 3. WHAT'S INCLUDED \u2550\u2550 -->\n  <section class=\"vprp-included\" aria-labelledby=\"vprp-inc-h\">\n    <div class=\"vprp-included-inner vprp-reveal\">\n      <h2 class=\"vprp-section-h\" id=\"vprp-inc-h\">What's included in every plan<\/h2>\n      <p class=\"vprp-section-sub\">Regardless of which plan or format you choose, every Vermont English class includes these as standard.<\/p>\n      <div class=\"vprp-table-wrap\">\n        <table class=\"vprp-table\" aria-label=\"Features included in every plan\">\n          <thead>\n            <tr>\n              <th scope=\"col\">Feature<\/th>\n              <th scope=\"col\">1-on-1<\/th>\n              <th scope=\"col\">Group<\/th>\n              <th scope=\"col\">On The Go<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr><td>Dedicated instructor<\/td>       <td class=\"vprp-yes\">\u2713<\/td><td class=\"vprp-yes\">\u2713<\/td><td class=\"vprp-yes\">\u2713<\/td><\/tr>\n            <tr><td>Online lessons <\/td>            <td class=\"vprp-yes\">\u2713<\/td><td class=\"vprp-yes\">\u2713<\/td><td class=\"vprp-yes\">\u2713<\/td><\/tr>\n            <tr><td>Post-lesson report<\/td>         <td class=\"vprp-yes\">\u2713<\/td><td class=\"vprp-yes\">\u2713<\/td><td class=\"vprp-yes\">\u2713<\/td><\/tr>\n            <tr><td>Student dashboard<\/td>          <td class=\"vprp-yes\">\u2713<\/td><td class=\"vprp-yes\">\u2713<\/td><td class=\"vprp-yes\">\u2713<\/td><\/tr>\n            <tr><td>Progress tracking<\/td>          <td class=\"vprp-yes\">\u2713<\/td><td class=\"vprp-yes\">\u2713<\/td><td class=\"vprp-yes\">\u2713<\/td><\/tr>\n            <tr><td>Personalised to your level<\/td> <td class=\"vprp-yes\">\u2713<\/td><td class=\"vprp-part\">Shared<\/td><td class=\"vprp-yes\">\u2713<\/td><\/tr>\n            <tr><td>Session length<\/td>             <td>60 min<\/td><td>60 min<\/td><td>30 min<\/td><\/tr>\n            <tr><td>Max students<\/td>               <td>1<\/td><td>4<\/td><td>1 or 4<\/td><\/tr>\n            <tr><td>Bundle discounts<\/td>           <td class=\"vprp-yes\">8\u201312%<\/td><td class=\"vprp-no\">\u2014<\/td><td class=\"vprp-no\">\u2014<\/td><\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- \u2550\u2550 4. FAQ STRIP \u2550\u2550 -->\n  <section class=\"vprp-faq\" aria-labelledby=\"vprp-faq-h\">\n    <div class=\"vprp-faq-inner\">\n      <h2 class=\"vprp-section-h vprp-reveal\" id=\"vprp-faq-h\">Common pricing questions<\/h2>\n      <div class=\"vprp-faq-list\" id=\"vprp-faq-list\">\n\n        <div class=\"vprp-fitem vprp-reveal\" style=\"--d:.04s\">\n          <button class=\"vprp-fq\" aria-expanded=\"false\" aria-controls=\"vprp-fa-1\" id=\"vprp-fb-1\">\n            Do my classes expire?<span class=\"vprp-ficon\"><\/span>\n          <\/button>\n          <div class=\"vprp-fa\" id=\"vprp-fa-1\" role=\"region\" aria-labelledby=\"vprp-fb-1\">\n            <div class=\"vprp-fa-body\">Classes do not expire once purchased. Schedule them at your own pace \u2014 there's no time limit.<\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"vprp-fitem vprp-reveal\" style=\"--d:.08s\">\n          <button class=\"vprp-fq\" aria-expanded=\"false\" aria-controls=\"vprp-fa-2\" id=\"vprp-fb-2\">\n            Can I buy more classes after finishing my bundle?<span class=\"vprp-ficon\"><\/span>\n          <\/button>\n          <div class=\"vprp-fa\" id=\"vprp-fa-2\" role=\"region\" aria-labelledby=\"vprp-fb-2\">\n            <div class=\"vprp-fa-body\">Yes \u2014 you can purchase any bundle again at any time with no limit on how many you buy.<\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"vprp-fitem vprp-reveal\" style=\"--d:.12s\">\n          <button class=\"vprp-fq\" aria-expanded=\"false\" aria-controls=\"vprp-fa-3\" id=\"vprp-fb-3\">\n            Can I mix individual and group classes?<span class=\"vprp-ficon\"><\/span>\n          <\/button>\n          <div class=\"vprp-fa\" id=\"vprp-fa-3\" role=\"region\" aria-labelledby=\"vprp-fb-3\">\n            <div class=\"vprp-fa-body\">Yes. Many students use On The Go Conversation classes alongside their 1-on-1 program for extra speaking practice. You can hold multiple plans at the same time.<\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"vprp-fitem vprp-reveal\" style=\"--d:.16s\">\n          <button class=\"vprp-fq\" aria-expanded=\"false\" aria-controls=\"vprp-fa-4\" id=\"vprp-fb-4\">\n            What payment methods do you accept?<span class=\"vprp-ficon\"><\/span>\n          <\/button>\n          <div class=\"vprp-fa\" id=\"vprp-fa-4\" role=\"region\" aria-labelledby=\"vprp-fb-4\">\n            <div class=\"vprp-fa-body\">Vermont English accepts card payments via Stripe. All major credit and debit cards are supported. Payment is processed securely at the time of enrollment.<\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"vprp-fitem vprp-reveal\" style=\"--d:.20s\">\n          <button class=\"vprp-fq\" aria-expanded=\"false\" aria-controls=\"vprp-fa-5\" id=\"vprp-fb-5\">\n            Is there a free consultation before I enroll?<span class=\"vprp-ficon\"><\/span>\n          <\/button>\n          <div class=\"vprp-fa\" id=\"vprp-fa-5\" role=\"region\" aria-labelledby=\"vprp-fb-5\">\n            <div class=\"vprp-fa-body\">Yes. Book a free 30-minute consultation call with Emmanuel before you enroll. He'll assess your level and recommend the best plan \u2014 no commitment required.<\/div>\n          <\/div>\n        <\/div>\n\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- \u2550\u2550 5. CTA \u2550\u2550 -->\n  <section class=\"vprp-cta\" aria-labelledby=\"vprp-cta-h\">\n    <div class=\"vprp-cta-inner vprp-reveal\">\n      <div class=\"vprp-cta-left\">\n        <p class=\"vprp-cta-eyebrow\">Not sure where to start?<\/p>\n        <h2 class=\"vprp-cta-h\" id=\"vprp-cta-h\">Find your level first.<\/h2>\n        <p class=\"vprp-cta-sub\">Take the free Placement Test and know your exact CEFR level in 5 minutes. Then book a call \u2014 Emmanuel will match you to the right plan.<\/p>\n        <div class=\"vprp-cta-actions\">\n          <a href=\"\/placement-test\" class=\"vprp-cta-btn-primary\">Take Placement Test<\/a>\n          <a href=\"\/book-a-call\"    class=\"vprp-cta-btn-ghost\">Book a Free Call<\/a>\n        <\/div>\n      <\/div>\n      <div class=\"vprp-cta-right\" aria-hidden=\"true\">\n        <div class=\"vprp-cefr-grid\">\n          <div class=\"vprp-cefr vprp-cefr-a\">A1<\/div>\n          <div class=\"vprp-cefr vprp-cefr-a\">A2<\/div>\n          <div class=\"vprp-cefr vprp-cefr-b\">B1<\/div>\n          <div class=\"vprp-cefr vprp-cefr-b\">B2<\/div>\n          <div class=\"vprp-cefr vprp-cefr-c\">C1<\/div>\n          <div class=\"vprp-cefr-label\">12 structured<br>levels<\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<\/div>\n\n<style>\n#vprp-root {\n  --f-d:    'Plus Jakarta Sans', system-ui, sans-serif;\n  --f-b:    'DM Sans', system-ui, sans-serif;\n  --accent: #2E3192;\n  --acc-lt: #EEF0FB;\n  --black:  #0A0A0A;\n  --g3:     #6B6B6B;\n  --g4:     #AEAEB2;\n  --g5:     #E5E5EA;\n  --bg:     #F2F2F7;\n  --white:  #FFFFFF;\n  --dark:   #080810;\n  --ease:   cubic-bezier(.16,1,.3,1);\n  --gap:    20px;\n}\n\n#vprp-root, #vprp-root *, #vprp-root *::before, #vprp-root *::after {\n  box-sizing: border-box; margin: 0; padding: 0;\n  -webkit-font-smoothing: antialiased;\n}\n\n\/* Reveal *\/\n#vprp-root .vprp-reveal {\n  opacity: 0; transform: translateY(22px);\n  transition: opacity .8s var(--ease), transform .8s var(--ease);\n  transition-delay: var(--d, 0s);\n}\n#vprp-root .vprp-reveal.vprp-visible { opacity: 1; transform: none; }\n\n\/* \u2550\u2550 1. HERO \u2550\u2550 *\/\n#vprp-root .vprp-hero {\n  background: var(--white);\n  padding: 120px 0 80px;\n  border-bottom: 1px solid var(--g5);\n}\n\n#vprp-root .vprp-hero-inner {\n  max-width: 860px;\n  margin: 0 auto;\n  padding: 0 40px;\n}\n\n#vprp-root .vprp-eyebrow {\n  display: block; font-family: var(--f-d);\n  font-size: 12px; font-weight: 700;\n  letter-spacing: 2px; text-transform: uppercase;\n  color: var(--accent); margin-bottom: 16px;\n}\n\n#vprp-root .vprp-hero-h1 {\n  font-family: var(--f-d);\n  font-size: clamp(52px, 7vw, 96px);\n  font-weight: 900; line-height: .96;\n  letter-spacing: -4px; color: var(--black);\n  margin-bottom: 22px;\n}\n#vprp-root .vprp-hero-h1 em {\n  font-style: italic; font-weight: 300;\n  color: var(--accent); letter-spacing: -3px;\n}\n\n#vprp-root .vprp-hero-sub {\n  font-family: var(--f-b); font-size: 19px;\n  line-height: 1.75; color: var(--g3);\n  max-width: 620px; margin-bottom: 32px;\n}\n\n#vprp-root .vprp-trust {\n  display: flex; gap: 24px; flex-wrap: wrap;\n}\n#vprp-root .vprp-trust span {\n  display: inline-flex; align-items: center; gap: 7px;\n  font-family: var(--f-b); font-size: 14px; font-weight: 500;\n  color: var(--g3);\n}\n#vprp-root .vprp-trust span svg { color: #059669; flex-shrink: 0; }\n\n\/* \u2550\u2550 2. PRICING \u2550\u2550 *\/\n#vprp-root .vprp-pricing {\n  background: var(--bg);\n  padding: 80px 0 60px;\n}\n\n#vprp-root .vprp-pricing-inner {\n  max-width: 1100px;\n  margin: 0 auto;\n  padding: 0 40px;\n}\n\n\/* Toggle *\/\n#vprp-root .vprp-toggle-wrap {\n  display: inline-flex; gap: 4px;\n  background: #DCDCE0; border-radius: 100px;\n  padding: 4px; margin-bottom: 48px;\n}\n#vprp-root .vprp-toggle {\n  padding: 10px 30px; border-radius: 100px; border: none;\n  font-size: 15px; font-weight: 600; font-family: var(--f-d);\n  cursor: pointer; background: transparent; color: var(--g3);\n  transition: background .25s, color .25s, box-shadow .25s;\n}\n#vprp-root .vprp-toggle-active {\n  background: var(--accent); color: white;\n  box-shadow: 0 4px 14px rgba(46,49,146,.28);\n}\n#vprp-root .vprp-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }\n\n\/* Hidden *\/\n#vprp-root #vprp-ind[hidden],\n#vprp-root #vprp-grp[hidden] { display: none !important; }\n\n\/* Carousel *\/\n#vprp-root .vprp-carousel-wrap {\n  display: flex; align-items: center; gap: 14px;\n}\n#vprp-root .vprp-viewport {\n  flex: 1; overflow: hidden;\n  mask-image: linear-gradient(to right, transparent 0%, black 2%, black 98%, transparent 100%);\n  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 2%, black 98%, transparent 100%);\n  cursor: grab;\n  touch-action: pan-y;\n}\n#vprp-root .vprp-viewport.is-dragging { cursor: grabbing; }\n#vprp-root .vprp-viewport.is-dragging .vprp-track { transition: none; }\n#vprp-root .vprp-viewport.is-dragging .vprp-card { pointer-events: none; }\n\n#vprp-root .vprp-track {\n  display: flex; gap: var(--gap);\n  transition: transform .5s var(--ease);\n  will-change: transform;\n  padding: 20px 4px 24px;\n  user-select: none;\n  -webkit-user-select: none;\n}\n\n#vprp-root .vprp-card,\n#vprp-root .vprp-card img { -webkit-user-drag: none; user-drag: none; }\n\n\/* Card *\/\n#vprp-root .vprp-card {\n  flex: 0 0 calc((100% - 2 * var(--gap)) \/ 3);\n  background: var(--white);\n  border: 1px solid var(--g5);\n  border-radius: 22px; padding: 28px 24px 24px;\n  display: flex; flex-direction: column; gap: 10px;\n  position: relative;\n  box-shadow: 0 2px 10px rgba(0,0,0,.04);\n  transition: transform .3s var(--ease), box-shadow .3s, border-color .3s;\n}\n#vprp-root .vprp-card:hover {\n  transform: translateY(-5px);\n  box-shadow: 0 16px 40px rgba(46,49,146,.09);\n  border-color: #C7CAEE;\n}\n#vprp-root .vprp-card-featured { border: 2px solid var(--accent); box-shadow: 0 6px 24px rgba(46,49,146,.14); }\n#vprp-root .vprp-card-otg { border-color: #FDE68A; }\n#vprp-root .vprp-card-otg:hover { border-color: #F59E0B; }\n#vprp-root .vprp-card-lg { flex: unset; min-width: unset; }\n\n#vprp-root .vprp-popular {\n  position: absolute; top: -14px; left: 50%; transform: translateX(-50%);\n  background: var(--accent); color: white;\n  padding: 6px 16px; border-radius: 100px;\n  font-family: var(--f-d); font-size: 10px; font-weight: 800;\n  letter-spacing: 1px; white-space: nowrap;\n  box-shadow: 0 4px 14px rgba(46,49,146,.35);\n}\n\n#vprp-root .vprp-otg-badge {\n  display: inline-block; padding: 4px 11px;\n  background: #FEF3C7; color: #92400E;\n  border-radius: 100px; font-family: var(--f-d);\n  font-size: 10px; font-weight: 800; letter-spacing: .5px;\n  align-self: flex-start;\n}\n\n#vprp-root .vprp-disc {\n  display: inline-block; padding: 5px 12px;\n  background: var(--bg); color: var(--accent);\n  border-radius: 100px; font-family: var(--f-d);\n  font-size: 12px; font-weight: 700; align-self: flex-start;\n}\n#vprp-root .vprp-disc-white { background: var(--accent); color: white; }\n#vprp-root .vprp-disc-otg { background: #FEF3C7; color: #92400E; }\n\n#vprp-root .vprp-card-name {\n  font-family: var(--f-d); font-size: 26px; font-weight: 800;\n  color: var(--black); letter-spacing: -.7px; line-height: 1;\n}\n#vprp-root .vprp-card-meta { font-family: var(--f-b); font-size: 12px; color: var(--g4); margin-bottom: 4px; }\n\n#vprp-root .vprp-price-block { display: flex; flex-direction: column; gap: 4px; }\n#vprp-root .vprp-old { font-family: var(--f-d); font-size: 13px; font-weight: 500; color: var(--g5); text-decoration: line-through; }\n#vprp-root .vprp-price { font-family: var(--f-d); font-size: 32px; font-weight: 900; color: var(--accent); letter-spacing: -1.5px; line-height: 1; }\n#vprp-root .vprp-per { font-size: 14px; font-weight: 500; color: var(--g3); letter-spacing: 0; }\n#vprp-root .vprp-total { font-family: var(--f-b); font-size: 13px; color: var(--g3); }\n#vprp-root .vprp-total strong { color: var(--black); font-weight: 700; }\n#vprp-root .vprp-save { display: inline-block; padding: 4px 10px; background: #DCFCE7; color: #166534; border-radius: 100px; font-family: var(--f-d); font-size: 11px; font-weight: 700; align-self: flex-start; }\n\n#vprp-root .vprp-select {\n  padding: 8px 10px; border: 1.5px solid var(--g5);\n  border-radius: 10px; font-size: 13px; font-weight: 600;\n  font-family: var(--f-d); color: var(--black); background: var(--bg);\n  cursor: pointer; appearance: none; -webkit-appearance: none;\n  background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%232E3192' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'\/%3E%3C\/svg%3E\");\n  background-repeat: no-repeat; background-position: right 8px center;\n  padding-right: 28px; width: 100%;\n}\n#vprp-root .vprp-select:focus { outline: none; border-color: var(--accent); }\n\n#vprp-root .vprp-divider { height: 1px; background: var(--g5); margin: 4px 0; }\n\n#vprp-root .vprp-features { list-style: none; flex: 1; display: flex; flex-direction: column; gap: 8px; margin-bottom: 4px; }\n#vprp-root .vprp-features li { font-family: var(--f-b); font-size: 13px; color: #4B5563; padding-left: 18px; position: relative; line-height: 1.4; }\n#vprp-root .vprp-features li::before { content: '\u2713'; position: absolute; left: 0; color: #059669; font-weight: 700; font-size: 12px; }\n\n#vprp-root .vprp-btn {\n  display: block; text-align: center; padding: 14px;\n  background: var(--black); color: white; border-radius: 14px;\n  text-decoration: none; font-family: var(--f-d); font-weight: 700; font-size: 14px;\n  transition: background .25s, transform .2s; margin-top: auto;\n}\n#vprp-root .vprp-btn:hover { background: var(--accent); transform: translateY(-2px); }\n#vprp-root .vprp-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }\n#vprp-root .vprp-btn-accent { background: var(--accent); }\n#vprp-root .vprp-btn-accent:hover { background: #1d1f6e; }\n\n\/* Arrows *\/\n#vprp-root .vprp-arrow {\n  width: 46px; height: 46px; flex-shrink: 0;\n  border-radius: 50%; border: 1.5px solid var(--g5);\n  background: var(--white); color: var(--black); cursor: pointer;\n  display: flex; align-items: center; justify-content: center;\n  transition: background .25s, border-color .25s, color .25s, transform .2s;\n}\n#vprp-root .vprp-arrow:hover { background: var(--accent); border-color: var(--accent); color: white; transform: scale(1.08); }\n#vprp-root .vprp-arrow:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }\n#vprp-root .vprp-arrow:disabled { opacity: .3; cursor: default; pointer-events: none; }\n\n\/* Dots *\/\n#vprp-root .vprp-dots { display: flex; justify-content: center; gap: 7px; margin-top: 20px; }\n#vprp-root .vprp-dot {\n  height: 7px; width: 7px; border-radius: 100px;\n  border: none; background: var(--g5); cursor: pointer; padding: 0;\n  transition: background .25s, width .3s var(--ease);\n}\n#vprp-root .vprp-dot.is-active { background: var(--accent); width: 22px; border-radius: 4px; }\n#vprp-root .vprp-dot:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }\n\n\/* Group grid *\/\n#vprp-root .vprp-group-grid {\n  display: grid; grid-template-columns: 1fr 1fr; gap: 20px;\n  max-width: 760px;\n}\n\n\/* \u2550\u2550 3. INCLUDED \u2550\u2550 *\/\n#vprp-root .vprp-included { background: var(--white); padding: 100px 0; }\n#vprp-root .vprp-included-inner { max-width: 960px; margin: 0 auto; padding: 0 40px; }\n#vprp-root .vprp-section-h {\n  font-family: var(--f-d); font-size: clamp(32px, 4vw, 52px);\n  font-weight: 900; letter-spacing: -2px; color: var(--black);\n  margin-bottom: 12px; line-height: 1.1;\n}\n#vprp-root .vprp-section-sub {\n  font-family: var(--f-b); font-size: 17px; color: var(--g3);\n  line-height: 1.7; margin-bottom: 40px; max-width: 600px;\n}\n#vprp-root .vprp-table-wrap { overflow-x: auto; border-radius: 20px; border: 1px solid var(--g5); }\n#vprp-root .vprp-table { width: 100%; border-collapse: collapse; background: var(--white); font-size: 15px; }\n#vprp-root .vprp-table th { background: var(--accent); color: white; padding: 16px 20px; text-align: left; font-family: var(--f-d); font-weight: 700; font-size: 14px; }\n#vprp-root .vprp-table th:first-child { border-radius: 20px 0 0 0; }\n#vprp-root .vprp-table th:last-child  { border-radius: 0 20px 0 0; }\n#vprp-root .vprp-table td { padding: 14px 20px; border-bottom: 1px solid #F3F4F6; font-family: var(--f-b); color: #374151; }\n#vprp-root .vprp-table tr:last-child td { border-bottom: none; }\n#vprp-root .vprp-table tr:hover td { background: #FAFAFA; }\n#vprp-root .vprp-yes  { color: #059669; font-weight: 700; }\n#vprp-root .vprp-no   { color: var(--g4); }\n#vprp-root .vprp-part { color: #D97706; font-weight: 600; }\n\n\/* \u2550\u2550 4. FAQ \u2550\u2550 *\/\n#vprp-root .vprp-faq { background: var(--bg); padding: 100px 0; }\n#vprp-root .vprp-faq-inner { max-width: 760px; margin: 0 auto; padding: 0 40px; }\n#vprp-root .vprp-faq-inner > .vprp-section-h { margin-bottom: 40px; }\n#vprp-root .vprp-faq-list { display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--g5); }\n\n#vprp-root .vprp-fitem { border-bottom: 1px solid var(--g5); }\n#vprp-root .vprp-fitem.is-open { border-color: var(--accent); }\n\n#vprp-root .vprp-fq {\n  width: 100%; background: none; border: none;\n  padding: 22px 0; display: flex; align-items: center;\n  justify-content: space-between; gap: 20px;\n  cursor: pointer; font-family: var(--f-d);\n  font-size: 17px; font-weight: 600; color: var(--black);\n  letter-spacing: -.3px; text-align: left;\n  transition: color .25s;\n}\n#vprp-root .vprp-fitem.is-open .vprp-fq { color: var(--accent); }\n#vprp-root .vprp-fq:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 4px; }\n\n#vprp-root .vprp-ficon {\n  position: relative; width: 20px; height: 20px;\n  border: 2px solid var(--g5); border-radius: 50%; flex-shrink: 0;\n  transition: transform .35s var(--ease), border-color .25s;\n}\n#vprp-root .vprp-ficon::before,\n#vprp-root .vprp-ficon::after {\n  content: ''; position: absolute; background: currentColor; border-radius: 1px;\n  transition: transform .35s, opacity .25s;\n}\n#vprp-root .vprp-ficon::before { width: 9px; height: 1.5px; top: 50%; left: 50%; transform: translate(-50%,-50%); }\n#vprp-root .vprp-ficon::after  { width: 1.5px; height: 9px; top: 50%; left: 50%; transform: translate(-50%,-50%); }\n#vprp-root .vprp-fitem.is-open .vprp-ficon { border-color: var(--accent); }\n#vprp-root .vprp-fitem.is-open .vprp-ficon::after { transform: translate(-50%,-50%) rotate(90deg); opacity: 0; }\n\n#vprp-root .vprp-fa { max-height: 0; overflow: hidden; transition: max-height .4s var(--ease); }\n#vprp-root .vprp-fa-body { padding: 0 0 22px; font-family: var(--f-b); font-size: 15px; line-height: 1.8; color: var(--g3); }\n\n\/* \u2550\u2550 5. CTA \u2550\u2550 *\/\n#vprp-root .vprp-cta { background: var(--white); border-top: 1px solid var(--g5); padding: 100px 0; }\n#vprp-root .vprp-cta-inner {\n  max-width: 1100px; margin: 0 auto; padding: 0 40px;\n  display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;\n}\n#vprp-root .vprp-cta-eyebrow {\n  display: block; font-family: var(--f-d); font-size: 12px; font-weight: 700;\n  letter-spacing: 2px; text-transform: uppercase; color: var(--accent); margin-bottom: 14px;\n}\n#vprp-root .vprp-cta-h {\n  font-family: var(--f-d); font-size: clamp(36px, 4vw, 56px);\n  font-weight: 900; letter-spacing: -2.5px; color: var(--black);\n  line-height: 1.0; margin-bottom: 16px;\n}\n#vprp-root .vprp-cta-sub {\n  font-family: var(--f-b); font-size: 16px; line-height: 1.75;\n  color: var(--g3); margin-bottom: 32px;\n}\n#vprp-root .vprp-cta-actions { display: flex; gap: 12px; flex-wrap: wrap; }\n\n#vprp-root .vprp-cta-btn-primary {\n  display: inline-block; padding: 15px 32px;\n  background: var(--accent); color: white;\n  border-radius: 100px; text-decoration: none;\n  font-family: var(--f-d); font-weight: 700; font-size: 15px;\n  transition: background .25s, transform .25s, box-shadow .25s;\n  box-shadow: 0 6px 20px rgba(46,49,146,.25);\n}\n#vprp-root .vprp-cta-btn-primary:hover { background: #1d1f6e; transform: translateY(-2px); }\n#vprp-root .vprp-cta-btn-primary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }\n\n#vprp-root .vprp-cta-btn-ghost {\n  display: inline-block; padding: 15px 32px;\n  background: white; border: 1px solid var(--g5);\n  color: var(--g3); border-radius: 100px; text-decoration: none;\n  font-family: var(--f-d); font-weight: 600; font-size: 15px;\n  transition: border-color .25s, color .25s, transform .25s;\n}\n#vprp-root .vprp-cta-btn-ghost:hover { border-color: var(--g4); color: var(--black); transform: translateY(-2px); }\n#vprp-root .vprp-cta-btn-ghost:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }\n\n\/* CEFR visual *\/\n#vprp-root .vprp-cefr-grid {\n  display: flex; flex-wrap: wrap; gap: 12px; align-items: center;\n}\n#vprp-root .vprp-cefr {\n  width: 72px; height: 72px; border-radius: 18px;\n  display: flex; align-items: center; justify-content: center;\n  font-family: var(--f-d); font-size: 18px; font-weight: 900;\n  letter-spacing: -.5px;\n}\n#vprp-root .vprp-cefr-a { background: #DBEAFE; color: #1D4ED8; }\n#vprp-root .vprp-cefr-b { background: var(--acc-lt); color: var(--accent); }\n#vprp-root .vprp-cefr-c { background: #FEF3C7; color: #92400E; }\n#vprp-root .vprp-cefr-label {\n  font-family: var(--f-d); font-size: 15px; font-weight: 700;\n  color: var(--g3); letter-spacing: -.2px; line-height: 1.4;\n}\n\n\/* \u2500\u2500 Responsive \u2500\u2500 *\/\n@media (max-width: 860px) {\n  #vprp-root .vprp-card { flex: 0 0 calc((100% - var(--gap)) \/ 2); }\n  #vprp-root .vprp-cta-inner { grid-template-columns: 1fr; gap: 48px; }\n}\n@media (max-width: 600px) {\n  #vprp-root .vprp-hero { padding: 90px 0 60px; }\n  #vprp-root .vprp-hero-inner { padding: 0 20px; }\n  #vprp-root .vprp-pricing-inner { padding: 0 16px; }\n  #vprp-root .vprp-card { flex: 0 0 85%; }\n  #vprp-root .vprp-arrow { display: none; }\n  #vprp-root .vprp-group-grid { grid-template-columns: 1fr; }\n  #vprp-root .vprp-included-inner,\n  #vprp-root .vprp-faq-inner,\n  #vprp-root .vprp-cta-inner { padding: 0 20px; }\n  #vprp-root .vprp-hero-h1 { letter-spacing: -2.5px; }\n  #vprp-root .vprp-cta-actions { flex-direction: column; }\n  #vprp-root .vprp-cta-btn-primary,\n  #vprp-root .vprp-cta-btn-ghost { text-align: center; }\n}\n@media (prefers-reduced-motion: reduce) {\n  #vprp-root .vprp-track { transition: none; }\n  #vprp-root .vprp-reveal { transition: none; opacity: 1; transform: none; }\n}\n<\/style>\n\n<script>\n(function () {\n  'use strict';\n\n  \/* \u2500\u2500 Carousel \u2500\u2500 *\/\n  var track    = document.getElementById('vprp-track');\n  var viewport = track.parentElement;\n  var btnPrev  = document.getElementById('vprp-prev');\n  var btnNext  = document.getElementById('vprp-next');\n  var dotsEl   = document.getElementById('vprp-dots');\n  var cards    = Array.from(track.children);\n  var total    = cards.length;\n  var current  = 0;\n\n  function vis() {\n    var w = viewport.offsetWidth;\n    return w < 480 ? 1 : w < 720 ? 2 : 3;\n  }\n  function maxIdx() { return Math.max(0, total - vis()); }\n  function step() {\n    var gap = parseInt(getComputedStyle(track).columnGap) || 20;\n    return cards[0].offsetWidth + gap;\n  }\n  function offsetFor(i) { return -i * step(); }\n\n  cards.forEach(function(_, i) {\n    var d = document.createElement('button');\n    d.className = 'vprp-dot';\n    d.setAttribute('aria-label', 'Plan ' + (i + 1));\n    d.addEventListener('click', function() { goTo(i); });\n    dotsEl.appendChild(d);\n  });\n\n  function goTo(i) {\n    current = Math.max(0, Math.min(i, maxIdx()));\n    setX(offsetFor(current), true);\n    dotsEl.querySelectorAll('.vprp-dot').forEach(function(d, idx) { d.classList.toggle('is-active', idx === current); });\n    btnPrev.disabled = current === 0;\n    btnNext.disabled = current >= maxIdx();\n  }\n\n  function setX(px, animate) {\n    track.style.transition = animate ? '' : 'none';\n    track.style.transform = 'translateX(' + px + 'px)';\n  }\n\n  btnPrev.addEventListener('click', function() { goTo(current - 1); });\n  btnNext.addEventListener('click', function() { goTo(current + 1); });\n\n  viewport.setAttribute('tabindex', '0');\n  viewport.addEventListener('keydown', function(e) {\n    if (e.key === 'ArrowRight') { e.preventDefault(); goTo(current + 1); }\n    if (e.key === 'ArrowLeft')  { e.preventDefault(); goTo(current - 1); }\n  });\n\n  \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     SMOOTH DRAG \u2014 same engine as the homepage pricing carousel:\n     Pointer Events cover mouse + touch + pen with one code path,\n     real-time 1:1 tracking, rubber-band resistance at the edges,\n     and flick-velocity detection so a fast swipe advances even on\n     a short drag.\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n  var dragging  = false;\n  var startX    = 0;\n  var startXpos = 0;\n  var lastX     = 0;\n  var lastT     = 0;\n  var velocity  = 0;\n  var moved     = false;\n  var pointerIdForCapture = null;\n  var DRAG_THRESHOLD = 6;\n\n  function minX() { return offsetFor(maxIdx()); }\n  function maxX() { return 0; }\n\n  function clampWithResistance(x) {\n    if (x > maxX()) return maxX() + (x - maxX()) * 0.35;\n    if (x < minX()) return minX() + (x - minX()) * 0.35;\n    return x;\n  }\n\n  function onDown(e) {\n    if (e.button === 2) return;\n    dragging = true;\n    moved = false;\n    startX = e.clientX;\n    lastX = e.clientX;\n    lastT = e.timeStamp || Date.now();\n    velocity = 0;\n    startXpos = offsetFor(current);\n    pointerIdForCapture = e.pointerId;\n    \/\/ Deliberately NOT adding 'is-dragging' or capturing the pointer\n    \/\/ here \u2014 that happens in onMove, only once real drag motion is\n    \/\/ confirmed past the threshold. Doing it immediately on every\n    \/\/ press (including plain clicks\/taps) was blocking the Enroll Now\n    \/\/ links inside the cards from navigating at all.\n  }\n\n  function onMove(e) {\n    if (!dragging) return;\n    var dx = e.clientX - startX;\n    if (!moved && Math.abs(dx) < DRAG_THRESHOLD) return;\n\n    if (!moved) {\n      \/\/ Just crossed the threshold for the first time \u2014 confirmed\n      \/\/ as a real drag now, not a click. Engage capture + styling.\n      moved = true;\n      viewport.classList.add('is-dragging');\n      if (pointerIdForCapture != null && viewport.setPointerCapture) {\n        try { viewport.setPointerCapture(pointerIdForCapture); } catch (err) {}\n      }\n    }\n\n    var now = e.timeStamp || Date.now();\n    var dt = now - lastT;\n    if (dt > 0) velocity = (e.clientX - lastX) \/ dt;\n    lastX = e.clientX;\n    lastT = now;\n\n    setX(clampWithResistance(startXpos + dx), false);\n  }\n\n  function onUp(e) {\n    if (!dragging) return;\n    dragging = false;\n\n    if (moved) {\n      viewport.classList.remove('is-dragging');\n      if (e.pointerId != null && viewport.releasePointerCapture) {\n        try { viewport.releasePointerCapture(e.pointerId); } catch (err) {}\n      }\n    }\n\n    if (!moved) { goTo(current); return; }\n\n    var dragged = e.clientX - startX;\n    var s = step();\n\n    var FLICK = 0.45;\n    var target;\n    if (velocity <= -FLICK)      target = current + 1;\n    else if (velocity >= FLICK)  target = current - 1;\n    else                         target = Math.round(-(startXpos + dragged) \/ s);\n\n    goTo(target);\n  }\n\n  if (window.PointerEvent) {\n    viewport.addEventListener('pointerdown', onDown);\n    viewport.addEventListener('pointermove', onMove);\n    viewport.addEventListener('pointerup', onUp);\n    viewport.addEventListener('pointercancel', onUp);\n    viewport.addEventListener('pointerleave', function (e) { if (dragging) onUp(e); });\n  } else {\n    viewport.addEventListener('touchstart', function (e) { onDown(e.touches[0]); }, { passive: true });\n    viewport.addEventListener('touchmove',  function (e) { onMove(e.touches[0]); }, { passive: true });\n    viewport.addEventListener('touchend',   function (e) { onUp(e.changedTouches[0]); });\n    viewport.addEventListener('mousedown',  onDown);\n    window.addEventListener('mousemove',    onMove);\n    window.addEventListener('mouseup',      onUp);\n  }\n\n  \/* Suppress click if it was actually a drag (so Enroll links don't fire) *\/\n  track.addEventListener('click', function (e) {\n    if (moved) { e.preventDefault(); e.stopPropagation(); }\n  }, true);\n\n  var rt;\n  window.addEventListener('resize', function () {\n    clearTimeout(rt);\n    rt = setTimeout(function () { goTo(current); }, 120);\n  }, { passive: true });\n\n  \/* \u2500\u2500 Toggle \u2500\u2500 *\/\n  window.vprpSwitch = function(type) {\n    var ind = document.getElementById('vprp-ind');\n    var grp = document.getElementById('vprp-grp');\n    var bi  = document.getElementById('vprp-btn-ind');\n    var bg  = document.getElementById('vprp-btn-grp');\n    if (type === 'individual') {\n      ind.removeAttribute('hidden'); grp.setAttribute('hidden', '');\n      bi.classList.add('vprp-toggle-active');    bg.classList.remove('vprp-toggle-active');\n      bi.setAttribute('aria-pressed', 'true');   bg.setAttribute('aria-pressed', 'false');\n      goTo(current);\n    } else {\n      grp.removeAttribute('hidden'); ind.setAttribute('hidden', '');\n      bg.classList.add('vprp-toggle-active');    bi.classList.remove('vprp-toggle-active');\n      bg.setAttribute('aria-pressed', 'true');   bi.setAttribute('aria-pressed', 'false');\n    }\n  };\n\n  \/* \u2500\u2500 FAQ accordion \u2500\u2500 *\/\n  var fitems = Array.from(document.querySelectorAll('#vprp-faq-list .vprp-fitem'));\n  function openF(item) {\n    var btn = item.querySelector('.vprp-fq');\n    var ans = item.querySelector('.vprp-fa');\n    item.classList.add('is-open');\n    btn.setAttribute('aria-expanded', 'true');\n    ans.style.maxHeight = item.querySelector('.vprp-fa-body').scrollHeight + 'px';\n  }\n  function closeF(item) {\n    var btn = item.querySelector('.vprp-fq');\n    var ans = item.querySelector('.vprp-fa');\n    item.classList.remove('is-open');\n    btn.setAttribute('aria-expanded', 'false');\n    ans.style.maxHeight = '0';\n  }\n  fitems.forEach(function(item) {\n    item.querySelector('.vprp-fq').addEventListener('click', function() {\n      var open = item.classList.contains('is-open');\n      fitems.forEach(function(o) { if (o !== item) closeF(o); });\n      open ? closeF(item) : openF(item);\n    });\n  });\n\n  \/* \u2500\u2500 Scroll reveal \u2500\u2500 *\/\n  var obs = new IntersectionObserver(function(entries) {\n    entries.forEach(function(e) {\n      if (e.isIntersecting) { e.target.classList.add('vprp-visible'); obs.unobserve(e.target); }\n    });\n  }, { threshold: 0.08 });\n  document.querySelectorAll('#vprp-root .vprp-reveal').forEach(function(el) { obs.observe(el); });\n\n  goTo(0);\n}());\n<\/script>\n\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Pricing \u2013 Vermont English Pricing Simple plans.No surprises. The more classes you commit to, the more you save. Every plan includes a dedicated teacher, Online lessons and progress reports after every class. No hidden fees Classes never expire Free 30-min consultation Secure payment via Stripe Individual Group 8% OFF Basic 10 classes \u00b7 1-on-1 \u00b7 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-26895","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/vermontenglish.com\/en\/wp-json\/wp\/v2\/pages\/26895","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vermontenglish.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vermontenglish.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vermontenglish.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vermontenglish.com\/en\/wp-json\/wp\/v2\/comments?post=26895"}],"version-history":[{"count":23,"href":"https:\/\/vermontenglish.com\/en\/wp-json\/wp\/v2\/pages\/26895\/revisions"}],"predecessor-version":[{"id":27486,"href":"https:\/\/vermontenglish.com\/en\/wp-json\/wp\/v2\/pages\/26895\/revisions\/27486"}],"wp:attachment":[{"href":"https:\/\/vermontenglish.com\/en\/wp-json\/wp\/v2\/media?parent=26895"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}