{"id":19,"date":"2025-10-30T14:05:12","date_gmt":"2025-10-30T14:05:12","guid":{"rendered":"https:\/\/altecglobal.wpenginepowered.com\/?page_id=19"},"modified":"2026-04-02T19:34:16","modified_gmt":"2026-04-02T19:34:16","slug":"crs-%e8%a8%88%e7%ae%97%e6%a9%9f","status":"publish","type":"page","link":"https:\/\/cicvisa.com\/zh\/crs-%e8%a8%88%e7%ae%97%e6%a9%9f\/","title":{"rendered":"CRS \u8a08\u7b97\u6a5f"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"19\" class=\"elementor elementor-19\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f207762 e-flex e-con-boxed e-con e-parent\" data-id=\"f207762\" 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-7841c84 elementor-widget elementor-widget-heading\" data-id=\"7841c84\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">CRS \u8a08\u7b97\u6a5f<\/h1>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4f6a964 e-con-full e-flex e-con e-child\" data-id=\"4f6a964\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d7924f7 elementor-widget elementor-widget-html\" data-id=\"d7924f7\" data-element_type=\"widget\" data-no-translation=\"\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>.elementor-element-d7924f7{display:none !important}<\/style>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-56230d1 elementor-widget elementor-widget-html\" data-id=\"56230d1\" data-element_type=\"widget\" data-no-translation=\"\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- CRS \u8a08\u7b97\u5668 - Elementor \u9069\u7528\u7248\u672c -->\n<!-- \u5305\u542b Formidable Forms \u8868\u55ae\u9598\u9580\u529f\u80fd -->\n<!-- \u5c07\u4ee5\u4e0b\u6240\u6709\u5167\u5bb9\u8907\u88fd\u5230 Elementor HTML \u5c0f\u5de5\u5177\u4e2d -->\n\n<!-- Google Fonts - Montserrat + Noto Sans TC for Chinese -->\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@400;500;600;700&family=Noto+Sans+TC:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\n<!-- jsPDF library for PDF generation -->\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf\/2.5.1\/jspdf.umd.min.js\"><\/script>\n\n<style>\n    \/* Scoped styles for CRS Calculator - Elementor Safe *\/\n    #crs-calc-wrapper {\n        font-family: 'Noto Sans TC', 'Montserrat', sans-serif;\n        max-width: 900px;\n        margin: 0 auto;\n        padding: 0;\n    }\n    #crs-calc-wrapper #crs-calculator {\n        background: #fff;\n        border: 1px solid #eee;\n        border-radius: 10px;\n        padding: 20px;\n        box-shadow: 0 4px 10px rgba(0,0,0,0.05);\n    }\n    #crs-calc-wrapper .crs-card {\n        margin-bottom: 20px;\n    }\n    #crs-calc-wrapper .crs-title {\n        font-size: 22px;\n        margin-bottom: 15px;\n        color: #B1251F;\n    }\n    #crs-calc-wrapper .crs-label {\n        font-weight: bold;\n        margin-bottom: 5px;\n        display: block;\n        margin-top: 12px;\n    }\n    #crs-calc-wrapper .crs-select {\n        width: 100%;\n        padding: 10px;\n        border: 1px solid #ccc;\n        border-radius: 6px;\n        margin-top: 8px;\n        font-size: 15px;\n        box-sizing: border-box;\n    }\n    #crs-calc-wrapper #results {\n        display: none;\n        margin-top: 30px;\n    }\n    #crs-calc-wrapper #results h2 {\n        font-size: 26px;\n        margin-bottom: 10px;\n    }\n    #crs-calc-wrapper #results h3 {\n        margin-bottom: 5px;\n    }\n    #crs-calc-wrapper #calculate-button {\n        width: 100%;\n        padding: 15px 30px;\n        font-size: 18px;\n        font-weight: bold;\n        background-color: #B1251F;\n        color: white;\n        border: none;\n        border-radius: 6px;\n        cursor: pointer;\n        transition: background-color 0.3s;\n    }\n    #crs-calc-wrapper #calculate-button:hover {\n        background-color: #8B1D18;\n    }\n\n    \/* ============================== *\/\n    \/* FORM GATE MODAL STYLES         *\/\n    \/* ============================== *\/\n    #crs-form-gate-overlay {\n        display: none;\n        position: fixed;\n        z-index: 999999;\n        left: 0;\n        top: 0;\n        width: 100%;\n        height: 100%;\n        background-color: rgba(0, 0, 0, 0.6);\n        backdrop-filter: blur(4px);\n        -webkit-backdrop-filter: blur(4px);\n        animation: crsGateFadeIn 0.3s ease;\n    }\n    @keyframes crsGateFadeIn {\n        from { opacity: 0; }\n        to { opacity: 1; }\n    }\n    #crs-form-gate-modal {\n        background-color: #fff;\n        margin: 5% auto;\n        padding: 0;\n        border: none;\n        border-radius: 12px;\n        width: 90%;\n        max-width: 600px;\n        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);\n        max-height: 85vh;\n        overflow-y: auto;\n        font-family: 'Noto Sans TC', 'Montserrat', sans-serif;\n        animation: crsGateSlideUp 0.35s ease;\n    }\n    @keyframes crsGateSlideUp {\n        from { opacity: 0; transform: translateY(30px); }\n        to { opacity: 1; transform: translateY(0); }\n    }\n    #crs-form-gate-header {\n        background: linear-gradient(135deg, #B1251F, #8B1D18);\n        color: white;\n        padding: 25px 30px;\n        border-radius: 12px 12px 0 0;\n        position: relative;\n    }\n    #crs-form-gate-header h2 {\n        margin: 0 0 6px 0;\n        font-size: 22px;\n        font-weight: 700;\n    }\n    #crs-form-gate-header p {\n        margin: 0;\n        font-size: 14px;\n        opacity: 0.9;\n        font-weight: 400;\n    }\n    #crs-form-gate-close {\n        position: absolute;\n        top: 15px;\n        right: 20px;\n        color: rgba(255,255,255,0.7);\n        font-size: 28px;\n        font-weight: bold;\n        cursor: pointer;\n        line-height: 20px;\n        transition: color 0.2s;\n        background: none;\n        border: none;\n    }\n    #crs-form-gate-close:hover {\n        color: #fff;\n    }\n    #crs-form-gate-body {\n        padding: 25px 30px 30px;\n    }\n    \/* Style override for Formidable form inside the modal *\/\n    #crs-form-gate-body .frm_forms {\n        margin: 0 !important;\n    }\n<\/style>\n\n<div id=\"crs-calc-wrapper\">\n    <div id=\"crs-calculator\">\n        <!-- Q1 \u2014 MARITAL STATUS -->\n        <div id=\"q1-card\" class=\"crs-card\">\n            <div class=\"crs-title\">1) \u60a8\u7684\u5a5a\u59fb\u72c0\u6cc1\u70ba\u4f55\uff1f<\/div>\n            <label class=\"crs-label\">\u8acb\u9078\u64c7\u60a8\u7684\u5a5a\u59fb\u72c0\u6cc1\uff1a<\/label>\n            <select id=\"q1\" class=\"crs-select\">\n                <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                <option value=\"A\">\u5a5a\u59fb\u5df2\u64a4\u92b7<\/option>\n                <option value=\"B\">\u540c\u5c45\u4f34\u4fb6\uff08Common-Law\uff09<\/option>\n                <option value=\"C\">\u96e2\u5a5a\uff0f\u5206\u5c45<\/option>\n                <option value=\"D\">\u5408\u6cd5\u5206\u5c45<\/option>\n                <option value=\"E\">\u5df2\u5a5a<\/option>\n                <option value=\"F\">\u5f9e\u672a\u7d50\u5a5a\uff0f\u55ae\u8eab<\/option>\n                <option value=\"G\">\u55aa\u5076<\/option>\n            <\/select>\n        <\/div>\n        \n        <!-- Q2 \u2014 SPOUSE CITIZEN\/PR -->\n        <div id=\"q2-card\" class=\"crs-card\" style=\"display:none;\">\n            <div class=\"crs-title\">2) i. \u60a8\u7684\u914d\u5076\u6216\u540c\u5c45\u4f34\u4fb6\u662f\u5426\u70ba\u52a0\u62ff\u5927\u516c\u6c11\u6216\u6c38\u4e45\u5c45\u6c11\uff1f<\/div>\n            <label class=\"crs-label\">\u8acb\u9078\u64c7\u4e00\u9805\uff1a<\/label>\n            <select id=\"q2\" class=\"crs-select\">\n                <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                <option value=\"A\">\u5426<\/option>\n                <option value=\"B\">\u662f<\/option>\n            <\/select>\n        <\/div>\n        \n        <!-- Q3 \u2014 SPOUSE ACCOMPANYING -->\n        <div id=\"q3-card\" class=\"crs-card\" style=\"display:none;\">\n            <div class=\"crs-title\">2) ii. \u60a8\u7684\u914d\u5076\u6216\u540c\u5c45\u4f34\u4fb6\u662f\u5426\u6703\u8207\u60a8\u4e00\u540c\u524d\u5f80\u52a0\u62ff\u5927\uff1f<\/div>\n            <label class=\"crs-label\">\u8acb\u9078\u64c7\u4e00\u9805\uff1a<\/label>\n            <select id=\"q3\" class=\"crs-select\">\n                <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                <option value=\"A\">\u5426<\/option>\n                <option value=\"B\">\u662f<\/option>\n            <\/select>\n        <\/div>\n        \n        <!-- Q4 \u2014 AGE -->\n        <div id=\"q4-card\" class=\"crs-card\" style=\"display:none;\">\n            <div class=\"crs-title\">3) \u60a8\u7684\u5e74\u9f61\u70ba\u4f55\uff1f<\/div>\n            <p>\u8acb\u9078\u64c7\u6700\u7b26\u5408\u7684\u7b54\u6848\uff1a<\/p>\n            <ul>\n                <li>\u5982\u679c\u60a8\u5df2\u6536\u5230\u7533\u8acb\u9080\u8acb\uff0c\u8acb\u586b\u5beb\u6536\u5230\u9080\u8acb\u6642\u7684\u5e74\u9f61\u3002<\/li>\n                <li>\u5982\u679c\u60a8\u6253\u7b97\u586b\u5beb\u5feb\u901f\u901a\u9053\uff08Express Entry\uff09\u6a94\u6848\uff0c\u8acb\u586b\u5beb\u76ee\u524d\u5e74\u9f61\u3002<\/li>\n            <\/ul>\n            <select id=\"q4\" class=\"crs-select\">\n                <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                <option value=\"A\">17\u6b72\u6216\u4ee5\u4e0b<\/option>\n                <option value=\"B\">18\u6b72<\/option>\n                <option value=\"C\">19\u6b72<\/option>\n                <option value=\"D\">20\u6b72<\/option>\n                <option value=\"E\">21\u6b72<\/option>\n                <option value=\"F\">22\u6b72<\/option>\n                <option value=\"G\">23\u6b72<\/option>\n                <option value=\"H\">24\u6b72<\/option>\n                <option value=\"I\">25\u6b72<\/option>\n                <option value=\"J\">26\u6b72<\/option>\n                <option value=\"K\">27\u6b72<\/option>\n                <option value=\"L\">28\u6b72<\/option>\n                <option value=\"M\">29\u6b72<\/option>\n                <option value=\"N\">30\u6b72<\/option>\n                <option value=\"O\">31\u6b72<\/option>\n                <option value=\"P\">32\u6b72<\/option>\n                <option value=\"Q\">33\u6b72<\/option>\n                <option value=\"R\">34\u6b72<\/option>\n                <option value=\"S\">35\u6b72<\/option>\n                <option value=\"T\">36\u6b72<\/option>\n                <option value=\"U\">37\u6b72<\/option>\n                <option value=\"V\">38\u6b72<\/option>\n                <option value=\"W\">39\u6b72<\/option>\n                <option value=\"X\">40\u6b72<\/option>\n                <option value=\"Y\">41\u6b72<\/option>\n                <option value=\"Z\">42\u6b72<\/option>\n                <option value=\"AA\">43\u6b72<\/option>\n                <option value=\"AB\">44\u6b72<\/option>\n                <option value=\"AC\">45\u6b72\u6216\u4ee5\u4e0a<\/option>\n            <\/select>\n        <\/div>\n        \n        <!-- Q5 \u2014 EDUCATION LEVEL -->\n        <div id=\"q5-card\" class=\"crs-card\" style=\"display:none;\">\n            <div class=\"crs-title\">4) \u60a8\u7684\u6700\u9ad8\u5b78\u6b77\u70ba\u4f55\uff1f<\/div>\n            <p>\u8acb\u586b\u5beb\u60a8\u5df2\u53d6\u5f97\u7684\u6700\u9ad8\u5b78\u6b77\uff0c\u9700\u7b26\u5408\u4ee5\u4e0b\u5176\u4e2d\u4e00\u9805\u689d\u4ef6\uff1a<\/p>\n            <ul>\n                <li>\u53d6\u5f97<strong>\u52a0\u62ff\u5927\u5b78\u4f4d\u3001\u6587\u6191\u6216\u8b49\u66f8<\/strong>\uff0c\u6216<\/li>\n                <li>\u5df2\u5b8c\u6210\u5b78\u6b77\u8a8d\u8b49\u8a55\u4f30\uff08ECA\uff09\uff0c\u9069\u7528\u65bc\u5728\u52a0\u62ff\u5927\u5883\u5916\u5c31\u8b80\u7684\u60c5\u6cc1\uff08\u9808\u7531\u8a8d\u53ef\u6a5f\u69cb\u65bc\u4e94\u5e74\u5167\u6838\u767c\uff09<\/li>\n            <\/ul>\n            <select id=\"q5\" class=\"crs-select\">\n                <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                <option value=\"A\">\u7121\u5b78\u6b77\uff0c\u6216\u672a\u5b8c\u6210\u4e2d\u5b78\uff08\u9ad8\u4e2d\uff09<\/option>\n                <option value=\"B\">\u4e2d\u5b78\u7562\u696d\u6587\u6191\uff08\u9ad8\u4e2d\u7562\u696d\uff09<\/option>\n                <option value=\"C\">\u4e00\u5e74\u5236\u8ab2\u7a0b<\/option>\n                <option value=\"D\">\u5169\u5e74\u5236\u8ab2\u7a0b<\/option>\n                <option value=\"E\">\u5b78\u58eb\u5b78\u4f4d\uff08\u4e09\u5e74\u6216\u4ee5\u4e0a\u8ab2\u7a0b\uff09<\/option>\n                <option value=\"F\">\u5169\u500b\u6216\u4ee5\u4e0a\u8b49\u66f8\uff0f\u6587\u6191\uff08\u5176\u4e2d\u4e00\u500b\u70ba\u4e09\u5e74\u6216\u4ee5\u4e0a\uff09<\/option>\n                <option value=\"G\">\u78a9\u58eb\u5b78\u4f4d\u6216\u5c08\u696d\u5b78\u4f4d<\/option>\n                <option value=\"H\">\u535a\u58eb\u5b78\u4f4d\uff08PhD\uff09<\/option>\n            <\/select>\n        <\/div>\n        \n        <!-- Q6 \u2014 CANADIAN EDUCATION? -->\n        <div id=\"q6-card\" class=\"crs-card\" style=\"display:none;\">\n            <div class=\"crs-title\">4b) \u60a8\u662f\u5426\u53d6\u5f97\u904e\u52a0\u62ff\u5927\u5b78\u4f4d\u3001\u6587\u6191\u6216\u8b49\u66f8\uff1f<\/div>\n            <select id=\"q6\" class=\"crs-select\">\n                <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                <option value=\"A\">\u5426<\/option>\n                <option value=\"B\">\u662f<\/option>\n            <\/select>\n        <\/div>\n        \n        <!-- Q7 \u2014 CANADIAN EDUCATION DETAILS -->\n        <div id=\"q7-card\" class=\"crs-card\" style=\"display:none;\">\n            <div class=\"crs-title\">4c) \u8acb\u9078\u64c7\u6700\u80fd\u63cf\u8ff0\u8a72\u5b78\u6b77\u7a0b\u5ea6\u7684\u9078\u9805\u3002<\/div>\n            <select id=\"q7\" class=\"crs-select\">\n                <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                <option value=\"A\">\u4e2d\u5b78\uff08\u9ad8\u4e2d\uff09\u6216\u4ee5\u4e0b<\/option>\n                <option value=\"B\">\u4e00\u5e74\u5236\u6216\u5169\u5e74\u5236\u6587\u6191\u6216\u8b49\u66f8<\/option>\n                <option value=\"C\">\u4e09\u5e74\u6216\u4ee5\u4e0a\u5b78\u4f4d\uff0c\u6216\u78a9\u58eb\u3001\u5c08\u696d\u6216\u535a\u58eb\u5b78\u4f4d<\/option>\n            <\/select>\n        <\/div>\n        \n        <!-- Q8 \u2014 FIRST LANGUAGE TEST VALIDITY -->\n        <div id=\"q8-card\" class=\"crs-card\" style=\"display:none;\">\n            <div class=\"crs-title\">5) \u5b98\u65b9\u8a9e\u8a00 \u2014 \u7b2c\u4e00\u8a9e\u8a00\u6e2c\u9a57<\/div>\n            <label class=\"crs-label\">\u60a8\u7684\u6e2c\u9a57\u6210\u7e3e\u662f\u5426\u5728\u5169\u5e74\u5167\u6709\u6548\uff1f<\/label>\n            <select id=\"q8\" class=\"crs-select\">\n                <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                <option value=\"A\">\u662f<\/option>\n                <option value=\"B\">\u5426<\/option>\n            <\/select>\n        <\/div>\n        \n        <!-- Q9 \u2014 FIRST LANGUAGE TEST TYPE -->\n        <div id=\"q9-card\" class=\"crs-card\" style=\"display:none;\">\n            <div class=\"crs-title\">5) ii. \u60a8\u53c3\u52a0\u4e86\u54ea\u9805\u8a9e\u8a00\u6e2c\u9a57\uff1f<\/div>\n            <select id=\"q9\" class=\"crs-select\">\n                <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                <option value=\"A\">CELPIP-G<\/option>\n                <option value=\"B\">IELTS<\/option>\n                <option value=\"E\">PTE Core<\/option>\n                <option value=\"C\">TEF Canada<\/option>\n                <option value=\"D\">TCF Canada<\/option>\n            <\/select>\n        <\/div>\n        \n        <!-- Q10 \u2014 FIRST LANGUAGE SCORES -->\n        <div id=\"q10-card\" class=\"crs-card\" style=\"display:none;\">\n            <div class=\"crs-title\">5) \u8acb\u8f38\u5165\u60a8\u7684\u7b2c\u4e00\u5b98\u65b9\u8a9e\u8a00\u6e2c\u9a57\u6210\u7e3e<\/div>\n            <label class=\"crs-label\">\u53e3\u8aaa\uff1a<\/label>\n            <select id=\"lang1_s\" class=\"crs-select\"><\/select>\n            <label class=\"crs-label\">\u807d\u529b\uff1a<\/label>\n            <select id=\"lang1_l\" class=\"crs-select\"><\/select>\n            <label class=\"crs-label\">\u95b1\u8b80\uff1a<\/label>\n            <select id=\"lang1_r\" class=\"crs-select\"><\/select>\n            <label class=\"crs-label\">\u5beb\u4f5c\uff1a<\/label>\n            <select id=\"lang1_w\" class=\"crs-select\"><\/select>\n        <\/div>\n        \n        <!-- Q11 \u2014 SECOND LANGUAGE -->\n        <div id=\"q11-card\" class=\"crs-card\" style=\"display:none;\">\n            <div class=\"crs-title\">5) iii. \u60a8\u662f\u5426\u6709\u5176\u4ed6\u8a9e\u8a00\u6e2c\u9a57\u6210\u7e3e\uff1f<\/div>\n            <p>\u5982\u6709\uff0c\u60a8\u53c3\u52a0\u4e86\u54ea\u9805\u7b2c\u4e8c\u5b98\u65b9\u8a9e\u8a00\u6e2c\u9a57\uff1f<br>\n            \u6e2c\u9a57\u6210\u7e3e\u9808\u5728\u5169\u5e74\u5167\u6709\u6548\u3002<\/p>\n            <select id=\"q11\" class=\"crs-select\">\n                <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                <option value=\"A\">TEF Canada<\/option>\n                <option value=\"B\">TCF Canada<\/option>\n                <option value=\"C\">\u4e0d\u9069\u7528<\/option>\n            <\/select>\n        <\/div>\n        \n        <!-- Q12 \u2014 SECOND LANGUAGE SCORES -->\n        <div id=\"q12-card\" class=\"crs-card\" style=\"display:none;\">\n            <div class=\"crs-title\">\u8acb\u8f38\u5165\u60a8\u7684\u7b2c\u4e8c\u5b98\u65b9\u8a9e\u8a00\u6e2c\u9a57\u6210\u7e3e<\/div>\n            <label class=\"crs-label\">\u53e3\u8aaa\uff1a<\/label>\n            <select id=\"lang2_s\" class=\"crs-select\"><\/select>\n            <label class=\"crs-label\">\u807d\u529b\uff1a<\/label>\n            <select id=\"lang2_l\" class=\"crs-select\"><\/select>\n            <label class=\"crs-label\">\u95b1\u8b80\uff1a<\/label>\n            <select id=\"lang2_r\" class=\"crs-select\"><\/select>\n            <label class=\"crs-label\">\u5beb\u4f5c\uff1a<\/label>\n            <select id=\"lang2_w\" class=\"crs-select\"><\/select>\n        <\/div>\n        \n        <!-- Q14 \u2014 CANADIAN WORK EXPERIENCE -->\n        <div id=\"q14-card\" class=\"crs-card\" style=\"display:none;\">\n            <div class=\"crs-title\">6) i. \u5728\u904e\u53bb\u5341\u5e74\u4e2d\uff0c\u60a8\u5728\u52a0\u62ff\u5927\u6709\u591a\u5c11\u5e74\u7684\u6280\u8853\u5de5\u4f5c\u7d93\u9a57\uff1f<\/div>\n            <p>\u9808\u70ba\u6709\u85aa\u5168\u8077\u5de5\u4f5c\uff08\u6216\u7b49\u540c\u7684\u517c\u8077\u6642\u6578\uff09\u3002<\/p>\n            <p>\u60a8\u5fc5\u9808\u5728\u52a0\u62ff\u5927\u5883\u5167\u70ba\u52a0\u62ff\u5927\u96c7\u4e3b\u5de5\u4f5c\uff0c\u5305\u62ec\u9060\u8ddd\u5de5\u4f5c\u3002<\/p>\n            <p>\u300c\u6280\u8853\u5de5\u4f5c\u300d\u662f\u6307 NOC \u8077\u696d\u5206\u985e\u4e2d TEER 0\u30011\u30012 \u6216 3 \u985e\u5225\u7684\u5de5\u4f5c\u3002<\/p>\n            <select id=\"q14\" class=\"crs-select\">\n                <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                <option value=\"A\">\u7121\u7d93\u9a57\u6216\u4e0d\u8db3\u4e00\u5e74<\/option>\n                <option value=\"B\">1\u5e74<\/option>\n                <option value=\"C\">2\u5e74<\/option>\n                <option value=\"D\">3\u5e74<\/option>\n                <option value=\"E\">4\u5e74<\/option>\n                <option value=\"F\">5\u5e74\u6216\u4ee5\u4e0a<\/option>\n            <\/select>\n        <\/div>\n        \n        <!-- Q15 \u2014 FOREIGN WORK EXPERIENCE -->\n        <div id=\"q15-card\" class=\"crs-card\" style=\"display:none;\">\n            <div class=\"crs-title\">6) ii. \u5728\u904e\u53bb\u5341\u5e74\u4e2d\uff0c\u60a8\u5171\u6709\u591a\u5c11\u5e74\u7684\u6d77\u5916\u6280\u8853\u5de5\u4f5c\u7d93\u9a57\uff1f<\/div>\n            <p>\u9808\u70ba\u6709\u85aa\u5168\u8077\u5de5\u4f5c\uff08\u6216\u7b49\u540c\u7684\u517c\u8077\u6642\u6578\uff09\uff0c\u4e14\u50c5\u9650\u65bc\u4e00\u500b\u8077\u696d\uff08NOC TEER 0\u30011\u30012 \u6216 3\uff09\u3002<\/p>\n            <select id=\"q15\" class=\"crs-select\">\n                <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                <option value=\"A\">\u7121\u7d93\u9a57\u6216\u4e0d\u8db3\u4e00\u5e74<\/option>\n                <option value=\"B\">1\u5e74<\/option>\n                <option value=\"C\">2\u5e74<\/option>\n                <option value=\"D\">3\u5e74\u6216\u4ee5\u4e0a<\/option>\n            <\/select>\n        <\/div>\n        \n        <!-- Q16 \u2014 CERTIFICATE OF QUALIFICATION -->\n        <div id=\"q16-card\" class=\"crs-card\" style=\"display:none;\">\n            <div class=\"crs-title\">7) \u60a8\u662f\u5426\u6301\u6709\u52a0\u62ff\u5927\u7701\u3001\u7279\u5340\u6216\u806f\u90a6\u6a5f\u69cb\u6838\u767c\u7684\u8077\u696d\u8cc7\u683c\u8b49\u66f8\uff1f<\/div>\n            <p>\u8077\u696d\u8cc7\u683c\u8b49\u66f8\u5141\u8a31\u6301\u6709\u4eba\u5728\u52a0\u62ff\u5927\u5f9e\u4e8b\u67d0\u4e9b\u6280\u8853\u884c\u696d\u5de5\u4f5c\u3002\u50c5\u6709\u7701\u3001\u7279\u5340\u53ca\u806f\u90a6\u6a5f\u69cb\u53ef\u6838\u767c\u6b64\u985e\u8b49\u66f8\u3002<\/p>\n            <select id=\"q16\" class=\"crs-select\">\n                <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                <option value=\"A\">\u5426<\/option>\n                <option value=\"B\">\u662f<\/option>\n            <\/select>\n        <\/div>\n        \n        <!-- Q17 \u2014 VALID JOB OFFER -->\n        <div id=\"q17-card\" class=\"crs-card\" style=\"display:none;\">\n            <div class=\"crs-title\">8) \u60a8\u662f\u5426\u6301\u6709\u7531\u52de\u52d5\u5e02\u5834\u5f71\u97ff\u8a55\u4f30\uff08LMIA\uff09\u652f\u6301\u7684\u6709\u6548\u5de5\u4f5c\u9080\u8acb\uff08\u5982\u9069\u7528\uff09\uff1f<\/div>\n            <p>\u6709\u6548\u5de5\u4f5c\u9080\u8acb\u9808\u70ba\u5168\u8077\u3001TEER 0\u20133 \u985e\u5225\u3001\u7531 LMIA \u652f\u6301\u6216\u7372\u5f97\u8c41\u514d\uff0c\u4e14\u81ea\u60a8\u6210\u70ba\u6c38\u4e45\u5c45\u6c11\u8d77\u6709\u6548\u671f\u70ba\u4e00\u5e74\u3002<\/p>\n            <p><strong>Note:<\/strong> \u81ea2025\u5e743\u670825\u65e5\u8d77\uff0c\u5de5\u4f5c\u9080\u8acb\u4e0d\u518d\u7372\u5f97 CRS \u52a0\u5206\uff0c\u4f46\u4ecd\u53ef\u80fd\u70ba\u8cc7\u683c\u8981\u6c42\u4e4b\u4e00\u3002<\/p>\n            <select id=\"q17\" class=\"crs-select\">\n                <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                <option value=\"A\">\u5426<\/option>\n                <option value=\"B\">\u662f<\/option>\n            <\/select>\n        <\/div>\n        \n        <!-- Q17a \u2014 TEER OF JOB OFFER -->\n        <div id=\"q17a-card\" class=\"crs-card\" style=\"display:none;\">\n            <div class=\"crs-title\">8a) \u8a72\u5de5\u4f5c\u9080\u8acb\u5c6c\u65bc\u54ea\u500b NOC TEER \u985e\u5225\uff1f<\/div>\n            <select id=\"q17a\" class=\"crs-select\">\n                <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                <option value=\"A\">NOC TEER 0 \u2014 \u4e3b\u8981\u985e\u5225 00<\/option>\n                <option value=\"B\">NOC TEER 1\u30012 \u6216 3\uff0c\u6216\u4e3b\u8981\u985e\u5225 00 \u4ee5\u5916\u7684\u4efb\u4f55 TEER 0<\/option>\n                <option value=\"C\">NOC TEER 4 \u6216 5<\/option>\n            <\/select>\n        <\/div>\n        \n        <!-- Q18 \u2014 PROVINCIAL NOMINATION -->\n        <div id=\"q18-card\" class=\"crs-card\" style=\"display:none;\">\n            <div class=\"crs-title\">9) \u60a8\u662f\u5426\u6301\u6709\u7701\u6216\u7279\u5340\u7684\u63d0\u540d\u8b49\u66f8\uff1f<\/div>\n            <select id=\"q18\" class=\"crs-select\">\n                <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                <option value=\"A\">\u5426<\/option>\n                <option value=\"B\">\u662f<\/option>\n            <\/select>\n        <\/div>\n        \n        <!-- Q19 \u2014 SIBLING IN CANADA -->\n        <div id=\"q19-card\" class=\"crs-card\" style=\"display:none;\">\n            <div class=\"crs-title\">10) \u60a8\u6216\u60a8\u7684\u914d\u5076\uff0f\u540c\u5c45\u4f34\u4fb6\u662f\u5426\u6709\u81f3\u5c11\u4e00\u4f4d\u5c45\u4f4f\u5728\u52a0\u62ff\u5927\u4e14\u70ba\u52a0\u62ff\u5927\u516c\u6c11\u6216\u6c38\u4e45\u5c45\u6c11\u7684\u5144\u5f1f\u59d0\u59b9\uff1f<\/div>\n            <p>\u8a72\u5144\u5f1f\u59d0\u59b9\u9808\u5e74\u6eff18\u6b72\uff0c\u4e14\u900f\u904e\u8840\u7de3\u3001\u5a5a\u59fb\u3001\u540c\u5c45\u4f34\u4fb6\u95dc\u4fc2\u6216\u6536\u990a\u8207\u60a8\u6216\u60a8\u7684\u914d\u5076\u6709\u89aa\u5c6c\u95dc\u4fc2\uff0c\u4e26\u8207\u60a8\u6216\u60a8\u7684\u914d\u5076\u6709\u5171\u540c\u7684\u7236\uff0f\u6bcd\u3002<\/p>\n            <select id=\"q19\" class=\"crs-select\">\n                <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                <option value=\"A\">\u5426<\/option>\n                <option value=\"B\">\u662f<\/option>\n            <\/select>\n        <\/div>\n        \n        <!-- SPOUSE QUESTIONS (ONLY IF ACCOMPANYING) -->\n        <div id=\"spouse-block\" style=\"display:none;\">\n            <!-- Q20 \u2014 SPOUSE EDUCATION -->\n            <div id=\"q20-card\" class=\"crs-card\" style=\"display:none;\">\n                <div class=\"crs-title\">11) \u60a8\u7684\u914d\u5076\u6216\u540c\u5c45\u4f34\u4fb6\u5df2\u53d6\u5f97\u7684\u6700\u9ad8\u5b78\u6b77\u70ba\u4f55\uff1f<\/div>\n                <ul>\n                    <li><strong>\u53d6\u5f97\u52a0\u62ff\u5927\u5b78\u4f4d\u3001\u6587\u6191\u6216\u8b49\u66f8\uff1b\u6216<\/strong><\/li>\n                    <li><strong>\u5df2\u5b8c\u6210\u5b78\u6b77\u8a8d\u8b49\u8a55\u4f30\uff08ECA\uff09\uff1f<\/strong>\uff08\u9808\u7531\u8a8d\u53ef\u6a5f\u69cb\u65bc\u4e94\u5e74\u5167\u6838\u767c\uff09<\/li>\n                <\/ul>\n                <p>\u70ba\u78ba\u4fdd\u7372\u5f97\u6b63\u78ba\u7684\u5206\u6578\uff0c\u8acb\u9078\u64c7\u6700\u7b26\u5408\u60a8\u60c5\u6cc1\u7684\u7b54\u6848\u3002<\/p>\n                <select id=\"q20\" class=\"crs-select\">\n                    <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                    <option value=\"A\">\u7121\u5b78\u6b77\uff0c\u6216\u672a\u5b8c\u6210\u4e2d\u5b78\uff08\u9ad8\u4e2d\uff09<\/option>\n                    <option value=\"B\">\u4e2d\u5b78\u7562\u696d\u6587\u6191\uff08\u9ad8\u4e2d\u7562\u696d\uff09<\/option>\n                    <option value=\"C\">\u5927\u5b78\u3001\u5b78\u9662\u3001\u6280\u8853\u5b78\u6821\u6216\u5176\u4ed6\u6a5f\u69cb\u7684\u4e00\u5e74\u5236\u8ab2\u7a0b<\/option>\n                    <option value=\"D\">\u5927\u5b78\u3001\u5b78\u9662\u3001\u6280\u8853\u5b78\u6821\u6216\u5176\u4ed6\u6a5f\u69cb\u7684\u5169\u5e74\u5236\u8ab2\u7a0b<\/option>\n                    <option value=\"E\">\u5b78\u58eb\u5b78\u4f4d\uff08\u4e09\u5e74\u6216\u4ee5\u4e0a\u8ab2\u7a0b\uff09<\/option>\n                    <option value=\"F\">\u5169\u500b\u6216\u4ee5\u4e0a\u8b49\u66f8\u3001\u6587\u6191\u6216\u5b78\u4f4d\uff08\u5176\u4e2d\u4e00\u500b\u9808\u70ba\u4e09\u5e74\u6216\u4ee5\u4e0a\uff09<\/option>\n                    <option value=\"G\">\u78a9\u58eb\u5b78\u4f4d\uff0c\u6216\u5f9e\u4e8b\u7279\u8a31\u5c08\u696d\u6240\u9700\u7684\u5c08\u696d\u5b78\u4f4d<\/option>\n                    <option value=\"H\">\u535a\u58eb\u5b78\u4f4d\uff08PhD\uff09<\/option>\n                <\/select>\n            <\/div>\n            \n            <!-- Q21 \u2014 SPOUSE CANADIAN WORK EXPERIENCE -->\n            <div id=\"q21-card\" class=\"crs-card\" style=\"display:none;\">\n                <div class=\"crs-title\">12) \u5728\u904e\u53bb\u5341\u5e74\u4e2d\uff0c\u60a8\u7684\u914d\u5076\uff0f\u540c\u5c45\u4f34\u4fb6\u5728\u52a0\u62ff\u5927\u6709\u591a\u5c11\u5e74\u7684\u6280\u8853\u5de5\u4f5c\u7d93\u9a57\uff1f<\/div>\n                <p>\u9808\u70ba\u6709\u85aa\u5168\u8077\u5de5\u4f5c\uff08\u6216\u7b49\u540c\u7684\u517c\u8077\u6642\u6578\uff09\uff0c\u4e14\u70ba\u4e00\u500b\u6216\u591a\u500b NOC TEER 0\u30011\u30012 \u6216 3 \u985e\u5225\u7684\u5de5\u4f5c\u3002<\/p>\n                <select id=\"q21\" class=\"crs-select\">\n                    <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                    <option value=\"A\">\u7121\u7d93\u9a57\u6216\u4e0d\u8db3\u4e00\u5e74<\/option>\n                    <option value=\"B\">1\u5e74<\/option>\n                    <option value=\"C\">2\u5e74<\/option>\n                    <option value=\"D\">3\u5e74<\/option>\n                    <option value=\"E\">4\u5e74<\/option>\n                    <option value=\"F\">5\u5e74\u6216\u4ee5\u4e0a<\/option>\n                <\/select>\n            <\/div>\n            \n            <!-- Q22 \u2014 SPOUSE LANGUAGE TEST -->\n            <div id=\"q22-card\" class=\"crs-card\" style=\"display:none;\">\n                <div class=\"crs-title\">13) i) \u60a8\u7684\u914d\u5076\u6216\u540c\u5c45\u4f34\u4fb6\u662f\u5426\u53c3\u52a0\u4e86\u8a9e\u8a00\u6e2c\u9a57\uff1f\u5982\u6709\uff0c\u53c3\u52a0\u4e86\u54ea\u9805\uff1f<\/div>\n                <p>\u6e2c\u9a57\u6210\u7e3e\u9808\u5728\u5169\u5e74\u5167\u6709\u6548\u3002<\/p>\n                <select id=\"q22\" class=\"crs-select\">\n                    <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                    <option value=\"A\">CELPIP-G<\/option>\n                    <option value=\"B\">IELTS<\/option>\n                    <option value=\"E\">PTE Core<\/option>\n                    <option value=\"C\">TEF Canada<\/option>\n                    <option value=\"D\">TCF Canada<\/option>\n                    <option value=\"F\">\u4e0d\u9069\u7528<\/option>\n                <\/select>\n            <\/div>\n            \n            <!-- Q23 \u2014 SPOUSE LANGUAGE SCORES -->\n            <div id=\"q23-card\" class=\"crs-card\" style=\"display:none;\">\n                <p><strong>ii) \u8acb\u8f38\u5165\u6e2c\u9a57\u6210\u7e3e\uff1a<\/strong><\/p>\n                <label class=\"crs-label\">\u53e3\u8aaa\uff1a<\/label>\n                <select id=\"q23-speaking\" class=\"crs-select\">\n                    <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                    <option value=\"H\">CLB 10<\/option>\n                    <option value=\"G\">CLB 9<\/option>\n                    <option value=\"F\">CLB 8<\/option>\n                    <option value=\"E\">CLB 7<\/option>\n                    <option value=\"D\">CLB 6<\/option>\n                    <option value=\"C\">CLB 5<\/option>\n                    <option value=\"B\">CLB 4<\/option>\n                    <option value=\"A\">CLB 3 \u6216\u4ee5\u4e0b<\/option>\n                <\/select>\n                <label class=\"crs-label\">\u807d\u529b\uff1a<\/label>\n                <select id=\"q23-listening\" class=\"crs-select\">\n                    <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                    <option value=\"H\">CLB 10<\/option>\n                    <option value=\"G\">CLB 9<\/option>\n                    <option value=\"F\">CLB 8<\/option>\n                    <option value=\"E\">CLB 7<\/option>\n                    <option value=\"D\">CLB 6<\/option>\n                    <option value=\"C\">CLB 5<\/option>\n                    <option value=\"B\">CLB 4<\/option>\n                    <option value=\"A\">CLB 3 \u6216\u4ee5\u4e0b<\/option>\n                <\/select>\n                <label class=\"crs-label\">\u95b1\u8b80\uff1a<\/label>\n                <select id=\"q23-reading\" class=\"crs-select\">\n                    <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                    <option value=\"H\">CLB 10<\/option>\n                    <option value=\"G\">CLB 9<\/option>\n                    <option value=\"F\">CLB 8<\/option>\n                    <option value=\"E\">CLB 7<\/option>\n                    <option value=\"D\">CLB 6<\/option>\n                    <option value=\"C\">CLB 5<\/option>\n                    <option value=\"B\">CLB 4<\/option>\n                    <option value=\"A\">CLB 3 \u6216\u4ee5\u4e0b<\/option>\n                <\/select>\n                <label class=\"crs-label\">\u5beb\u4f5c\uff1a<\/label>\n                <select id=\"q23-writing\" class=\"crs-select\">\n                    <option value=\"\">\u8acb\u9078\u64c7...<\/option>\n                    <option value=\"H\">CLB 10<\/option>\n                    <option value=\"G\">CLB 9<\/option>\n                    <option value=\"F\">CLB 8<\/option>\n                    <option value=\"E\">CLB 7<\/option>\n                    <option value=\"D\">CLB 6<\/option>\n                    <option value=\"C\">CLB 5<\/option>\n                    <option value=\"B\">CLB 4<\/option>\n                    <option value=\"A\">CLB 3 \u6216\u4ee5\u4e0b<\/option>\n                <\/select>\n            <\/div>\n        <\/div>\n        \n        <!-- CALCULATE BUTTON -->\n        <div id=\"calculate-button-card\" class=\"crs-card\" style=\"display:none;\">\n            <button id=\"calculate-button\">\u8a08\u7b97 CRS \u5206\u6578<\/button>\n        <\/div>\n        \n        <!-- ELIGIBILITY MESSAGE PANEL -->\n        <div id=\"eligibility-message\" style=\"display:none; margin-top:30px;\"><\/div>\n        \n        <!-- RESULTS PANEL -->\n        <div id=\"results\" style=\"display:none; margin-top:30px;\">\n            <div style=\"padding:20px; font-family:'Noto Sans TC', 'Montserrat', sans-serif;\">\n                <div id=\"score-summary\" style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:20px;\">\n                    <h2 style=\"margin:0; font-size:24px;\">\u7e3d\u5206\uff1a<strong id=\"total-score-display\">0<\/strong><\/h2>\n                    <a id=\"view-details-link\" href=\"#\" style=\"text-decoration:underline; color:#2b6ca3; cursor:pointer; font-size:14px;\">\u67e5\u770b\u8a73\u60c5<\/a>\n                <\/div>\n                <a href=\"https:\/\/cicvisa.com\/pre-assessment-form\/\" style=\"text-decoration:none;\">\n  <button id=\"pre-assessment-button\"\n    style=\"width:100%; padding:15px 30px; font-size:16px; font-weight:bold; background-color:#B1251F; color:white; border:none; border-radius:6px; cursor:pointer; margin-top:15px; display:none;\">\n    \u9ede\u6b64\u586b\u5beb\u9810\u8a55\u4f30\u8868\u683c\n  <\/button>\n<\/a>\n            <\/div>\n        <\/div>\n        \n        <!-- ============================== -->\n        <!-- FORM GATE MODAL                -->\n        <!-- ============================== -->\n        <div id=\"crs-form-gate-overlay\">\n            <div id=\"crs-form-gate-modal\">\n                <div id=\"crs-form-gate-header\">\n                    <button id=\"crs-form-gate-close\">&times;<\/button>\n                    <h2>\u5373\u5c07\u5b8c\u6210\uff01<\/h2>\n                    <p>\u8acb\u5728\u4e0b\u65b9\u586b\u5beb\u60a8\u7684\u8cc7\u6599\u4ee5\u67e5\u770b CRS \u5206\u6578\u3002<\/p>\n                <\/div>\n                <div id=\"crs-form-gate-body\">\n                    <!--\n                    =====================================================\n                    INSTRUCTIONS: Replace the placeholder below with your\n                    Formidable Forms shortcode. For example:\n                    \n                    [formidable id=5]\n                    \n                    Just paste it where you see the shortcode below.\n                    =====================================================\n                    -->\n                    <div class=\"frm_forms  with_frm_style frm_style_formidable-style\" id=\"frm_form_25_container\" data-token=\"4d3358515486677fe28314b061451faa\">\n<form enctype=\"multipart\/form-data\" method=\"post\" class=\"frm-show-form  frm_ajax_submit  frm_pro_form\" id=\"form_crs-form4\" data-token=\"4d3358515486677fe28314b061451faa\" action=\"\">\n<div class=\"frm_form_fields\">\n<fieldset>\n<legend class=\"frm_screen_reader\">CRS form (CH)<\/legend>\r\n\r\n<div class=\"frm_fields_container\">\n<input type=\"hidden\" name=\"frm_action\" value=\"create\" \/>\n<input type=\"hidden\" name=\"form_id\" value=\"25\" \/>\n<input type=\"hidden\" name=\"frm_hide_fields_25\" id=\"frm_hide_fields_25\" value=\"\" \/>\n<input type=\"hidden\" name=\"form_key\" value=\"crs-form4\" \/>\n<input type=\"hidden\" name=\"item_meta[0]\" value=\"\" \/>\n<input type=\"hidden\" id=\"frm_submit_entry_25\" name=\"frm_submit_entry_25\" value=\"0507428d4f\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/zh\/wp-json\/wp\/v2\/pages\/19\" \/><div id=\"frm_field_225_container\" class=\"frm_form_field form-field  frm_required_field frm_top_container\">\r\n\t<div  id=\"field_44lbv4_label\" class=\"frm_primary_label\">\u59d3\u540d\r\n\t\t<span class=\"frm_required\" aria-hidden=\"true\">*<\/span>\r\n\t<\/div>\r\n\t<fieldset aria-labelledby=\"field_44lbv4_label\">\n\t<legend class=\"frm_screen_reader frm_hidden\">\n\t\t\u59d3\u540d\t<\/legend>\n\n\t<div  class=\"frm_combo_inputs_container\" id=\"frm_combo_inputs_container_225\" data-name-layout=\"first_last\">\n\t\t\t\t\t<div\n\t\t\t\tid=\"frm_field_225-first_container\"\n\t\t\t\tclass=\"frm_form_field form-field frm_form_subfield-first  frm6\"\n\t\t\t\tdata-sub-field-name=\"first\"\n\t\t\t>\n\t\t\t\t<label for=\"field_44lbv4_first\" class=\"frm_screen_reader frm_hidden\">\n\t\t\t\t\t\u540d\u5b57\t\t\t\t<\/label>\n\n\t\t\t\t<input  type=\"text\" id=\"field_44lbv4_first\" value=\"\" name=\"item_meta[225][first]\" data-reqmsg=\"\u59d3\u540d cannot be blank.\" aria-required=\"true\" data-invmsg=\"\u59d3\u540d is invalid\" aria-invalid=\"false\"  \/><div class=\"frm_description\" id=\"frm_field_225_first_desc\">\u540d\u5b57<\/div>\t\t\t<\/div>\n\t\t\t\t\t\t<div\n\t\t\t\tid=\"frm_field_225-last_container\"\n\t\t\t\tclass=\"frm_form_field form-field frm_form_subfield-last  frm6\"\n\t\t\t\tdata-sub-field-name=\"last\"\n\t\t\t>\n\t\t\t\t<label for=\"field_44lbv4_last\" class=\"frm_screen_reader frm_hidden\">\n\t\t\t\t\t\u59d3\u6c0f\t\t\t\t<\/label>\n\n\t\t\t\t<input  type=\"text\" id=\"field_44lbv4_last\" value=\"\" name=\"item_meta[225][last]\" data-reqmsg=\"\u59d3\u540d cannot be blank.\" aria-required=\"true\" data-invmsg=\"\u59d3\u540d is invalid\" aria-invalid=\"false\"  \/><div class=\"frm_description\" id=\"frm_field_225_last_desc\">\u59d3\u6c0f<\/div>\t\t\t<\/div>\n\t\t\t\t<\/div>\n<\/fieldset>\n\r\n\t\r\n\t\r\n<\/div>\n<div id=\"frm_field_226_container\" class=\"frm_form_field form-field  frm_required_field frm_top_container frm6 frm_first\">\r\n\t<label for=\"field_g5kee4\" id=\"field_g5kee4_label\" class=\"frm_primary_label\">\u96fb\u5b50\u90f5\u4ef6\r\n\t\t<span class=\"frm_required\" aria-hidden=\"true\">*<\/span>\r\n\t<\/label>\r\n\t<input type=\"email\" id=\"field_g5kee4\" name=\"item_meta[226]\" value=\"\"  autocomplete=\"email\"  data-reqmsg=\"\u96fb\u5b50\u90f5\u4ef6 cannot be blank.\" aria-required=\"true\" data-invmsg=\"\u96fb\u5b50\u90f5\u4ef6 is invalid\" aria-invalid=\"false\"  \/>\r\n\t\r\n\t\r\n<\/div>\n<div id=\"frm_field_250_container\" class=\"frm_form_field form-field  frm_required_field frm_top_container frm6\">\n\t<label for=\"field_riy0b\" id=\"field_riy0b_label\" class=\"frm_primary_label\">\u806f\u7d61\u96fb\u8a71 \n\t\t<span class=\"frm_required\" aria-hidden=\"true\">*<\/span>\n\t<\/label>\n\t<input type=\"tel\" id=\"field_riy0b\" name=\"item_meta[250]\" value=\"\"  data-reqmsg=\"\u806f\u7d61\u96fb\u8a71  cannot be blank.\" aria-required=\"true\" data-invmsg=\"\u806f\u7d61\u96fb\u8a71  is invalid\" aria-invalid=\"false\" pattern=\"((\\+\\d{1,3}(-|.| )?\\(?\\d\\)?(-| |.)?\\d{1,5})|(\\(?\\d{2,6}\\)?))(-|.| )?(\\d{3,4})(-|.| )?(\\d{4})(( x| ext)\\d{1,5}){0,1}$\"  \/>\n\t\n\t\n<\/div>\n<input type=\"hidden\" name=\"item_meta[227]\" id=\"field_2mx3j2\" value=\"\"     \/>\n<input type=\"hidden\" name=\"item_meta[228]\" id=\"field_i31l12\" value=\"\"     \/>\n<div id=\"frm_field_229_container\" class=\"frm_form_field form-field\">\r\n\t<div class=\"frm_submit frm_flex\">\r\n<button class=\"frm_button_submit frm_final_submit\" type=\"submit\"   formnovalidate=\"formnovalidate\">\u63d0\u4ea4<\/button>\r\n\r\n\r\n\r\n<\/div>\r\n<\/div>\n\t<input type=\"hidden\" name=\"item_key\" value=\"\" \/>\n\t\t\t<div id=\"frm_field_260_container\">\n\t\t\t<label for=\"field_ofv0q\" >\n\t\t\t\tIf you are human, leave this field blank.\t\t\t<\/label>\n\t\t\t<input  id=\"field_ofv0q\" type=\"text\" class=\"frm_form_field form-field frm_verify\" name=\"item_meta[260]\" value=\"\"  \/>\n\t\t<\/div>\n\t\t<input name=\"frm_state\" type=\"hidden\" value=\"iPkxLwUlrbGk5o\/gKSncQ68KvNAwlWQmk2rPiEfHbkfsg8MP8tgSy+6ZHQgqQqou\" \/><\/div>\n<\/fieldset>\n<\/div>\n\n<input type=\"hidden\" name=\"trp-form-language\" value=\"zh\"\/><\/form>\n<\/div>\n\n                <\/div>\n            <\/div>\n        <\/div>\n        \n        <!-- DETAILS MODAL -->\n        <div id=\"details-modal-overlay\" style=\"display:none; position:fixed; z-index:999998; left:0; top:0; width:100%; height:100%; background-color:rgba(0,0,0,0.5);\">\n            <div id=\"details-modal-content\" style=\"background-color:#fefefe; margin:5% auto; padding:30px; border:1px solid #888; border-radius:10px; width:90%; max-width:800px; box-shadow:0 4px 20px rgba(0,0,0,0.3); max-height:80vh; overflow-y:auto; font-family:'Noto Sans TC', 'Montserrat', sans-serif;\">\n                <span id=\"details-modal-close\" style=\"color:#aaa; float:right; font-size:28px; font-weight:bold; cursor:pointer; line-height:20px;\">&times;<\/span>\n                <h2 style=\"margin-top:0; color:#B1251F;\">\u60a8\u7684 CRS \u5206\u6578\u660e\u7d30<\/h2>\n                <p style=\"margin-bottom:20px;\">\u6240\u6709\u5feb\u901f\u901a\u9053\uff08Express Entry\uff09\u5019\u9078\u4eba\u5747\u6839\u64da\u7d9c\u5408\u6392\u540d\u7cfb\u7d71\uff08CRS\uff09\u7684\u56db\u500b\u90e8\u5206\u7372\u5f97 1,200 \u5206\u4e2d\u7684\u5206\u6578\u3002<\/p>\n                <div id=\"details-content\"><\/div>\n                <div style=\"text-align:center; margin-top:30px;\">\n                    <button id=\"download-pdf-button\" style=\"padding:12px 30px; font-size:16px; font-weight:bold; background-color:#2b6ca3; color:white; border:none; border-radius:6px; cursor:pointer; transition:background-color 0.3s;\">\u4e0b\u8f09 PDF \u5831\u544a<\/button>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<script>\n(function() {\n    \/\/ Wrap everything in IIFE to avoid conflicts with Elementor\n    \n    \/\/ =============================\n    \/\/ SCORE OPTIONS STORAGE\n    \/\/ =============================\n    \n    const CELPIP_OPTIONS = `<option value=\"\">\u8acb\u9078\u64c7...<\/option><option value=\"H\">CELPIP 12<\/option><option value=\"H\">CELPIP 11<\/option><option value=\"H\">CELPIP 10<\/option><option value=\"G\">CELPIP 9<\/option><option value=\"F\">CELPIP 8<\/option><option value=\"E\">CELPIP 7<\/option><option value=\"D\">CELPIP 6<\/option><option value=\"C\">CELPIP 5<\/option><option value=\"B\">CELPIP 4<\/option>`;\n    const IELTS_SPEAKING = `<option value=\"\">\u8acb\u9078\u64c7...<\/option><option value=\"H\">7.5 \u2013 9.0<\/option><option value=\"G\">7.0<\/option><option value=\"F\">6.5<\/option><option value=\"E\">6.0<\/option><option value=\"D\">5.5<\/option><option value=\"C\">5.0<\/option><option value=\"B\">4.0 \u2013 4.5<\/option><option value=\"A\">0 \u2013 3.5<\/option>`;\n    const IELTS_LISTENING = `<option value=\"\">\u8acb\u9078\u64c7...<\/option><option value=\"H\">8.5 \u2013 9.0<\/option><option value=\"G\">8.0<\/option><option value=\"F\">7.5<\/option><option value=\"E\">6.0 \u2013 7.0<\/option><option value=\"D\">5.5<\/option><option value=\"C\">5.0<\/option><option value=\"B\">4.5<\/option><option value=\"A\">0 \u2013 4.0<\/option>`;\n    const IELTS_READING = `<option value=\"\">\u8acb\u9078\u64c7...<\/option><option value=\"H\">8.0 \u2013 9.0<\/option><option value=\"G\">7.0 \u2013 7.5<\/option><option value=\"F\">6.5<\/option><option value=\"E\">6.0<\/option><option value=\"D\">5.0 \u2013 5.5<\/option><option value=\"C\">4.0 \u2013 4.5<\/option><option value=\"B\">3.5<\/option><option value=\"A\">0 \u2013 3.0<\/option>`;\n    const IELTS_WRITING = `<option value=\"\">\u8acb\u9078\u64c7...<\/option><option value=\"H\">7.5 \u2013 9.0<\/option><option value=\"G\">7.0<\/option><option value=\"F\">6.5<\/option><option value=\"E\">6.0<\/option><option value=\"D\">5.5<\/option><option value=\"C\">5.0<\/option><option value=\"B\">4.0 \u2013 4.5<\/option><option value=\"A\">0 \u2013 3.5<\/option>`;\n    const PTE_OPTIONS = `<option value=\"\">\u8acb\u9078\u64c7...<\/option><option value=\"H\">89\u201390<\/option><option value=\"G\">76\u201388<\/option><option value=\"F\">59\u201375<\/option><option value=\"E\">42\u201358<\/option><option value=\"D\">33\u201341<\/option><option value=\"C\">24\u201332<\/option><option value=\"B\">10\u201323<\/option><option value=\"A\">0\u20139<\/option>`;\n    const TEF_S = `<option value=\"\">\u8acb\u9078\u64c7...<\/option><option value=\"H\">393\u2013450<\/option><option value=\"G\">371\u2013392<\/option><option value=\"F\">349\u2013370<\/option><option value=\"E\">310\u2013348<\/option><option value=\"D\">271\u2013309<\/option><option value=\"C\">226\u2013270<\/option><option value=\"B\">181\u2013225<\/option><option value=\"A\">0\u2013180<\/option>`;\n    const TEF_L = `<option value=\"\">\u8acb\u9078\u64c7...<\/option><option value=\"H\">316\u2013360<\/option><option value=\"G\">298\u2013315<\/option><option value=\"F\">280\u2013297<\/option><option value=\"E\">248\u2013279<\/option><option value=\"D\">217\u2013247<\/option><option value=\"C\">181\u2013216<\/option><option value=\"B\">145\u2013180<\/option><option value=\"A\">0\u2013144<\/option>`;\n    const TEF_R = `<option value=\"\">\u8acb\u9078\u64c7...<\/option><option value=\"H\">263\u2013300<\/option><option value=\"G\">248\u2013262<\/option><option value=\"F\">233\u2013247<\/option><option value=\"E\">207\u2013232<\/option><option value=\"D\">181\u2013206<\/option><option value=\"C\">151\u2013180<\/option><option value=\"B\">121\u2013150<\/option><option value=\"A\">0\u2013120<\/option>`;\n    const TEF_W = `<option value=\"\">\u8acb\u9078\u64c7...<\/option><option value=\"H\">393\u2013450<\/option><option value=\"G\">371\u2013392<\/option><option value=\"F\">349\u2013370<\/option><option value=\"E\">310\u2013348<\/option><option value=\"D\">271\u2013309<\/option><option value=\"C\">226\u2013270<\/option><option value=\"B\">181\u2013225<\/option><option value=\"A\">0\u2013180<\/option>`;\n    const TCF_S = `<option value=\"\">\u8acb\u9078\u64c7...<\/option><option value=\"H\">549\u2013699<\/option><option value=\"G\">524\u2013548<\/option><option value=\"F\">499\u2013523<\/option><option value=\"E\">458\u2013498<\/option><option value=\"D\">406\u2013457<\/option><option value=\"C\">330\u2013405<\/option><option value=\"B\">200\u2013329<\/option><option value=\"A\">0\u2013199<\/option>`;\n    const TCF_L = `<option value=\"\">\u8acb\u9078\u64c7...<\/option><option value=\"H\">549\u2013699<\/option><option value=\"G\">523\u2013548<\/option><option value=\"F\">503\u2013522<\/option><option value=\"E\">458\u2013502<\/option><option value=\"D\">398\u2013457<\/option><option value=\"C\">331\u2013397<\/option><option value=\"B\">201\u2013330<\/option><option value=\"A\">0\u2013200<\/option>`;\n    const TCF_R = `<option value=\"\">\u8acb\u9078\u64c7...<\/option><option value=\"H\">549\u2013699<\/option><option value=\"G\">524\u2013548<\/option><option value=\"F\">499\u2013523<\/option><option value=\"E\">458\u2013498<\/option><option value=\"D\">406\u2013457<\/option><option value=\"C\">331\u2013405<\/option><option value=\"B\">201\u2013330<\/option><option value=\"A\">0\u2013200<\/option>`;\n    const TCF_W = `<option value=\"\">\u8acb\u9078\u64c7...<\/option><option value=\"H\">16\u201320<\/option><option value=\"G\">14\u201315<\/option><option value=\"F\">12\u201313<\/option><option value=\"E\">10\u201311<\/option><option value=\"D\">7\u20139<\/option><option value=\"C\">6<\/option><option value=\"B\">4\u20135<\/option><option value=\"A\">0\u20133<\/option>`;\n    \n    \/\/ =======================================================\n    \/\/ HELPER FUNCTIONS FOR HIDING DEPENDENT QUESTIONS\n    \/\/ =======================================================\n    \n    function hideCard(cardId) {\n        const card = document.getElementById(cardId);\n        if (card) {\n            card.style.display = \"none\";\n            const select = card.querySelector(\"select\");\n            if (select) select.value = \"\";\n        }\n    }\n    \n    function hideAllAfter(cardId) {\n        const allCards = [\"q2-card\", \"q3-card\", \"q4-card\", \"q5-card\", \"q6-card\", \"q7-card\", \"q8-card\", \"q9-card\", \"q10-card\", \"q11-card\", \"q12-card\", \"q14-card\", \"q15-card\", \"q16-card\", \"q17-card\", \"q17a-card\", \"q18-card\", \"q19-card\", \"calculate-button-card\", \"q20-card\", \"q21-card\", \"q22-card\", \"q23-card\"];\n        const startIndex = allCards.indexOf(cardId);\n        if (startIndex >= 0) {\n            for (let i = startIndex + 1; i < allCards.length; i++) {\n                hideCard(allCards[i]);\n            }\n        }\n        document.getElementById(\"results\").style.display = \"none\";\n        document.getElementById(\"eligibility-message\").style.display = \"none\";\n    }\n    \n    \/\/ =======================================================\n    \/\/ PROGRESSIVE SHOW\/HIDE LOGIC WITH RESET\n    \/\/ =======================================================\n    \n    document.getElementById(\"q1\").addEventListener(\"change\", function() {\n        const val = this.value;\n        hideAllAfter(\"q1-card\");\n        hideCard(\"spouse-block\");\n        \n        if (val === \"B\" || val === \"E\") {\n            document.getElementById(\"q2-card\").style.display = \"block\";\n        } else {\n            document.getElementById(\"q4-card\").style.display = \"block\";\n        }\n        checkSpouseEligible();\n    });\n    \n    document.getElementById(\"q2\").addEventListener(\"change\", function() {\n        hideAllAfter(\"q2-card\");\n        hideCard(\"spouse-block\");\n        \n        if (this.value === \"B\") {\n            document.getElementById(\"q3-card\").style.display = \"block\";\n        } else {\n            document.getElementById(\"q4-card\").style.display = \"block\";\n        }\n        checkSpouseEligible();\n    });\n    \n    document.getElementById(\"q3\").addEventListener(\"change\", function() {\n        hideAllAfter(\"q3-card\");\n        document.getElementById(\"q4-card\").style.display = \"block\";\n        checkSpouseEligible();\n    });\n    \n    document.getElementById(\"q4\").addEventListener(\"change\", function() {\n        hideAllAfter(\"q4-card\");\n        if (this.value) {\n            document.getElementById(\"q5-card\").style.display = \"block\";\n        }\n    });\n    \n    document.getElementById(\"q5\").addEventListener(\"change\", function() {\n        hideAllAfter(\"q5-card\");\n        document.getElementById(\"q6-card\").style.display = \"block\";\n    });\n    \n    document.getElementById(\"q6\").addEventListener(\"change\", function() {\n        hideAllAfter(\"q6-card\");\n        if (this.value === \"B\") {\n            document.getElementById(\"q7-card\").style.display = \"block\";\n        } else {\n            document.getElementById(\"q8-card\").style.display = \"block\";\n        }\n    });\n    \n    document.getElementById(\"q7\").addEventListener(\"change\", function() {\n        hideAllAfter(\"q7-card\");\n        document.getElementById(\"q8-card\").style.display = \"block\";\n    });\n    \n    document.getElementById(\"q8\").addEventListener(\"change\", function() {\n        hideAllAfter(\"q8-card\");\n        if (this.value === \"A\") {\n            document.getElementById(\"q9-card\").style.display = \"block\";\n        } else if (this.value === \"B\") {\n            document.getElementById(\"eligibility-message\").innerHTML = `\n                <div style=\"background:#fff3cd; border-left:6px solid #ffc107; padding:20px; border-radius:6px; font-family:'Noto Sans TC', 'Montserrat', sans-serif;\">\n                    <h2 style=\"margin-top:0; color:#856404;\">\u8cc7\u683c\u901a\u77e5<\/h2>\n                    <p style=\"font-size:16px; color:#856404; margin-bottom:15px;\">\n                        <strong>\u6839\u64da\u60a8\u7684\u56de\u7b54\uff0c\u60a8\u76ee\u524d\u4f3c\u4e4e\u4e0d\u7b26\u5408\u5feb\u901f\u901a\u9053\uff08Express Entry\uff09\u7684\u8cc7\u683c\u3002<\/strong>\n                    <\/p>\n                    <p style=\"font-size:14px; color:#856404;\">\n                        \u63d0\u4ea4\u5feb\u901f\u901a\u9053\u6a94\u6848\u524d\uff0c\u60a8\u5fc5\u9808\u901a\u904e\u8a8d\u53ef\u7684\u8a9e\u8a00\u6e2c\u9a57\u4f86\u8b49\u660e\u60a8\u7684\u8a9e\u8a00\u80fd\u529b\u3002 \n                        \u5982\u9700\u4e86\u89e3\u66f4\u591a\u6709\u95dc\u5feb\u901f\u901a\u9053\u8a9e\u8a00\u6e2c\u9a57\u7684\u8cc7\u8a0a\uff0c\u8acb\u53c3\u95b1 \n                        <a href=\"https:\/\/www.canada.ca\/en\/immigration-refugees-citizenship\/services\/immigrate-canada\/express-entry\/documents\/language-requirements.html\" target=\"_blank\" style=\"color:#856404; text-decoration:underline;\">\u52a0\u62ff\u5927\u653f\u5e9c\u7db2\u7ad9<\/a>\u3002\n                    <\/p>\n                <\/div>\n            `;\n            document.getElementById(\"eligibility-message\").style.display = \"block\";\n            document.getElementById(\"results\").style.display = \"none\";\n        }\n    });\n    \n    document.getElementById(\"q9\").addEventListener(\"change\", function() {\n        hideAllAfter(\"q9-card\");\n        const type = this.value;\n        let s = \"\", l = \"\", r = \"\", w = \"\";\n        \n        if (type === \"A\") {\n            s = l = r = w = CELPIP_OPTIONS;\n        } else if (type === \"B\") {\n            s = IELTS_SPEAKING; l = IELTS_LISTENING; r = IELTS_READING; w = IELTS_WRITING;\n        } else if (type === \"E\") {\n            s = l = r = w = PTE_OPTIONS;\n        } else if (type === \"C\") {\n            s = TEF_S; l = TEF_L; r = TEF_R; w = TEF_W;\n        } else if (type === \"D\") {\n            s = TCF_S; l = TCF_L; r = TCF_R; w = TCF_W;\n        }\n        \n        document.getElementById(\"lang1_s\").innerHTML = s;\n        document.getElementById(\"lang1_l\").innerHTML = l;\n        document.getElementById(\"lang1_r\").innerHTML = r;\n        document.getElementById(\"lang1_w\").innerHTML = w;\n        \n        document.getElementById(\"q10-card\").style.display = \"block\";\n    });\n    \n    document.getElementById(\"lang1_w\").addEventListener(\"change\", function() {\n        hideAllAfter(\"q10-card\");\n        document.getElementById(\"q11-card\").style.display = \"block\";\n    });\n    \n    document.getElementById(\"q11\").addEventListener(\"change\", function() {\n        hideAllAfter(\"q11-card\");\n        const val = this.value;\n        if (val === \"C\" || val === \"\") {\n            document.getElementById(\"q14-card\").style.display = \"block\";\n        } else {\n            document.getElementById(\"q12-card\").style.display = \"block\";\n            let s = \"\", l = \"\", r = \"\", w = \"\";\n            if (val === \"A\") {\n                s = TEF_S; l = TEF_L; r = TEF_R; w = TEF_W;\n            } else if (val === \"B\") {\n                s = TCF_S; l = TCF_L; r = TCF_R; w = TCF_W;\n            }\n            document.getElementById(\"lang2_s\").innerHTML = s;\n            document.getElementById(\"lang2_l\").innerHTML = l;\n            document.getElementById(\"lang2_r\").innerHTML = r;\n            document.getElementById(\"lang2_w\").innerHTML = w;\n        }\n    });\n    \n    document.getElementById(\"lang2_w\").addEventListener(\"change\", function() {\n        hideAllAfter(\"q12-card\");\n        document.getElementById(\"q14-card\").style.display = \"block\";\n    });\n    \n    document.getElementById(\"q14\").addEventListener(\"change\", function() {\n        hideAllAfter(\"q14-card\");\n        document.getElementById(\"q15-card\").style.display = \"block\";\n    });\n    \n    document.getElementById(\"q15\").addEventListener(\"change\", function() {\n        hideAllAfter(\"q15-card\");\n        document.getElementById(\"q16-card\").style.display = \"block\";\n    });\n    \n    document.getElementById(\"q16\").addEventListener(\"change\", function() {\n        hideAllAfter(\"q16-card\");\n        document.getElementById(\"q17-card\").style.display = \"block\";\n    });\n    \n    document.getElementById(\"q17\").addEventListener(\"change\", function() {\n        hideAllAfter(\"q17-card\");\n        if (this.value === \"B\") {\n            document.getElementById(\"q17a-card\").style.display = \"block\";\n        } else {\n            document.getElementById(\"q18-card\").style.display = \"block\";\n        }\n    });\n    \n    document.getElementById(\"q17a\").addEventListener(\"change\", function() {\n        hideAllAfter(\"q17a-card\");\n        document.getElementById(\"q18-card\").style.display = \"block\";\n    });\n    \n    document.getElementById(\"q18\").addEventListener(\"change\", function() {\n        hideAllAfter(\"q18-card\");\n        document.getElementById(\"q19-card\").style.display = \"block\";\n    });\n    \n    document.getElementById(\"q19\").addEventListener(\"change\", function() {\n        const spouseEligible = checkSpouseEligible();\n        if (!spouseEligible) {\n            document.getElementById(\"calculate-button-card\").style.display = \"block\";\n        }\n    });\n    \n    \/\/ ========================================================\n    \/\/ SPOUSE LOGIC\n    \/\/ ========================================================\n    \n    function checkSpouseEligible() {\n        const marital = document.getElementById(\"q1\").value;\n        const joining = document.getElementById(\"q3\").value;\n        \n        if ((marital === \"B\" || marital === \"E\") && joining === \"B\") {\n            document.getElementById(\"spouse-block\").style.display = \"block\";\n            if (document.getElementById(\"q19\").value) {\n                document.getElementById(\"q20-card\").style.display = \"block\";\n            }\n            return true;\n        } else {\n            document.getElementById(\"spouse-block\").style.display = \"none\";\n            hideCard(\"q20-card\");\n            hideCard(\"q21-card\");\n            hideCard(\"q22-card\");\n            hideCard(\"q23-card\");\n            return false;\n        }\n    }\n    \n    document.getElementById(\"q20\").addEventListener(\"change\", function() {\n        hideAllAfter(\"q20-card\");\n        document.getElementById(\"q21-card\").style.display = \"block\";\n    });\n    \n    document.getElementById(\"q21\").addEventListener(\"change\", function() {\n        hideAllAfter(\"q21-card\");\n        document.getElementById(\"q22-card\").style.display = \"block\";\n    });\n    \n    document.getElementById(\"q22\").addEventListener(\"change\", function() {\n        hideAllAfter(\"q22-card\");\n        if (this.value === \"F\") {\n            document.getElementById(\"calculate-button-card\").style.display = \"block\";\n        } else {\n            document.getElementById(\"q23-card\").style.display = \"block\";\n        }\n    });\n    \n    document.getElementById(\"q23-writing\").addEventListener(\"change\", function() {\n        document.getElementById(\"calculate-button-card\").style.display = \"block\";\n    });\n    \n    \/\/ ========================================================\n    \/\/ FORM GATE LOGIC \u2014 Shows modal instead of results\n    \/\/ ========================================================\n    \n    \/\/ Helper: get the visible selected text from a <select> dropdown\n    function getSelectedText(id) {\n        var el = document.getElementById(id);\n        if (!el || !el.value) return \"\";\n        return el.options[el.selectedIndex].text;\n    }\n    \n    \/\/ When \"Calculate CRS Score\" is clicked, calculate the score,\n    \/\/ capture all actual answers, populate the hidden Formidable fields,\n    \/\/ then show the form gate modal\n    document.getElementById(\"calculate-button\").addEventListener(\"click\", function() {\n        \/\/ Calculate the score BEFORE opening the modal\n        var preResults = calculate_CRS();\n\n        \/\/ ---- Build a detailed breakdown with actual answers + points ----\n        var lines = [];\n        \n        \/\/ Marital status\n        lines.push(\"\u5a5a\u59fb\u72c0\u6cc1: \" + getSelectedText(\"q1\"));\n        \n        \/\/ Spouse\/partner questions (only if they were shown)\n        var marital = document.getElementById(\"q1\").value;\n        if (marital === \"B\" || marital === \"E\") {\n            lines.push(\"\u914d\u5076\uff0f\u4f34\u4fb6\u662f\u5426\u70ba\u52a0\u62ff\u5927\u516c\u6c11\u6216\u6c38\u4e45\u5c45\u6c11: \" + getSelectedText(\"q2\"));\n            if (document.getElementById(\"q2\").value === \"B\") {\n                \/\/ q2 = Yes means spouse is citizen, so q3 not asked\n            } else if (document.getElementById(\"q3\").value) {\n                lines.push(\"\u914d\u5076\uff0f\u4f34\u4fb6\u662f\u5426\u96a8\u884c\u81f3\u52a0\u62ff\u5927: \" + getSelectedText(\"q3\"));\n            }\n        }\n        \n        \/\/ Age\n        lines.push(\"\");\n        lines.push(\"--- \u6838\u5fc3\uff0f\u4eba\u529b\u8cc7\u672c\u56e0\u7d20 ---\");\n        lines.push(\"\u5e74\u9f61: \" + getSelectedText(\"q4\") + \" (\" + preResults.core_age + \" \u5206)\");\n        \n        \/\/ Education\n        lines.push(\"\u6559\u80b2\u7a0b\u5ea6: \" + getSelectedText(\"q5\") + \" (\" + preResults.core_edu + \" \u5206)\");\n        \n        \/\/ Canadian education\n        if (document.getElementById(\"q6\").value === \"B\") {\n            lines.push(\"\u52a0\u62ff\u5927\u5b78\u6b77: \u662f \u2014 \" + getSelectedText(\"q7\"));\n        } else if (document.getElementById(\"q6\").value === \"A\") {\n            lines.push(\"\u52a0\u62ff\u5927\u5b78\u6b77: \u5426\");\n        }\n        \n        \/\/ First language\n        var langTest = getSelectedText(\"q9\");\n        var lang1s = getSelectedText(\"lang1_s\");\n        var lang1l = getSelectedText(\"lang1_l\");\n        var lang1r = getSelectedText(\"lang1_r\");\n        var lang1w = getSelectedText(\"lang1_w\");\n        lines.push(\"\u7b2c\u4e00\u8a9e\u8a00\u6e2c\u9a57: \" + langTest);\n        lines.push(\"  \u53e3\u8aaa: \" + lang1s);\n        lines.push(\"  \u807d\u529b: \" + lang1l);\n        lines.push(\"  \u95b1\u8b80: \" + lang1r);\n        lines.push(\"  \u5beb\u4f5c: \" + lang1w);\n        lines.push(\"  \u7b2c\u4e00\u8a9e\u8a00\u5206\u6578: \" + preResults.core_lang1);\n        \n        \/\/ Second language (only if applicable)\n        var secondLang = document.getElementById(\"q11\").value;\n        if (secondLang && secondLang !== \"C\") {\n            var lang2Test = getSelectedText(\"q11\");\n            lines.push(\"\u7b2c\u4e8c\u8a9e\u8a00\u6e2c\u9a57: \" + lang2Test);\n            lines.push(\"  \u53e3\u8aaa: \" + getSelectedText(\"lang2_s\"));\n            lines.push(\"  \u807d\u529b: \" + getSelectedText(\"lang2_l\"));\n            lines.push(\"  \u95b1\u8b80: \" + getSelectedText(\"lang2_r\"));\n            lines.push(\"  \u5beb\u4f5c: \" + getSelectedText(\"lang2_w\"));\n            lines.push(\"  \u7b2c\u4e8c\u8a9e\u8a00\u5206\u6578: \" + preResults.core_lang2);\n        }\n        \n        \/\/ Canadian work experience\n        lines.push(\"\u52a0\u62ff\u5927\u5de5\u4f5c\u7d93\u9a57: \" + getSelectedText(\"q14\") + \" (\" + preResults.core_cwe + \" \u5206)\");\n        \n        \/\/ Foreign work experience\n        lines.push(\"\u6d77\u5916\u5de5\u4f5c\u7d93\u9a57: \" + getSelectedText(\"q15\"));\n        \n        \/\/ Certificate of qualification\n        lines.push(\"\u8077\u696d\u8cc7\u683c\u8b49\u66f8: \" + getSelectedText(\"q16\"));\n        \n        \/\/ Core total\n        lines.push(\"\u6838\u5fc3\uff0f\u4eba\u529b\u8cc7\u672c\u7e3d\u5206: \" + preResults.coreTotal + \" \u5206\");\n        \n        \/\/ Spouse factors (only if spouse is accompanying)\n        var spouseAccompanying = (marital === \"B\" || marital === \"E\") && document.getElementById(\"q2\").value === \"A\" && document.getElementById(\"q3\").value === \"B\";\n        if (spouseAccompanying) {\n            lines.push(\"\");\n            lines.push(\"--- \u914d\u5076\uff0f\u540c\u5c45\u4f34\u4fb6\u56e0\u7d20 ---\");\n            lines.push(\"\u914d\u5076\u6559\u80b2\u7a0b\u5ea6: \" + getSelectedText(\"q20\"));\n            lines.push(\"\u914d\u5076\u52a0\u62ff\u5927\u5de5\u4f5c\u7d93\u9a57: \" + getSelectedText(\"q21\"));\n            var spouseLangTest = document.getElementById(\"q22\").value;\n            if (spouseLangTest && spouseLangTest !== \"F\") {\n                lines.push(\"\u914d\u5076\u8a9e\u8a00\u6e2c\u9a57: \" + getSelectedText(\"q22\"));\n                lines.push(\"  \u53e3\u8aaa: \" + getSelectedText(\"q23-speaking\"));\n                lines.push(\"  \u807d\u529b: \" + getSelectedText(\"q23-listening\"));\n                lines.push(\"  \u95b1\u8b80: \" + getSelectedText(\"q23-reading\"));\n                lines.push(\"  \u5beb\u4f5c: \" + getSelectedText(\"q23-writing\"));\n            }\n            lines.push(\"\u914d\u5076\u56e0\u7d20\u7e3d\u5206: \" + preResults.spouseTotal + \" \u5206\");\n        }\n        \n        \/\/ Skill transferability\n        lines.push(\"\");\n        lines.push(\"--- \u6280\u80fd\u53ef\u8f49\u79fb\u6027\u56e0\u7d20 ---\");\n        lines.push(\"\u6280\u80fd\u53ef\u8f49\u79fb\u6027\u7e3d\u5206: \" + preResults.transferPoints + \" \u5206\");\n        \n        \/\/ Additional points\n        lines.push(\"\");\n        lines.push(\"--- \u984d\u5916\u52a0\u5206 ---\");\n        if (document.getElementById(\"q17\").value === \"B\") {\n            lines.push(\"\u6709\u6548\u5de5\u4f5c\u9080\u8acb: \u662f \u2014 \" + getSelectedText(\"q17a\"));\n        }\n        if (document.getElementById(\"q18\").value === \"B\") {\n            lines.push(\"\u7701\u63d0\u540d: \u662f (+600 \u5206)\");\n        } else {\n            lines.push(\"\u7701\u63d0\u540d: \u5426\");\n        }\n        if (document.getElementById(\"q19\").value === \"B\") {\n            lines.push(\"\u5728\u52a0\u62ff\u5927\u7684\u5144\u5f1f\u59d0\u59b9: \u662f (+15 \u5206)\");\n        }\n        lines.push(\"\u984d\u5916\u52a0\u5206\u7e3d\u8a08: \" + preResults.addPoints + \" \u5206\");\n        \n        \/\/ Grand total\n        lines.push(\"\");\n        lines.push(\"========================================\");\n        lines.push(\"CRS \u7e3d\u5206: \" + preResults.total + \" \/ 1,200\");\n        lines.push(\"========================================\");\n        \n        var breakdown = lines.join(\"\\n\");\n\n        \/\/ Populate the hidden fields in the Formidable form\n        \/\/ field_2mx3j2 = CRS Total Score (Formidable field ID 227)\n        \/\/ field_i31l12 = CRS Breakdown (Formidable field ID 228)\n        var totalField = document.getElementById(\"field_2mx3j2\");\n        var breakdownField = document.getElementById(\"field_i31l12\");\n        if (totalField) totalField.value = preResults.total;\n        if (breakdownField) breakdownField.value = breakdown;\n\n        \/\/ Now open the modal\n        document.getElementById(\"crs-form-gate-overlay\").style.display = \"block\";\n        document.body.style.overflow = \"hidden\"; \/\/ Prevent background scroll\n    });\n    \n    \/\/ Close the form gate modal (X button)\n    document.getElementById(\"crs-form-gate-close\").addEventListener(\"click\", function() {\n        document.getElementById(\"crs-form-gate-overlay\").style.display = \"none\";\n        document.body.style.overflow = \"\";\n    });\n    \n    \/\/ Close the form gate modal (click outside)\n    document.getElementById(\"crs-form-gate-overlay\").addEventListener(\"click\", function(e) {\n        if (e.target === this) {\n            this.style.display = \"none\";\n            document.body.style.overflow = \"\";\n        }\n    });\n    \n    \/\/ Close on Escape key\n    document.addEventListener(\"keydown\", function(e) {\n        if (e.key === \"Escape\") {\n            var overlay = document.getElementById(\"crs-form-gate-overlay\");\n            if (overlay.style.display === \"block\") {\n                overlay.style.display = \"none\";\n                document.body.style.overflow = \"\";\n            }\n        }\n    });\n    \n    \/\/ ==========================================================\n    \/\/ Listen for Formidable Forms submission to reveal the score\n    \/\/ ==========================================================\n    \/\/ When the Formidable form is successfully submitted,\n    \/\/ close the modal and show the calculated CRS score.\n    \n    if (typeof jQuery !== 'undefined') {\n        jQuery(document).on('frmFormComplete', function(event, form, response) {\n            \/\/ Close the form gate modal\n            document.getElementById(\"crs-form-gate-overlay\").style.display = \"none\";\n            document.body.style.overflow = \"\";\n            \n            \/\/ Now calculate and show the score\n            calculate_CRS_show();\n            \n            \/\/ Scroll to results\n            document.getElementById(\"results\").scrollIntoView({ behavior: 'smooth', block: 'start' });\n        });\n    }\n    \n    \/*\n    ================================================================\n    ALTERNATIVE: If frmFormComplete doesn't fire (e.g. AJAX is off),\n    you can use frmAfterSubmit or a redirect-based approach instead.\n    \n    Uncomment the block below if using Formidable's redirect on\n    submit and passing a URL parameter:\n    ================================================================\n    \n    \/\/ Check on page load if we're returning from a form submission\n    (function() {\n        var urlParams = new URLSearchParams(window.location.search);\n        if (urlParams.get('crs_form_submitted') === '1') {\n            \/\/ Trigger score display automatically\n            calculate_CRS_show();\n            document.getElementById(\"results\").scrollIntoView({ behavior: 'smooth' });\n        }\n    })();\n    *\/\n    \n    \/\/ ============================================================\n    \/\/ LANGUAGE TEST TO CLB CONVERSION\n    \/\/ ============================================================\n    \n    function CLB_from_code(code) {\n        const tbl = {\"A\": 3, \"B\": 4, \"C\": 5, \"D\": 6, \"E\": 7, \"F\": 8, \"G\": 9, \"H\": 10};\n        return tbl[code] || 0;\n    }\n    \n    function getFirstLanguageCLB() {\n        const s = document.getElementById(\"lang1_s\").value;\n        const l = document.getElementById(\"lang1_l\").value;\n        const r = document.getElementById(\"lang1_r\").value;\n        const w = document.getElementById(\"lang1_w\").value;\n        \n        if (!s || !l || !r || !w) return 0;\n        \n        return Math.min(CLB_from_code(s), CLB_from_code(l), CLB_from_code(r), CLB_from_code(w));\n    }\n    \n    \/\/ ============================================================\n    \/\/ CORE CALCULATION FUNCTIONS (EXACT IRCC VALUES)\n    \/\/ ============================================================\n    \n    function points_age(marital, age) {\n        const spouseCitizen = document.getElementById(\"q2\").value === \"B\";\n        const spouseComing = document.getElementById(\"q3\").value === \"B\";\n        const isSingle = (marital !== \"B\" && marital !== \"E\") || spouseCitizen || !spouseComing;\n        \n        if (isSingle) {\n            const ageMap = {\n                \"A\": 0, \"B\": 99, \"C\": 105, \"D\": 110, \"E\": 110, \"F\": 110, \"G\": 110, \"H\": 110,\n                \"I\": 110, \"J\": 110, \"K\": 110, \"L\": 110, \"M\": 110, \"N\": 105, \"O\": 99, \"P\": 94,\n                \"Q\": 88, \"R\": 83, \"S\": 77, \"T\": 72, \"U\": 66, \"V\": 61, \"W\": 55, \"X\": 50,\n                \"Y\": 39, \"Z\": 28, \"AA\": 17, \"AB\": 6, \"AC\": 0\n            };\n            return ageMap[age] || 0;\n        } else {\n            const spouseAgeMap = {\n                \"A\": 0, \"B\": 90, \"C\": 95, \"D\": 100, \"E\": 100, \"F\": 100, \"G\": 100, \"H\": 100,\n                \"I\": 100, \"J\": 100, \"K\": 100, \"L\": 100, \"M\": 100, \"N\": 95, \"O\": 90, \"P\": 85,\n                \"Q\": 80, \"R\": 75, \"S\": 70, \"T\": 65, \"U\": 60, \"V\": 55, \"W\": 50, \"X\": 45,\n                \"Y\": 35, \"Z\": 25, \"AA\": 15, \"AB\": 5, \"AC\": 0\n            };\n            return spouseAgeMap[age] || 0;\n        }\n    }\n    \n    function points_education(marital, edu) {\n        const spouseCitizen = document.getElementById(\"q2\").value === \"B\";\n        const spouseComing = document.getElementById(\"q3\").value === \"B\";\n        const isSingle = (marital !== \"B\" && marital !== \"E\") || spouseCitizen || !spouseComing;\n        \n        if (isSingle) {\n            const eduMap = {\"A\": 0, \"B\": 30, \"C\": 90, \"D\": 98, \"E\": 120, \"F\": 128, \"G\": 135, \"H\": 150};\n            return eduMap[edu] || 0;\n        } else {\n            const spouseEduMap = {\"A\": 0, \"B\": 28, \"C\": 84, \"D\": 91, \"E\": 112, \"F\": 119, \"G\": 126, \"H\": 140};\n            return spouseEduMap[edu] || 0;\n        }\n    }\n    \n    function points_first_language(marital) {\n        const spouseCitizen = document.getElementById(\"q2\").value === \"B\";\n        const spouseComing = document.getElementById(\"q3\").value === \"B\";\n        const isSingle = (marital !== \"B\" && marital !== \"E\") || spouseCitizen || !spouseComing;\n        \n        const s = document.getElementById(\"lang1_s\").value;\n        const l = document.getElementById(\"lang1_l\").value;\n        const r = document.getElementById(\"lang1_r\").value;\n        const w = document.getElementById(\"lang1_w\").value;\n        \n        if (!s || !l || !r || !w) return 0;\n        \n        const clb_s = CLB_from_code(s);\n        const clb_l = CLB_from_code(l);\n        const clb_r = CLB_from_code(r);\n        const clb_w = CLB_from_code(w);\n        \n        function pointsForCLB(clb, isSingle) {\n            if (clb < 4) return 0;\n            if (isSingle) {\n                if (clb >= 10) return 34;\n                if (clb >= 9) return 31;\n                if (clb >= 8) return 23;\n                if (clb >= 7) return 17;\n                if (clb >= 6) return 9;\n                return 6;\n            } else {\n                if (clb >= 10) return 32;\n                if (clb >= 9) return 29;\n                if (clb >= 8) return 22;\n                if (clb >= 7) return 16;\n                if (clb >= 6) return 8;\n                return 6;\n            }\n        }\n        \n        return pointsForCLB(clb_s, isSingle) + pointsForCLB(clb_l, isSingle) + \n               pointsForCLB(clb_r, isSingle) + pointsForCLB(clb_w, isSingle);\n    }\n    \n    function points_second_language(secondLang) {\n        if (!secondLang || secondLang === \"C\") return 0;\n        \n        const s = document.getElementById(\"lang2_s\").value;\n        const l = document.getElementById(\"lang2_l\").value;\n        const r = document.getElementById(\"lang2_r\").value;\n        const w = document.getElementById(\"lang2_w\").value;\n        \n        if (!s || !l || !r || !w) return 0;\n        \n        const clb_s = CLB_from_code(s);\n        const clb_l = CLB_from_code(l);\n        const clb_r = CLB_from_code(r);\n        const clb_w = CLB_from_code(w);\n        \n        function pointsForCLB(clb) {\n            if (clb < 5) return 0;\n            if (clb >= 9) return 6;\n            if (clb >= 7) return 3;\n            return 1;\n        }\n        \n        return pointsForCLB(clb_s) + pointsForCLB(clb_l) + pointsForCLB(clb_r) + pointsForCLB(clb_w);\n    }\n    \n    function points_cwe(marital, cwe) {\n        const spouseCitizen = document.getElementById(\"q2\").value === \"B\";\n        const spouseComing = document.getElementById(\"q3\").value === \"B\";\n        const isSingle = (marital !== \"B\" && marital !== \"E\") || spouseCitizen || !spouseComing;\n        \n        if (isSingle) {\n            const cweMap = {\"A\": 0, \"B\": 40, \"C\": 53, \"D\": 64, \"E\": 72, \"F\": 80};\n            return cweMap[cwe] || 0;\n        } else {\n            const spouseCweMap = {\"A\": 0, \"B\": 35, \"C\": 46, \"D\": 56, \"E\": 63, \"F\": 70};\n            return spouseCweMap[cwe] || 0;\n        }\n    }\n    \n    \/\/ ============================================================\n    \/\/ SPOUSE FACTORS (EXACT IRCC VALUES)\n    \/\/ ============================================================\n    \n    function spouse_education_points(edu) {\n        const eduMap = {\"A\": 0, \"B\": 2, \"C\": 6, \"D\": 7, \"E\": 8, \"F\": 9, \"G\": 10, \"H\": 10};\n        return eduMap[edu] || 0;\n    }\n    \n    function spouse_cwe_points(cwe) {\n        const cweMap = {\"A\": 0, \"B\": 5, \"C\": 7, \"D\": 8, \"E\": 9, \"F\": 10};\n        return cweMap[cwe] || 0;\n    }\n    \n    function spouse_language_points(clbCode) {\n        if (!clbCode) return 0;\n        const clb = CLB_from_code(clbCode);\n        if (clb >= 9) return 5;\n        if (clb >= 7) return 3;\n        if (clb >= 5) return 1;\n        return 0;\n    }\n    \n    \/\/ ============================================================\n    \/\/ SKILL TRANSFERABILITY FACTORS (EXACT IRCC VALUES)\n    \/\/ ============================================================\n    \n    function t_edu_lang(edu, minCLB) {\n        if (minCLB < 7) return 0;\n        \n        const s = CLB_from_code(document.getElementById(\"lang1_s\").value);\n        const l = CLB_from_code(document.getElementById(\"lang1_l\").value);\n        const r = CLB_from_code(document.getElementById(\"lang1_r\").value);\n        const w = CLB_from_code(document.getElementById(\"lang1_w\").value);\n        \n        if (Math.min(s, l, r, w) < 7) return 0;\n        const all9plus = Math.min(s, l, r, w) >= 9;\n        \n        switch (edu) {\n            case \"C\": return all9plus ? 25 : 13;\n            case \"D\": return all9plus ? 25 : 13;\n            case \"E\": return all9plus ? 50 : 25;\n            case \"F\": return all9plus ? 50 : 25;\n            case \"G\": return all9plus ? 50 : 25;\n            case \"H\": return all9plus ? 50 : 25;\n            default: return 0;\n        }\n    }\n    \n    function t_edu_cwe(edu, cwe) {\n        if (cwe === \"A\") return 0;\n        \n        const has2plus = [\"D\", \"E\", \"F\", \"G\", \"H\"].includes(edu);\n        const hasBachelorPlus = [\"E\", \"F\", \"G\", \"H\"].includes(edu);\n        \n        if (cwe === \"B\") {\n            if (!has2plus) return 0;\n            return 13;\n        }\n        \n        if ([\"C\",\"D\",\"E\",\"F\"].includes(cwe)) {\n            if (hasBachelorPlus) return 50;\n            return 25;\n        }\n        \n        return 0;\n    }\n    \n    function t_foreign_lang(foreign, minCLB) {\n        if (foreign === \"A\") return 0;\n        \n        const s = CLB_from_code(document.getElementById(\"lang1_s\").value);\n        const l = CLB_from_code(document.getElementById(\"lang1_l\").value);\n        const r = CLB_from_code(document.getElementById(\"lang1_r\").value);\n        const w = CLB_from_code(document.getElementById(\"lang1_w\").value);\n        \n        if (Math.min(s, l, r, w) < 7) return 0;\n        const all9plus = Math.min(s, l, r, w) >= 9;\n        \n        if (foreign === \"B\") return all9plus ? 25 : 13;\n        if (foreign === \"C\" || foreign === \"D\") return all9plus ? 50 : 25;\n        return 0;\n    }\n    \n    function t_foreign_cwe(foreign, cwe) {\n        if (foreign === \"A\" || cwe === \"A\") return 0;\n        \n        if (foreign === \"B\") {\n            return (cwe === \"B\") ? 13 : 25;\n        }\n        \n        if (foreign === \"C\" || foreign === \"D\") {\n            return (cwe === \"B\") ? 25 : 50;\n        }\n        \n        return 0;\n    }\n    \n    function t_certificate_lang(cert, minCLB) {\n        if (cert !== \"B\") return 0;\n        \n        const s = CLB_from_code(document.getElementById(\"lang1_s\").value);\n        const l = CLB_from_code(document.getElementById(\"lang1_l\").value);\n        const r = CLB_from_code(document.getElementById(\"lang1_r\").value);\n        const w = CLB_from_code(document.getElementById(\"lang1_w\").value);\n        \n        if (Math.min(s, l, r, w) < 5) return 0;\n        const all7plus = Math.min(s, l, r, w) >= 7;\n        \n        return all7plus ? 50 : 25;\n    }\n    \n    function calculate_transferability() {\n        const edu = document.getElementById(\"q5\").value;\n        const foreign = document.getElementById(\"q15\").value;\n        const cwe = document.getElementById(\"q14\").value;\n        const cert = document.getElementById(\"q16\").value;\n        const minCLB = getFirstLanguageCLB();\n        \n        const A1 = t_edu_lang(edu, minCLB);\n        const A2 = t_edu_cwe(edu, cwe);\n        let A_total = Math.min(A1 + A2, 50);\n        \n        const B1 = t_foreign_lang(foreign, minCLB);\n        const B2 = t_foreign_cwe(foreign, cwe);\n        let B_total = Math.min(B1 + B2, 50);\n        \n        const C_total = Math.min(t_certificate_lang(cert, minCLB), 50);\n        \n        const combined = Math.min(A_total + B_total + C_total, 100);\n        \n        return { A_total, B_total, C_total, combined };\n    }\n    \n    \/\/ ============================================================\n    \/\/ ADDITIONAL POINTS\n    \/\/ ============================================================\n    \n    function additional_points(provincial, sibling, canadianEdu) {\n        let total = 0;\n        \n        if (provincial === \"B\") total += 600;\n        if (sibling === \"B\") total += 15;\n        if (canadianEdu === \"B\") total += 15;\n        if (canadianEdu === \"C\") total += 30;\n        \n        return Math.min(total, 600);\n    }\n    \n    \/\/ ============================================================\n    \/\/ MAIN CRS CALCULATION\n    \/\/ ============================================================\n    \n    function calculate_CRS() {\n        const marital = document.getElementById(\"q1\").value;\n        const age = document.getElementById(\"q4\").value;\n        const edu = document.getElementById(\"q5\").value;\n        const secondLang = document.getElementById(\"q11\").value;\n        const cwe = document.getElementById(\"q14\").value;\n        \n        const core_age = points_age(marital, age);\n        const core_edu = points_education(marital, edu);\n        const core_lang1 = points_first_language(marital);\n        const core_lang2 = points_second_language(secondLang);\n        const core_cwe = points_cwe(marital, cwe);\n        \n        const coreTotal = core_age + core_edu + core_lang1 + core_lang2 + core_cwe;\n        \n        let spouseTotal = 0;\n        const spouseEligible = checkSpouseEligible();\n        \n        if (spouseEligible) {\n            spouseTotal += spouse_education_points(document.getElementById(\"q20\").value);\n            spouseTotal += spouse_cwe_points(document.getElementById(\"q21\").value);\n            \n            if (document.getElementById(\"q22\").value !== \"F\") {\n                spouseTotal += spouse_language_points(document.getElementById(\"q23-speaking\").value);\n                spouseTotal += spouse_language_points(document.getElementById(\"q23-listening\").value);\n                spouseTotal += spouse_language_points(document.getElementById(\"q23-reading\").value);\n                spouseTotal += spouse_language_points(document.getElementById(\"q23-writing\").value);\n            }\n        }\n        \n        const T = calculate_transferability();\n        const transferPoints = T.combined;\n        \n        const addPoints = additional_points(\n            document.getElementById(\"q18\").value,\n            document.getElementById(\"q19\").value,\n            document.getElementById(\"q7\").value\n        );\n        \n        const total = coreTotal + spouseTotal + transferPoints + addPoints;\n        \n        return {\n            core_age, core_edu, core_lang1, core_lang2, core_cwe,\n            coreTotal, spouseTotal, transferPoints, addPoints, total\n        };\n    }\n    \n    \/\/ ============================================================\n    \/\/ DISPLAY RESULTS\n    \/\/ ============================================================\n    \n    function calculate_CRS_show() {\n        const results = calculate_CRS();\n        \n        \/\/ Show simplified score display\n        document.getElementById(\"total-score-display\").textContent = results.total;\n        document.getElementById(\"pre-assessment-button\").style.display = \"block\";\n        \n        \/\/ Store detailed breakdown for modal with table format\n        const detailsHTML = `\n            <div style=\"margin-bottom:30px;\">\n                <div style=\"background:#B1251F; color:white; padding:15px; border-radius:6px 6px 0 0; font-size:20px; font-weight:bold; text-align:center;\">\n                    CRS \u7e3d\u5206\uff1a${results.total} \/ 1,200\n                <\/div>\n            <\/div>\n            \n            <table style=\"width:100%; border-collapse:collapse; margin-bottom:20px; font-size:14px;\">\n                <thead>\n                    <tr style=\"background:#e6f2fa; border-bottom:2px solid #2b6ca3;\">\n                        <th style=\"padding:12px; text-align:left; font-weight:600; color:#2b6ca3;\">\u985e\u5225<\/th>\n                        <th style=\"padding:12px; text-align:right; font-weight:600; color:#2b6ca3;\">\u5206\u6578<\/th>\n                    <\/tr>\n                <\/thead>\n                <tbody>\n                    <tr style=\"background:#f8f9fa; border-bottom:1px solid #ddd;\">\n                        <td style=\"padding:12px; font-weight:600;\">\u6838\u5fc3\uff0f\u4eba\u529b\u8cc7\u672c\u56e0\u7d20<\/td>\n                        <td style=\"padding:12px; text-align:right; font-weight:600;\">${results.coreTotal}<\/td>\n                    <\/tr>\n                    <tr style=\"border-bottom:1px solid #eee;\">\n                        <td style=\"padding:8px 12px 8px 30px; color:#666;\">\u5e74\u9f61<\/td>\n                        <td style=\"padding:8px 12px; text-align:right;\">${results.core_age}<\/td>\n                    <\/tr>\n                    <tr style=\"border-bottom:1px solid #eee;\">\n                        <td style=\"padding:8px 12px 8px 30px; color:#666;\">\u6559\u80b2\u7a0b\u5ea6<\/td>\n                        <td style=\"padding:8px 12px; text-align:right;\">${results.core_edu}<\/td>\n                    <\/tr>\n                    <tr style=\"border-bottom:1px solid #eee;\">\n                        <td style=\"padding:8px 12px 8px 30px; color:#666;\">\u7b2c\u4e00\u5b98\u65b9\u8a9e\u8a00<\/td>\n                        <td style=\"padding:8px 12px; text-align:right;\">${results.core_lang1}<\/td>\n                    <\/tr>\n                    <tr style=\"border-bottom:1px solid #eee;\">\n                        <td style=\"padding:8px 12px 8px 30px; color:#666;\">\u7b2c\u4e8c\u5b98\u65b9\u8a9e\u8a00<\/td>\n                        <td style=\"padding:8px 12px; text-align:right;\">${results.core_lang2}<\/td>\n                    <\/tr>\n                    <tr style=\"border-bottom:1px solid #eee;\">\n                        <td style=\"padding:8px 12px 8px 30px; color:#666;\">\u52a0\u62ff\u5927\u5de5\u4f5c\u7d93\u9a57<\/td>\n                        <td style=\"padding:8px 12px; text-align:right;\">${results.core_cwe}<\/td>\n                    <\/tr>\n                    <tr style=\"background:#f8f9fa; border-bottom:1px solid #ddd; border-top:2px solid #ddd;\">\n                        <td style=\"padding:12px; font-weight:600;\">\u914d\u5076\u6216\u540c\u5c45\u4f34\u4fb6\u56e0\u7d20<\/td>\n                        <td style=\"padding:12px; text-align:right; font-weight:600;\">${results.spouseTotal}<\/td>\n                    <\/tr>\n                    <tr style=\"background:#f8f9fa; border-bottom:1px solid #ddd; border-top:2px solid #ddd;\">\n                        <td style=\"padding:12px; font-weight:600;\">\u6280\u80fd\u53ef\u8f49\u79fb\u6027\u56e0\u7d20<\/td>\n                        <td style=\"padding:12px; text-align:right; font-weight:600;\">${results.transferPoints}<\/td>\n                    <\/tr>\n                    <tr style=\"background:#f8f9fa; border-bottom:1px solid #ddd; border-top:2px solid #ddd;\">\n                        <td style=\"padding:12px; font-weight:600;\">\u984d\u5916\u52a0\u5206<\/td>\n                        <td style=\"padding:12px; text-align:right; font-weight:600;\">${results.addPoints}<\/td>\n                    <\/tr>\n                <\/tbody>\n            <\/table>\n        `;\n        \n        document.getElementById(\"details-content\").innerHTML = detailsHTML;\n        \n        document.getElementById(\"results\").style.display = \"block\";\n        document.getElementById(\"eligibility-message\").style.display = \"none\";\n        \n        \/\/ Store results for PDF generation\n        window.crsResults = results;\n    }\n    \n    \/\/ View Details link handler\n    document.getElementById(\"view-details-link\").addEventListener(\"click\", function(e) {\n        e.preventDefault();\n        document.getElementById(\"details-modal-overlay\").style.display = \"block\";\n    });\n    \n    \/\/ Close details modal\n    document.getElementById(\"details-modal-close\").addEventListener(\"click\", function() {\n        document.getElementById(\"details-modal-overlay\").style.display = \"none\";\n    });\n    \n    window.addEventListener(\"click\", function(event) {\n        const detailsModal = document.getElementById(\"details-modal-overlay\");\n        if (event.target === detailsModal) {\n            detailsModal.style.display = \"none\";\n        }\n    });\n    \n    \/\/ PDF Download button handler\n    document.getElementById(\"download-pdf-button\").addEventListener(\"click\", function() {\n        if (window.crsResults) {\n            generatePDF(window.crsResults);\n        }\n    });\n    \n    \/\/ PDF Generation Function\n    function generatePDF(results) {\n        const { jsPDF } = window.jspdf;\n        const doc = new jsPDF();\n        \n        \/\/ Colors\n        const primaryColor = [177, 37, 31]; \/\/ #B1251F\n        const secondaryColor = [43, 108, 163]; \/\/ #2b6ca3\n        const lightGray = [248, 249, 250]; \/\/ #f8f9fa\n        const darkGray = [102, 102, 102]; \/\/ #666\n        \n        let yPos = 20;\n        \n        \/\/ Header\n        doc.setFillColor(...primaryColor);\n        doc.rect(0, 0, 210, 40, 'F');\n        doc.setTextColor(255, 255, 255);\n        doc.setFontSize(24);\n        doc.setFont(undefined, 'bold');\n        doc.text('CRS Score Report \/ CRS \u5206\u6578\u5831\u544a', 105, 25, { align: 'center' });\n        doc.setFontSize(12);\n        doc.setFont(undefined, 'normal');\n        doc.text(`Generated: ${new Date().toLocaleDateString('zh-TW', { year: 'numeric', month: 'long', day: 'numeric' })}`, 105, 35, { align: 'center' });\n        \n        yPos = 50;\n        \n        \/\/ Total Score Box\n        doc.setFillColor(...primaryColor);\n        doc.roundedRect(20, yPos, 170, 15, 3, 3, 'F');\n        doc.setTextColor(255, 255, 255);\n        doc.setFontSize(20);\n        doc.setFont(undefined, 'bold');\n        doc.text(`CRS \u7e3d\u5206\uff1a${results.total} \/ 1,200`, 105, yPos + 11, { align: 'center' });\n        \n        yPos += 30;\n        \n        \/\/ Score Breakdown Table\n        doc.setFontSize(14);\n        doc.setFont(undefined, 'bold');\n        doc.setTextColor(...secondaryColor);\n        doc.text('Score Breakdown', 20, yPos);\n        \n        yPos += 10;\n        \n        \/\/ Table Header\n        doc.setFillColor(...secondaryColor);\n        doc.rect(20, yPos, 170, 8, 'F');\n        doc.setTextColor(255, 255, 255);\n        doc.setFontSize(11);\n        doc.setFont(undefined, 'bold');\n        doc.text('Category', 25, yPos + 6);\n        doc.text('Points', 185, yPos + 6, { align: 'right' });\n        \n        yPos += 8;\n        \n        \/\/ Core Factors Row\n        doc.setFillColor(...lightGray);\n        doc.rect(20, yPos, 170, 7, 'F');\n        doc.setTextColor(0, 0, 0);\n        doc.setFont(undefined, 'bold');\n        doc.text('Core \/ Human Capital Factors', 25, yPos + 5);\n        doc.text(results.coreTotal.toString(), 185, yPos + 5, { align: 'right' });\n        yPos += 7;\n        \n        \/\/ Core Sub-items\n        doc.setFont(undefined, 'normal');\n        doc.setFontSize(10);\n        doc.setTextColor(...darkGray);\n        const coreItems = [\n            ['Age', results.core_age],\n            ['Education', results.core_edu],\n            ['First Official Language', results.core_lang1],\n            ['Second Official Language', results.core_lang2],\n            ['Canadian Work Experience', results.core_cwe]\n        ];\n        \n        coreItems.forEach(item => {\n            doc.text('  \u2022 ' + item[0], 30, yPos + 4);\n            doc.text(item[1].toString(), 185, yPos + 4, { align: 'right' });\n            yPos += 6;\n        });\n        \n        yPos += 2;\n        \n        \/\/ Spouse Factors\n        doc.setFillColor(...lightGray);\n        doc.rect(20, yPos, 170, 7, 'F');\n        doc.setTextColor(0, 0, 0);\n        doc.setFont(undefined, 'bold');\n        doc.setFontSize(11);\n        doc.text('Spouse or Common-Law Partner Factors', 25, yPos + 5);\n        doc.text(results.spouseTotal.toString(), 185, yPos + 5, { align: 'right' });\n        yPos += 9;\n        \n        \/\/ Skill Transferability\n        doc.setFillColor(...lightGray);\n        doc.rect(20, yPos, 170, 7, 'F');\n        doc.setTextColor(0, 0, 0);\n        doc.setFont(undefined, 'bold');\n        doc.text('Skill Transferability Factors', 25, yPos + 5);\n        doc.text(results.transferPoints.toString(), 185, yPos + 5, { align: 'right' });\n        yPos += 9;\n        \n        \/\/ Additional Points\n        doc.setFillColor(...lightGray);\n        doc.rect(20, yPos, 170, 7, 'F');\n        doc.setTextColor(0, 0, 0);\n        doc.setFont(undefined, 'bold');\n        doc.text('Additional Points', 25, yPos + 5);\n        doc.text(results.addPoints.toString(), 185, yPos + 5, { align: 'right' });\n        yPos += 15;\n        \n        \/\/ Footer\n        doc.setFontSize(9);\n        doc.setTextColor(128, 128, 128);\n        doc.setFont(undefined, 'italic');\n        doc.text('This is an unofficial CRS calculator. For official scoring, visit canada.ca', 105, 280, { align: 'center' });\n        \n        \/\/ Save PDF\n        doc.save(`CRS_Score_${results.total}_${new Date().getTime()}.pdf`);\n    }\n    \n    \/\/ ============================================================\n    \/\/ EXPOSE calculate_CRS so it can be called from outside IIFE\n    \/\/ ============================================================\n    window.calculate_CRS = calculate_CRS;\n    \n})();\n<\/script>\n\n<!-- End of Elementor embed code -->\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2294bc1 elementor-widget elementor-widget-html\" data-id=\"2294bc1\" data-element_type=\"widget\" data-no-translation=\"\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>.elementor-element-2294bc1{display:none !important}<\/style>\t\t\t\t<\/div>\n\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>CRS Calculator 1) What is your marital status? Select your marital status: Select&#8230;Annulled MarriageCommon-LawDivorced \/ SeparatedLegally SeparatedMarriedNever Married \/ SingleWidowed 2) i. Is your spouse or common-law partner a citizen or permanent resident of Canada? Select one: Select&#8230;NoYes 2) ii. Will your spouse or common-law partner come with you to Canada? Select one: Select&#8230;NoYes 3) [&hellip;]<\/p>","protected":false},"author":1,"featured_media":136,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-19","page","type-page","status-publish","has-post-thumbnail","hentry"],"featured_image_src":"https:\/\/cicvisa.com\/wp-content\/uploads\/2025\/11\/calc.svg","featured_image_src_square":"https:\/\/cicvisa.com\/wp-content\/uploads\/2025\/11\/calc.svg","_links":{"self":[{"href":"https:\/\/cicvisa.com\/zh\/wp-json\/wp\/v2\/pages\/19","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cicvisa.com\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cicvisa.com\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cicvisa.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cicvisa.com\/zh\/wp-json\/wp\/v2\/comments?post=19"}],"version-history":[{"count":0,"href":"https:\/\/cicvisa.com\/zh\/wp-json\/wp\/v2\/pages\/19\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cicvisa.com\/zh\/wp-json\/wp\/v2\/media\/136"}],"wp:attachment":[{"href":"https:\/\/cicvisa.com\/zh\/wp-json\/wp\/v2\/media?parent=19"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}