{"id":5719,"date":"2026-05-30T08:33:51","date_gmt":"2026-05-30T08:33:51","guid":{"rendered":"https:\/\/glacademy.edu.my\/admissions\/"},"modified":"2026-05-30T08:33:51","modified_gmt":"2026-05-30T08:33:51","slug":"admissions","status":"publish","type":"page","link":"https:\/\/glacademy.edu.my\/pt-br\/admissions\/","title":{"rendered":"Admission"},"content":{"rendered":"<!--\n  SEO Title: Matr\u00edcula | Inscreva-se na GL Academy Kuala Lumpur\n  Meta Description: Inscreva-se na Global Leaders Academy \u2014 nosso pr\u00f3prio formul\u00e1rio de matr\u00edcula envia seus dados diretamente para a nossa equipe de matr\u00edculas. Escola de idiomas e refor\u00e7o escolar em Kuala Lumpur.\n  Focus Keyword: matr\u00edcula GL Academy\n  Slug: admission\n\n  Student Admission, three steps (design handoff ADMISSION-PAGE.md, option 3a) with a signature on\n  the last step. Submits to the WordPress route \/wp-json\/glacademy\/v1\/erp-register, which forwards\n  the lead to the GL Academy ERP server-side (the API key never touches the browser). Markup, ids and\n  field names are identical across the 8 language files; only visible text differs. Styles and\n  script are self-contained below. The consent sentences must stay VERBATIM what the ERP stores for\n  this page's consent_version (backend\/tests\/test_consent_chain.py checks it).\n-->\n<style id=\"adm3-css\">\n\/* Student Admission, three steps (docs\/design admission option 3a). Everything is scoped under .adm3. *\/\n.adm3{--navy:#052868;--navy9:#021C49;--royal:#1556B5;--ink:#0F172A;--body:#3D4757;--muted:#6B7385;--faint:#9AA3B2;--line:#E4E7EE;--line2:#EFF1F5;--paper2:#F6F7FA;--err:#B42318;--ok:#1D9E75;--grad:linear-gradient(95deg,#1556B5 0%,#2178E0 55%,#9C7C2E 100%);\n  font-family:'Montserrat',sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;\n  background:linear-gradient(180deg,#F4F8FE 0%,#FFFFFF 420px);padding:56px 28px 96px}\n:where(.adm3) *,:where(.adm3) *::before,:where(.adm3) *::after{box-sizing:border-box}\n:where(.adm3) :is(p,h1,h2,ol,fieldset,legend){margin:0;padding:0}\n:where(.adm3) ol{list-style:none}\n:where(.adm3) fieldset{border:0;min-width:0}\n:where(.adm3) a{text-decoration:none}\n.adm3 [hidden]{display:none!important}\n.adm3 :is(button,input,select,textarea){font-family:inherit}\n.adm3-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n.adm3 .adm3-ltr{direction:ltr;unicode-bidi:isolate}\n\n.adm3-layout{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 420px;grid-template-areas:\"head aside\" \"main aside\";column-gap:56px;align-items:start}\n.adm3-head{grid-area:head}\n.adm3-main{grid-area:main;min-width:0}\n.adm3-aside{grid-area:aside;position:sticky;top:120px;padding-top:40px}\n.adm3-eyebrow{display:inline-block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--royal);background:#DCE7F5;padding:5px 12px;border-radius:999px}\n.adm3-h1{font-size:clamp(34px,5vw,48px);font-weight:800;line-height:1.05;letter-spacing:-.03em;color:var(--navy);margin:16px 0 0}\n.adm3-grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}\n\n\/* step bar *\/\n.adm3-steps{scroll-margin-top:120px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:28px 0 18px}\n.adm3-stepbtn{display:flex;flex-direction:column;gap:8px;width:100%;text-align:start;background:none;border:0;padding:0 0 4px;cursor:pointer;border-radius:4px}\n.adm3-stepbtn__bar{height:4px;border-radius:999px;background:var(--line);transition:background .25s}\n.adm3-stepbtn__n{font-size:12px;font-weight:700;color:var(--faint)}\n.adm3-stepbtn__t{font-size:15px;font-weight:700;color:var(--faint);line-height:1.25;overflow-wrap:anywhere;hyphens:auto}\n.adm3-stepbtn.is-on .adm3-stepbtn__bar{background:var(--navy)}\n.adm3-stepbtn.is-on .adm3-stepbtn__n{color:var(--royal)}\n.adm3-stepbtn.is-on .adm3-stepbtn__t{color:var(--navy)}\n\n\/* form card *\/\n.adm3-card-form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:36px 40px}\n.adm3-note{font-size:13px;line-height:1.6;color:var(--muted);background:var(--paper2);border-radius:10px;padding:12px 14px;margin-bottom:22px}\n.adm3-note strong{color:var(--body)}\n.adm3-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}\n.adm3-col-2{grid-column:1\/-1}\n.adm3-field{min-width:0;display:flex;flex-direction:column}\n.adm3-label{display:block;font-size:13px;font-weight:600;color:var(--navy);margin-bottom:8px;line-height:1.35}\n.adm3 .adm-req{color:#D92D20;font-weight:700}\n.adm3-reqnote{font-size:12.5px;color:var(--muted);text-align:end;margin:0 0 10px}\n.adm3-input{width:100%;height:48px;font-size:15px;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:0 14px;outline:none;box-shadow:none;margin:0;transition:border-color .15s}\n.adm3-input::placeholder{color:var(--faint);opacity:1}\n.adm3-input:hover{border-color:#CDD3DE}\n.adm3 :is(.adm3-input,.adm3-gbtn,.adm3-stepbtn,.adm3-btn,.adm3-back,.adm3-link,.adm3-dial select):focus-visible,\n.adm3 .adm3-drop:focus-within,.adm3 .adm3-consent input:focus-visible,.adm3 a:focus-visible{outline:2px solid var(--royal);outline-offset:2px}\n.adm3-input[aria-invalid=\"true\"]{border-color:var(--err)}\n.adm3 textarea.adm3-input{height:auto;min-height:104px;padding:12px 14px;line-height:1.55;resize:vertical}\n.adm3 select.adm3-input{-webkit-appearance:none;appearance:none;padding-inline-end:40px;cursor:pointer;background:#fff url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231556B5' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'\/%3E%3C\/svg%3E\") no-repeat right 14px center}\n.adm3[dir=\"rtl\"] select.adm3-input{background-position:left 14px center}\n.adm3 select.adm3-input:invalid,.adm3 select.adm3-input.is-empty{color:var(--faint)}\n.adm3 select.adm3-input option{color:var(--ink)}\n.adm3-hint{font-size:12.5px;line-height:1.5;color:var(--muted);margin-top:6px}\n.adm3-err{font-size:12.5px;line-height:1.5;font-weight:600;color:var(--err);margin-top:6px}\n\n\/* nationality: type to search *\/\n.adm3-combo{position:relative}\n.adm3 .adm3-combo__input{padding-inline-end:40px;background:#fff url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231556B5' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'\/%3E%3C\/svg%3E\") no-repeat right 14px center;scroll-margin-top:96px}\n.adm3[dir=\"rtl\"] .adm3-combo__input{background-position:left 14px center}\n.adm3-combo__list{position:absolute;z-index:40;top:calc(100% + 6px);left:0;right:0;max-height:300px;overflow-y:auto;overscroll-behavior:contain;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px -16px rgba(5,40,104,.35)}\n.adm3-combo__list > li{margin:0;list-style:none}\n.adm3-combo__opt{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 12px;border-radius:8px;font-size:15px;line-height:1.3;color:var(--ink);cursor:pointer}\n.adm3-combo__opt:hover,.adm3-combo__opt.is-active{background:#EEF4FF}\n.adm3-combo__opt[aria-selected=\"true\"]{font-weight:700;color:var(--navy)}\n.adm3-combo__en{font-size:12.5px;font-weight:500;color:var(--muted);white-space:nowrap}\n.adm3-combo__sep{height:1px;background:var(--line2);margin:6px 4px}\n.adm3-combo__none{padding:10px 12px 4px;font-size:13.5px;color:var(--muted)}\n\n\/* gender *\/\n.adm3-gender{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:10px;max-width:520px}\n.adm3-gbtn{display:flex;align-items:center;justify-content:center;min-height:48px;padding:6px 10px;border-radius:10px;border:1.5px solid var(--line);background:#fff;color:var(--navy);font-size:15px;font-weight:600;line-height:1.2;text-align:center;cursor:pointer;transition:background .18s,border-color .18s,color .18s}\n.adm3-gbtn:hover{border-color:#C3CAD6}\n.adm3-gbtn[aria-checked=\"true\"]{background:var(--navy);border-color:var(--navy);color:#fff}\n.adm3-gender[aria-invalid=\"true\"] .adm3-gbtn{border-color:var(--err)}\n\n\/* phone: country code + number, always left-to-right *\/\n.adm3-phone{display:flex;direction:ltr}\n.adm3-dial{position:relative;flex:0 0 112px;height:48px}\n.adm3-dial__val{position:absolute;inset:0;z-index:1;display:flex;align-items:center;padding:0 28px 0 12px;font-size:15px;font-weight:600;color:var(--navy);pointer-events:none;white-space:nowrap;overflow:hidden}\n.adm3-dial__val::after{content:\"\";position:absolute;right:10px;top:50%;width:14px;height:14px;margin-top:-7px;background:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231556B5' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'\/%3E%3C\/svg%3E\") no-repeat center}\n.adm3-dial select{position:absolute;inset:0;width:100%;height:48px;margin:0;-webkit-appearance:none;appearance:none;background:var(--paper2);border:1.5px solid var(--line);border-right:0;border-radius:10px 0 0 10px;color:transparent;font-size:15px;cursor:pointer;outline:none;padding:0 12px}\n.adm3-dial select option{color:var(--ink);background:#fff}\n.adm3-phone .adm3-input{flex:1;min-width:0;border-radius:0 10px 10px 0;text-align:left}\n\n\/* guardian *\/\n.adm3-switch{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--body);cursor:pointer}\n.adm3-guardian{border-top:1px solid var(--line2);padding-top:18px;margin-top:2px}\n.adm3-guardian__title{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:14px}\n.adm3-guardian__title span{font-weight:500;color:var(--muted)}\n\n\/* checkboxes (consent + under-18 switch) *\/\n.adm3 .adm3-check{-webkit-appearance:none;appearance:none;flex:0 0 20px;width:20px;height:20px;margin:1px 0 0;border:2px solid #C3CAD6;border-radius:6px;background:#fff center\/12px no-repeat;cursor:pointer;transition:background-color .15s,border-color .15s}\n.adm3 .adm3-check:checked{background-color:var(--navy);border-color:var(--navy);background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'\/%3E%3C\/svg%3E\")}\n.adm3 .adm3-check:disabled{opacity:.6;cursor:default}\n.adm3 .adm3-check[aria-invalid=\"true\"]{border-color:var(--err)}\n.adm3-consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.55;color:var(--body);cursor:pointer}\n.adm3-consent a{font-weight:600;color:var(--royal);text-decoration:underline;text-underline-offset:2px}\n\n\/* upload *\/\n.adm3-drop{display:flex;align-items:center;gap:16px;border:1.5px dashed #C3D6F2;border-radius:12px;background:#F8FAFE;padding:16px 18px;cursor:pointer;transition:border-color .15s,background .15s;margin:0}\n.adm3-drop:hover,.adm3-drop.is-over{border-color:var(--royal);background:#F1F6FE}\n.adm3-drop[aria-invalid=\"true\"]{border-color:var(--err)}\n.adm3-drop__icon{flex:0 0 40px;width:40px;height:40px;border-radius:10px;background:#fff;border:1px solid var(--line);display:grid;place-items:center}\n.adm3-drop__t,.adm3-drop__s{display:block}\n.adm3-drop__t{font-size:14px;font-weight:700;color:var(--navy);margin:0;overflow-wrap:anywhere}\n.adm3-drop__s{font-size:12px;color:var(--muted);margin:2px 0 0}\n\n\/* signature *\/\n.adm3-sig__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}\n.adm3-sig__head .adm3-label{margin-bottom:6px}\n.adm3-sig__stmt{font-size:13px;line-height:1.6;color:var(--body);margin:0 0 10px}\n.adm3-sig__pad{position:relative;height:170px;border:1.5px dashed #C3D6F2;border-radius:12px;background:#fff;overflow:hidden;touch-action:none}\n.adm3-sig__pad[aria-invalid=\"true\"]{border-color:var(--err)}\n.adm3-sig__pad canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;touch-action:none}\n.adm3-sig__line{position:absolute;left:24px;right:24px;bottom:42px;border-bottom:1px solid var(--line);pointer-events:none}\n.adm3-sig__typed .adm3-input{margin-bottom:10px}\n.adm3-sig__preview{height:88px;border:1.5px dashed #C3D6F2;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;padding:0 16px;font:italic 400 34px\/1.1 \"Segoe Script\",\"Brush Script MT\",\"Snell Roundhand\",\"Apple Chancery\",cursive;color:var(--ink);overflow:hidden;white-space:nowrap}\n.adm3-sig__foot{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}\n.adm3-sig__as{font-size:12.5px;color:var(--muted);margin-top:6px}\n.adm3-sig__as strong{color:var(--navy);font-weight:700}\n.adm3-link{background:none;border:0;padding:2px 0;font-size:13px;font-weight:600;color:var(--royal);text-decoration:underline;text-underline-offset:2px;cursor:pointer;border-radius:4px}\n\n\/* footer *\/\n.adm3-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line2)}\n.adm3-back{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:8px 2px;cursor:pointer;font-size:15px;font-weight:600;color:var(--navy);border-radius:6px}\n.adm3-back.is-hidden{visibility:hidden}\n.adm3-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 28px;border-radius:999px;border:0;background:var(--navy);color:#fff;font-size:15px;font-weight:600;line-height:1.2;text-align:center;cursor:pointer;box-shadow:0 10px 24px -10px rgba(5,40,104,.55);transition:background .18s}\n.adm3-btn:hover{background:var(--navy9)}\n.adm3-btn:disabled{opacity:.6;cursor:progress}\n.adm3[dir=\"rtl\"] .adm3-arrow{transform:scaleX(-1)}\n.adm3-formerr{font-size:13.5px;font-weight:600;color:var(--err);margin-top:14px}\n.adm3-formerr:empty{display:none}\n\n\/* done *\/\n.adm3-done{text-align:center;padding:24px 8px}\n.adm3-done__icon{width:64px;height:64px;border-radius:50%;background:#E7F6F0;color:var(--ok);display:grid;place-items:center;margin:0 auto 18px}\n.adm3-done__title{font-size:24px;font-weight:800;color:var(--navy);margin:0 0 10px}\n.adm3-done__text{font-size:15px;line-height:1.6;color:var(--body);margin:0 auto;max-width:420px}\n.adm3-done__ref{font-size:13px;font-weight:700;color:var(--muted);margin-top:12px;letter-spacing:.04em}\n.adm3-again{display:inline-flex;align-items:center;gap:8px;margin-top:22px;min-height:48px;padding:0 22px;border-radius:999px;border:1.5px solid rgba(5,40,104,.22);background:#fff;color:var(--navy);font-size:15px;font-weight:600;cursor:pointer}\n.adm3-again:hover{border-color:rgba(5,40,104,.45)}\n\n\/* talk first *\/\n.adm3-talk{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}\n.adm3-talk__t{font-size:14px;font-weight:700;color:var(--navy);margin-inline-end:4px}\n.adm3-talk a,.adm3-talk__chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13.5px;font-weight:600;color:var(--navy);transition:border-color .15s}\n.adm3-talk a:hover{border-color:#C3CAD6;color:var(--navy)}\n.adm3-talk__chip strong{font-weight:800}\n\n\/* applicant card *\/\n.adm3-tilt{transform:rotate(-2deg)}\n.adm3[dir=\"rtl\"] .adm3-tilt{transform:rotate(2deg)}\n.adm3-idc{position:relative;overflow:hidden;border-radius:22px;aspect-ratio:1.586\/1;background:radial-gradient(60% 80% at 100% 0%,rgba(33,120,224,.28),transparent 70%),radial-gradient(50% 70% at 0% 100%,rgba(201,169,97,.22),transparent 70%),linear-gradient(160deg,#F4F8FE,#FFFFFF);border:1px solid #DCE7F5;box-shadow:0 30px 60px -30px rgba(5,40,104,.45);padding:24px 26px;display:flex;flex-direction:column}\n.adm3-idc__top{display:flex;justify-content:space-between;align-items:center;gap:12px}\n.adm3-idc__top img{height:26px;width:auto;display:block}\n.adm3-idc__tag{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:#8C6A1F;transition:color .25s}\n.adm3-idc__tag.is-ready{color:var(--ok)}\n.adm3-idc__row{display:flex;gap:18px;align-items:center;margin-top:auto}\n.adm3-idc__ph{flex:0 0 72px;width:72px;height:88px;border-radius:12px;background:#DCE7F5;overflow:hidden;display:grid;place-items:center;font-size:28px;font-weight:900;color:var(--navy)}\n.adm3-idc__ph svg{width:100%;height:100%;display:block}\n.adm3-idc__txt{min-width:0;display:flex;flex-direction:column;gap:6px}\n.adm3-idc__name{font-size:21px;font-weight:800;letter-spacing:-.02em;line-height:1.12;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.adm3-idc__prog{font-size:13px;font-weight:700;line-height:1.3;color:var(--royal);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}\n.adm3-idc__name.is-ph,.adm3-idc__prog.is-ph{color:var(--faint)}\n.adm3-idc__meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;font-weight:600;color:var(--muted);min-height:15px}\n.adm3-idc__meter{display:flex;align-items:center;gap:10px;margin-top:18px}\n.adm3-idc__track{flex:1;height:5px;border-radius:999px;background:rgba(5,40,104,.1);overflow:hidden}\n.adm3-idc__fill{display:block;height:100%;width:0;background:var(--navy);border-radius:999px;transition:width .32s cubic-bezier(.22,.61,.36,1),background .25s}\n.adm3-idc__fill.is-full{background:var(--ok)}\n.adm3-idc__count{font-size:11px;font-weight:700;color:var(--body);white-space:nowrap}\n.adm3-aside__note{font-size:13px;line-height:1.6;color:var(--muted);text-align:center;margin:26px 0 0}\n\n@media (max-width:1023px){\n  .adm3{overflow-x:hidden}\n  .adm3-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:\"head\" \"aside\" \"main\"}\n  .adm3-aside{position:static;padding-top:0;width:100%;max-width:360px;margin:28px auto 4px}\n  .adm3-aside__note{margin-top:18px}\n}\n@media (max-width:640px){\n  .adm3{padding:32px 16px 72px}\n  .adm3-card-form{padding:24px 18px;border-radius:16px}\n  .adm3 :is(.adm3-input,.adm3-dial select,.adm3-dial__val){font-size:16px}\n  .adm3-steps{margin-top:24px}\n  .adm3-stepbtn__t{font-size:13.5px}\n  .adm3-idc{padding:18px 20px}\n  .adm3-idc__row{gap:14px}\n  .adm3-idc__name{font-size:19px}\n  .adm3-foot{flex-wrap:wrap}\n  .adm3-btn{flex:1 1 auto;padding:0 20px}\n}\n@media (max-width:560px){\n  .adm3-grid{grid-template-columns:minmax(0,1fr)}\n}\n@media (max-width:420px){\n  .adm3-gender{grid-template-columns:1fr 1fr}\n  .adm3-gender .adm3-gbtn:last-child{grid-column:1\/-1}\n}\n@media (prefers-reduced-motion:reduce){\n  .adm3 *,.adm3 *::before,.adm3 *::after{transition:none!important}\n}\n<\/style>\n\n<section class=\"adm3 adm3-hero\" data-lang=\"pt\">\n  <div class=\"adm3-layout\">\n\n    <div class=\"adm3-head\">\n      <span class=\"adm3-eyebrow\">Matr\u00edcula em escola de ingl\u00eas em Kuala Lumpur<\/span>\n      <h1 class=\"adm3-h1\">Matr\u00edcula <span class=\"adm3-grad\">de alunos<\/span><\/h1>\n      <p class=\"adm3-lead\">Sua matr\u00edcula em escola de ingl\u00eas em Kuala Lumpur, de forma simples: tr\u00eas etapas curtas e uma resposta da nossa equipe de matr\u00edculas em at\u00e9 3 dias \u00fateis.<\/p>\n    <\/div>\n\n    <!-- The applicant card: a live, decorative preview of what is being typed. -->\n    <div class=\"adm3-aside\">\n      <div class=\"adm3-tilt\" aria-hidden=\"true\">\n        <div class=\"adm3-idc\">\n          <div class=\"adm3-idc__top\"><img src=\"https:\/\/glacademy.edu.my\/wp-content\/plugins\/gl-academy-pages\/assets\/img\/w\/u-2026-09-logo-horizontal-768.webp\" alt=\"\" width=\"116\" height=\"26\" decoding=\"async\" srcset=\"https:\/\/glacademy.edu.my\/wp-content\/plugins\/gl-academy-pages\/assets\/img\/w\/u-2026-09-logo-horizontal-400.webp 400w, https:\/\/glacademy.edu.my\/wp-content\/plugins\/gl-academy-pages\/assets\/img\/w\/u-2026-09-logo-horizontal-768.webp 768w\" sizes=\"(max-width: 600px) 32vw, (max-width: 1100px) 15vw, 117px\"><span class=\"adm3-idc__tag\" id=\"adm3-ctag\">Candidato<\/span><\/div>\n          <div class=\"adm3-idc__row\">\n            <span class=\"adm3-idc__ph\"><span id=\"adm3-cini\">?<\/span><svg class=\"adm3-av\" data-av=\"male\" viewBox=\"0 0 72 88\" hidden><path d=\"M4 88C6 70 20 62 36 62s30 8 32 26z\" fill=\"#1556B5\"\/><rect x=\"30\" y=\"50\" width=\"12\" height=\"14\" rx=\"4\" fill=\"#EEF4FF\"\/><circle cx=\"36\" cy=\"38\" r=\"15\" fill=\"#EEF4FF\"\/><path d=\"M21 37c-1-11 6-18 15-18 10 0 16 6 15 16-4-5-9-7-15-7-7 0-11 3-15 9z\" fill=\"#052868\"\/><\/svg><svg class=\"adm3-av\" data-av=\"female\" viewBox=\"0 0 72 88\" hidden><path d=\"M18 42c-1-15 7-23 18-23s19 8 18 23l1 22c-6-3-12-4-19-4s-13 1-19 4z\" fill=\"#052868\"\/><path d=\"M4 88C6 70 20 62 36 62s30 8 32 26z\" fill=\"#2E6FCB\"\/><rect x=\"30\" y=\"50\" width=\"12\" height=\"14\" rx=\"4\" fill=\"#EEF4FF\"\/><circle cx=\"36\" cy=\"38\" r=\"14.5\" fill=\"#EEF4FF\"\/><path d=\"M22 36c2-10 8-14 15-14 8 0 13 5 13 12-6-3-13-5-20-4-3 1-6 3-8 6z\" fill=\"#052868\"\/><\/svg><svg class=\"adm3-av\" data-av=\"prefer_not\" viewBox=\"0 0 72 88\" hidden><path d=\"M4 88C6 70 20 62 36 62s30 8 32 26z\" fill=\"#8FB6E8\"\/><rect x=\"30\" y=\"50\" width=\"12\" height=\"14\" rx=\"4\" fill=\"#EEF4FF\"\/><circle cx=\"36\" cy=\"38\" r=\"15\" fill=\"#EEF4FF\"\/><\/svg><\/span>\n            <div class=\"adm3-idc__txt\">\n              <p class=\"adm3-idc__name is-ph\" id=\"adm3-cname\">Seu nome<\/p>\n              <p class=\"adm3-idc__prog is-ph\" id=\"adm3-cprog\">Seu programa<\/p>\n              <p class=\"adm3-idc__meta\"><span id=\"adm3-cnat\"><\/span><span id=\"adm3-cstart\"><\/span><\/p>\n            <\/div>\n          <\/div>\n          <div class=\"adm3-idc__meter\"><span class=\"adm3-idc__track\"><span class=\"adm3-idc__fill\" id=\"adm3-cfill\"><\/span><\/span><span class=\"adm3-idc__count\" id=\"adm3-ccount\">0 de 7 informa\u00e7\u00f5es<\/span><\/div>\n        <\/div>\n      <\/div>\n      <p class=\"adm3-aside__note\">Respondemos em at\u00e9 3 dias \u00fateis para confirmar sua vaga.<\/p>\n    <\/div>\n\n    <div class=\"adm3-main\">\n      <ol class=\"adm3-steps\" id=\"adm-steps\">\n      <li><button type=\"button\" class=\"adm3-stepbtn is-on\" data-go=\"1\" aria-current=\"step\"><span class=\"adm3-stepbtn__bar\" aria-hidden=\"true\"><\/span><span class=\"adm3-stepbtn__n\">Etapa 1<\/span><span class=\"adm3-stepbtn__t\">Seus dados<\/span><\/button><\/li>\n      <li><button type=\"button\" class=\"adm3-stepbtn\" data-go=\"2\"><span class=\"adm3-stepbtn__bar\" aria-hidden=\"true\"><\/span><span class=\"adm3-stepbtn__n\">Etapa 2<\/span><span class=\"adm3-stepbtn__t\">Programa<\/span><\/button><\/li>\n      <li><button type=\"button\" class=\"adm3-stepbtn\" data-go=\"3\"><span class=\"adm3-stepbtn__bar\" aria-hidden=\"true\"><\/span><span class=\"adm3-stepbtn__n\">Etapa 3<\/span><span class=\"adm3-stepbtn__t\">Confirma\u00e7\u00e3o<\/span><\/button><\/li>\n      <\/ol>\n\n      <div class=\"adm3-card-form\">\n\n        <!-- Success panel (hidden until submitted) -->\n        <div class=\"adm3-done\" id=\"adm-done\" hidden>\n          <div class=\"adm3-done__icon\"><svg width=\"30\" height=\"30\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/div>\n          <h2 class=\"adm3-done__title\" id=\"adm-done-title\" tabindex=\"-1\">Inscri\u00e7\u00e3o recebida<\/h2>\n          <p class=\"adm3-done__text\">Obrigado. Nossa equipe de matr\u00edculas entrar\u00e1 em contato em at\u00e9 3 dias \u00fateis.<\/p>\n          <p class=\"adm3-done__ref\" id=\"adm-done-ref\"><\/p>\n          <button type=\"button\" class=\"adm3-again\" id=\"adm-again\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg> Adicionar outro candidato<\/button>\n        <\/div>\n\n        <form class=\"adm3-form\" id=\"adm-form\" novalidate>\n          <p class=\"adm3-reqnote\"><span class=\"adm-req\">*<\/span> Obrigat\u00f3rio<\/p>\n\n          <!-- \u2500\u2500 Step 1 \u00b7 About you \u2500\u2500 -->\n          <fieldset class=\"adm3-step\" data-step=\"1\">\n            <h2 class=\"adm3-sr adm3-steph\" tabindex=\"-1\">Etapa 1 de 3: Seus dados<\/h2>\n            <p class=\"adm3-note\">Preencha este formul\u00e1rio em <strong>alfabeto latino<\/strong> (letras latinas) para que nossos registros correspondam aos seus documentos oficiais.<\/p>\n            <div class=\"adm3-grid\">\n              <div class=\"adm3-field adm3-col-2\">\n                <label class=\"adm3-label\" for=\"adm-name\">Nome completo <span class=\"adm-req\">*<\/span><\/label>\n                <input class=\"adm3-input\" id=\"adm-name\" name=\"full_name\" type=\"text\" required autocomplete=\"name\" placeholder=\"Como consta no documento de identidade \/ passaporte\" aria-describedby=\"adm-name-hint adm-name-err\">\n                <span class=\"adm3-hint\" id=\"adm-name-hint\">Use apenas letras latinas.<\/span>\n                <span class=\"adm3-err\" id=\"adm-name-err\" role=\"alert\" hidden><\/span>\n              <\/div>\n              <div class=\"adm3-field adm3-col-2\">\n                <span class=\"adm3-label\" id=\"adm-gender-lbl\">G\u00eanero <span class=\"adm-req\">*<\/span><\/span>\n                <div class=\"adm3-gender\" id=\"adm-gender\" role=\"radiogroup\" aria-labelledby=\"adm-gender-lbl\" aria-required=\"true\" aria-describedby=\"adm-gender-err\">\n                    <button type=\"button\" class=\"adm3-gbtn\" role=\"radio\" aria-checked=\"false\" tabindex=\"0\" data-value=\"male\">Masculino<\/button>\n                    <button type=\"button\" class=\"adm3-gbtn\" role=\"radio\" aria-checked=\"false\" tabindex=\"-1\" data-value=\"female\">Feminino<\/button>\n                    <button type=\"button\" class=\"adm3-gbtn\" role=\"radio\" aria-checked=\"false\" tabindex=\"-1\" data-value=\"prefer_not\">Prefiro n\u00e3o responder<\/button>\n                <\/div>\n                <input type=\"hidden\" name=\"gender\" id=\"adm-gender-val\" value=\"\">\n                <span class=\"adm3-err\" id=\"adm-gender-err\" role=\"alert\" hidden><\/span>\n              <\/div>\n              <div class=\"adm3-field\">\n                <label class=\"adm3-label\" for=\"adm-nat\">Nacionalidade <span class=\"adm-req\">*<\/span><\/label>\n                <div class=\"adm3-combo\">\n                  <input class=\"adm3-input adm3-combo__input\" id=\"adm-nat\" type=\"text\" role=\"combobox\" aria-autocomplete=\"list\" aria-expanded=\"false\" aria-controls=\"adm-nat-list\" aria-required=\"true\" aria-describedby=\"adm-nat-err\" autocomplete=\"off\" autocapitalize=\"off\" spellcheck=\"false\" placeholder=\"Digite para pesquisar ou escolha\u2026\">\n                  <ul class=\"adm3-combo__list\" id=\"adm-nat-list\" role=\"listbox\" aria-label=\"Nacionalidade\" hidden><\/ul>\n                <\/div>\n                <input type=\"hidden\" name=\"nationality\" id=\"adm-nat-val\" value=\"\">\n                <span class=\"adm3-err\" id=\"adm-nat-err\" role=\"alert\" hidden><\/span>\n              <\/div>\n              <div class=\"adm3-field\">\n                <label class=\"adm3-label\" for=\"adm-ic\">NRIC \/ N\u00ba do passaporte <span class=\"adm-req\">*<\/span><\/label>\n                <input class=\"adm3-input\" id=\"adm-ic\" name=\"ic_passport\" type=\"text\" required autocomplete=\"off\" placeholder=\"ex.: A1234567\" aria-describedby=\"adm-ic-err\">\n                <span class=\"adm3-err\" id=\"adm-ic-err\" role=\"alert\" hidden><\/span>\n              <\/div>\n              <div class=\"adm3-field\">\n                <label class=\"adm3-label\" for=\"adm-dob\">Data de nascimento <span class=\"adm-req\">*<\/span><\/label>\n                <input class=\"adm3-input\" id=\"adm-dob\" type=\"text\" inputmode=\"numeric\" maxlength=\"14\" autocomplete=\"bday\" dir=\"ltr\" placeholder=\"DD \/ MM \/ AAAA\" required aria-describedby=\"adm-dob-hint adm-dob-err\">\n                <input type=\"hidden\" name=\"date_of_birth\" id=\"adm-dob-iso\" value=\"\">\n                <span class=\"adm3-hint\" id=\"adm-dob-hint\" aria-live=\"polite\">Dia \/ m\u00eas \/ ano<\/span>\n                <span class=\"adm3-err\" id=\"adm-dob-err\" role=\"alert\" hidden><\/span>\n              <\/div>\n              <div class=\"adm3-field\">\n                <label class=\"adm3-label\" for=\"adm-phone\">Telefone <span class=\"adm-req\">*<\/span><\/label>\n                <div class=\"adm3-phone\">\n                    <div class=\"adm3-dial\"><span class=\"adm3-dial__val\" aria-hidden=\"true\">MY +60<\/span>\n                      <select id=\"adm-dial\" aria-label=\"C\u00f3digo do pa\u00eds\">\n                        <option value=\"MY\" data-dial=\"60\" selected>Mal\u00e1sia (+60)<\/option>\n                        <option value=\"CN\" data-dial=\"86\">China (+86)<\/option>\n                        <option value=\"KR\" data-dial=\"82\">Coreia do Sul (+82)<\/option>\n                        <option value=\"JP\" data-dial=\"81\">Jap\u00e3o (+81)<\/option>\n                        <option value=\"ID\" data-dial=\"62\">Indon\u00e9sia (+62)<\/option>\n                        <option value=\"RU\" data-dial=\"7\">R\u00fassia (+7)<\/option>\n                        <option value=\"SA\" data-dial=\"966\">Ar\u00e1bia Saudita (+966)<\/option>\n                        <option value=\"DE\" data-dial=\"49\">Alemanha (+49)<\/option>\n                        <option value=\"SG\" data-dial=\"65\">Singapura (+65)<\/option>\n                        <option value=\"TH\" data-dial=\"66\">Tail\u00e2ndia (+66)<\/option>\n                        <option value=\"VN\" data-dial=\"84\">Vietn\u00e3 (+84)<\/option>\n                        <option value=\"AE\" data-dial=\"971\">Emirados \u00c1rabes Unidos (+971)<\/option>\n                        <option value=\"GB\" data-dial=\"44\">Reino Unido (+44)<\/option>\n                        <option value=\"US\" data-dial=\"1\">Estados Unidos (+1)<\/option>\n                        <option disabled>\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/option>\n                        <option value=\"AF\" data-dial=\"93\">Afeganist\u00e3o (+93)<\/option>\n                        <option value=\"ZA\" data-dial=\"27\">\u00c1frica do Sul (+27)<\/option>\n                        <option value=\"AL\" data-dial=\"355\">Alb\u00e2nia (+355)<\/option>\n                        <option value=\"DZ\" data-dial=\"213\">Arg\u00e9lia (+213)<\/option>\n                        <option value=\"DE\" data-dial=\"49\">Alemanha (+49)<\/option>\n                        <option value=\"AD\" data-dial=\"376\">Andorra (+376)<\/option>\n                        <option value=\"AO\" data-dial=\"244\">Angola (+244)<\/option>\n                        <option value=\"AG\" data-dial=\"1\">Ant\u00edgua e Barbuda (+1)<\/option>\n                        <option value=\"SA\" data-dial=\"966\">Ar\u00e1bia Saudita (+966)<\/option>\n                        <option value=\"AR\" data-dial=\"54\">Argentina (+54)<\/option>\n                        <option value=\"AM\" data-dial=\"374\">Arm\u00eania (+374)<\/option>\n                        <option value=\"AU\" data-dial=\"61\">Austr\u00e1lia (+61)<\/option>\n                        <option value=\"AT\" data-dial=\"43\">\u00c1ustria (+43)<\/option>\n                        <option value=\"AZ\" data-dial=\"994\">Azerbaij\u00e3o (+994)<\/option>\n                        <option value=\"BS\" data-dial=\"1\">Bahamas (+1)<\/option>\n                        <option value=\"BH\" data-dial=\"973\">Bahrein (+973)<\/option>\n                        <option value=\"BD\" data-dial=\"880\">Bangladesh (+880)<\/option>\n                        <option value=\"BB\" data-dial=\"1\">Barbados (+1)<\/option>\n                        <option value=\"BE\" data-dial=\"32\">B\u00e9lgica (+32)<\/option>\n                        <option value=\"BZ\" data-dial=\"501\">Belize (+501)<\/option>\n                        <option value=\"BJ\" data-dial=\"229\">Benin (+229)<\/option>\n                        <option value=\"BT\" data-dial=\"975\">But\u00e3o (+975)<\/option>\n                        <option value=\"BY\" data-dial=\"375\">Belarus (+375)<\/option>\n                        <option value=\"BO\" data-dial=\"591\">Bol\u00edvia (+591)<\/option>\n                        <option value=\"BA\" data-dial=\"387\">B\u00f3snia e Herzegovina (+387)<\/option>\n                        <option value=\"BW\" data-dial=\"267\">Botsuana (+267)<\/option>\n                        <option value=\"BR\" data-dial=\"55\">Brasil (+55)<\/option>\n                        <option value=\"BN\" data-dial=\"673\">Brunei (+673)<\/option>\n                        <option value=\"BG\" data-dial=\"359\">Bulg\u00e1ria (+359)<\/option>\n                        <option value=\"BF\" data-dial=\"226\">Burkina Faso (+226)<\/option>\n                        <option value=\"BI\" data-dial=\"257\">Burundi (+257)<\/option>\n                        <option value=\"KH\" data-dial=\"855\">Camboja (+855)<\/option>\n                        <option value=\"CM\" data-dial=\"237\">Camar\u00f5es (+237)<\/option>\n                        <option value=\"CA\" data-dial=\"1\">Canad\u00e1 (+1)<\/option>\n                        <option value=\"CV\" data-dial=\"238\">Cabo Verde (+238)<\/option>\n                        <option value=\"CL\" data-dial=\"56\">Chile (+56)<\/option>\n                        <option value=\"CN\" data-dial=\"86\">China (+86)<\/option>\n                        <option value=\"CY\" data-dial=\"357\">Chipre (+357)<\/option>\n                        <option value=\"VA\" data-dial=\"39\">Cidade do Vaticano (+39)<\/option>\n                        <option value=\"CO\" data-dial=\"57\">Col\u00f4mbia (+57)<\/option>\n                        <option value=\"KM\" data-dial=\"269\">Comores (+269)<\/option>\n                        <option value=\"CG\" data-dial=\"242\">Congo (Brazzaville) (+242)<\/option>\n                        <option value=\"CD\" data-dial=\"243\">Congo (Kinshasa) (+243)<\/option>\n                        <option value=\"KP\" data-dial=\"850\">Coreia do Norte (+850)<\/option>\n                        <option value=\"KR\" data-dial=\"82\">Coreia do Sul (+82)<\/option>\n                        <option value=\"CR\" data-dial=\"506\">Costa Rica (+506)<\/option>\n                        <option value=\"CI\" data-dial=\"225\">Costa do Marfim (+225)<\/option>\n                        <option value=\"HR\" data-dial=\"385\">Cro\u00e1cia (+385)<\/option>\n                        <option value=\"CU\" data-dial=\"53\">Cuba (+53)<\/option>\n                        <option value=\"DK\" data-dial=\"45\">Dinamarca (+45)<\/option>\n                        <option value=\"DJ\" data-dial=\"253\">Djibuti (+253)<\/option>\n                        <option value=\"DM\" data-dial=\"1\">Dominica (+1)<\/option>\n                        <option value=\"EG\" data-dial=\"20\">Egito (+20)<\/option>\n                        <option value=\"AE\" data-dial=\"971\">Emirados \u00c1rabes Unidos (+971)<\/option>\n                        <option value=\"EC\" data-dial=\"593\">Equador (+593)<\/option>\n                        <option value=\"ER\" data-dial=\"291\">Eritreia (+291)<\/option>\n                        <option value=\"ES\" data-dial=\"34\">Espanha (+34)<\/option>\n                        <option value=\"EE\" data-dial=\"372\">Est\u00f4nia (+372)<\/option>\n                        <option value=\"SZ\" data-dial=\"268\">Essuat\u00edni (+268)<\/option>\n                        <option value=\"US\" data-dial=\"1\">Estados Unidos (+1)<\/option>\n                        <option value=\"ET\" data-dial=\"251\">Eti\u00f3pia (+251)<\/option>\n                        <option value=\"FJ\" data-dial=\"679\">Fiji (+679)<\/option>\n                        <option value=\"FI\" data-dial=\"358\">Finl\u00e2ndia (+358)<\/option>\n                        <option value=\"FR\" data-dial=\"33\">Fran\u00e7a (+33)<\/option>\n                        <option value=\"GA\" data-dial=\"241\">Gab\u00e3o (+241)<\/option>\n                        <option value=\"GM\" data-dial=\"220\">G\u00e2mbia (+220)<\/option>\n                        <option value=\"GE\" data-dial=\"995\">Ge\u00f3rgia (+995)<\/option>\n                        <option value=\"GH\" data-dial=\"233\">Gana (+233)<\/option>\n                        <option value=\"GR\" data-dial=\"30\">Gr\u00e9cia (+30)<\/option>\n                        <option value=\"GD\" data-dial=\"1\">Granada (+1)<\/option>\n                        <option value=\"GT\" data-dial=\"502\">Guatemala (+502)<\/option>\n                        <option value=\"GN\" data-dial=\"224\">Guin\u00e9 (+224)<\/option>\n                        <option value=\"GQ\" data-dial=\"240\">Guin\u00e9 Equatorial (+240)<\/option>\n                        <option value=\"GW\" data-dial=\"245\">Guin\u00e9-Bissau (+245)<\/option>\n                        <option value=\"GY\" data-dial=\"592\">Guiana (+592)<\/option>\n                        <option value=\"HT\" data-dial=\"509\">Haiti (+509)<\/option>\n                        <option value=\"HN\" data-dial=\"504\">Honduras (+504)<\/option>\n                        <option value=\"HK\" data-dial=\"852\">Hong Kong (+852)<\/option>\n                        <option value=\"HU\" data-dial=\"36\">Hungria (+36)<\/option>\n                        <option value=\"MH\" data-dial=\"692\">Ilhas Marshall (+692)<\/option>\n                        <option value=\"SB\" data-dial=\"677\">Ilhas Salom\u00e3o (+677)<\/option>\n                        <option value=\"IN\" data-dial=\"91\">\u00cdndia (+91)<\/option>\n                        <option value=\"ID\" data-dial=\"62\">Indon\u00e9sia (+62)<\/option>\n                        <option value=\"IQ\" data-dial=\"964\">Iraque (+964)<\/option>\n                        <option value=\"IR\" data-dial=\"98\">Ir\u00e3 (+98)<\/option>\n                        <option value=\"IE\" data-dial=\"353\">Irlanda (+353)<\/option>\n                        <option value=\"IS\" data-dial=\"354\">Isl\u00e2ndia (+354)<\/option>\n                        <option value=\"IL\" data-dial=\"972\">Israel (+972)<\/option>\n                        <option value=\"IT\" data-dial=\"39\">It\u00e1lia (+39)<\/option>\n                        <option value=\"JM\" data-dial=\"1\">Jamaica (+1)<\/option>\n                        <option value=\"JP\" data-dial=\"81\">Jap\u00e3o (+81)<\/option>\n                        <option value=\"JO\" data-dial=\"962\">Jord\u00e2nia (+962)<\/option>\n                        <option value=\"KZ\" data-dial=\"7\">Cazaquist\u00e3o (+7)<\/option>\n                        <option value=\"KE\" data-dial=\"254\">Qu\u00eania (+254)<\/option>\n                        <option value=\"KG\" data-dial=\"996\">Quirguist\u00e3o (+996)<\/option>\n                        <option value=\"KI\" data-dial=\"686\">Kiribati (+686)<\/option>\n                        <option value=\"XK\" data-dial=\"383\">Kosovo (+383)<\/option>\n                        <option value=\"KW\" data-dial=\"965\">Kuwait (+965)<\/option>\n                        <option value=\"LA\" data-dial=\"856\">Laos (+856)<\/option>\n                        <option value=\"LS\" data-dial=\"266\">Lesoto (+266)<\/option>\n                        <option value=\"LV\" data-dial=\"371\">Let\u00f4nia (+371)<\/option>\n                        <option value=\"LB\" data-dial=\"961\">L\u00edbano (+961)<\/option>\n                        <option value=\"LR\" data-dial=\"231\">Lib\u00e9ria (+231)<\/option>\n                        <option value=\"LY\" data-dial=\"218\">L\u00edbia (+218)<\/option>\n                        <option value=\"LI\" data-dial=\"423\">Liechtenstein (+423)<\/option>\n                        <option value=\"LT\" data-dial=\"370\">Litu\u00e2nia (+370)<\/option>\n                        <option value=\"LU\" data-dial=\"352\">Luxemburgo (+352)<\/option>\n                        <option value=\"MO\" data-dial=\"853\">Macau (+853)<\/option>\n                        <option value=\"MK\" data-dial=\"389\">Maced\u00f4nia do Norte (+389)<\/option>\n                        <option value=\"MG\" data-dial=\"261\">Madagascar (+261)<\/option>\n                        <option value=\"MY\" data-dial=\"60\">Mal\u00e1sia (+60)<\/option>\n                        <option value=\"MW\" data-dial=\"265\">Malawi (+265)<\/option>\n                        <option value=\"MV\" data-dial=\"960\">Maldivas (+960)<\/option>\n                        <option value=\"ML\" data-dial=\"223\">Mali (+223)<\/option>\n                        <option value=\"MT\" data-dial=\"356\">Malta (+356)<\/option>\n                        <option value=\"MA\" data-dial=\"212\">Marrocos (+212)<\/option>\n                        <option value=\"MU\" data-dial=\"230\">Maur\u00edcio (+230)<\/option>\n                        <option value=\"MR\" data-dial=\"222\">Maurit\u00e2nia (+222)<\/option>\n                        <option value=\"MX\" data-dial=\"52\">M\u00e9xico (+52)<\/option>\n                        <option value=\"FM\" data-dial=\"691\">Micron\u00e9sia (+691)<\/option>\n                        <option value=\"MD\" data-dial=\"373\">Mold\u00e1via (+373)<\/option>\n                        <option value=\"MC\" data-dial=\"377\">M\u00f4naco (+377)<\/option>\n                        <option value=\"MN\" data-dial=\"976\">Mong\u00f3lia (+976)<\/option>\n                        <option value=\"ME\" data-dial=\"382\">Montenegro (+382)<\/option>\n                        <option value=\"MZ\" data-dial=\"258\">Mo\u00e7ambique (+258)<\/option>\n                        <option value=\"MM\" data-dial=\"95\">Mianmar (+95)<\/option>\n                        <option value=\"NA\" data-dial=\"264\">Nam\u00edbia (+264)<\/option>\n                        <option value=\"NR\" data-dial=\"674\">Nauru (+674)<\/option>\n                        <option value=\"NP\" data-dial=\"977\">Nepal (+977)<\/option>\n                        <option value=\"NI\" data-dial=\"505\">Nicar\u00e1gua (+505)<\/option>\n                        <option value=\"NE\" data-dial=\"227\">N\u00edger (+227)<\/option>\n                        <option value=\"NG\" data-dial=\"234\">Nig\u00e9ria (+234)<\/option>\n                        <option value=\"NO\" data-dial=\"47\">Noruega (+47)<\/option>\n                        <option value=\"NZ\" data-dial=\"64\">Nova Zel\u00e2ndia (+64)<\/option>\n                        <option value=\"OM\" data-dial=\"968\">Om\u00e3 (+968)<\/option>\n                        <option value=\"UG\" data-dial=\"256\">Uganda (+256)<\/option>\n                        <option value=\"UZ\" data-dial=\"998\">Uzbequist\u00e3o (+998)<\/option>\n                        <option value=\"PK\" data-dial=\"92\">Paquist\u00e3o (+92)<\/option>\n                        <option value=\"PW\" data-dial=\"680\">Palau (+680)<\/option>\n                        <option value=\"PS\" data-dial=\"970\">Palestina (+970)<\/option>\n                        <option value=\"PA\" data-dial=\"507\">Panam\u00e1 (+507)<\/option>\n                        <option value=\"PG\" data-dial=\"675\">Papua-Nova Guin\u00e9 (+675)<\/option>\n                        <option value=\"PY\" data-dial=\"595\">Paraguai (+595)<\/option>\n                        <option value=\"NL\" data-dial=\"31\">Pa\u00edses Baixos (+31)<\/option>\n                        <option value=\"PE\" data-dial=\"51\">Peru (+51)<\/option>\n                        <option value=\"PH\" data-dial=\"63\">Filipinas (+63)<\/option>\n                        <option value=\"PL\" data-dial=\"48\">Pol\u00f4nia (+48)<\/option>\n                        <option value=\"PT\" data-dial=\"351\">Portugal (+351)<\/option>\n                        <option value=\"QA\" data-dial=\"974\">Catar (+974)<\/option>\n                        <option value=\"CF\" data-dial=\"236\">Rep\u00fablica Centro-Africana (+236)<\/option>\n                        <option value=\"DO\" data-dial=\"1\">Rep\u00fablica Dominicana (+1)<\/option>\n                        <option value=\"RO\" data-dial=\"40\">Rom\u00eania (+40)<\/option>\n                        <option value=\"GB\" data-dial=\"44\">Reino Unido (+44)<\/option>\n                        <option value=\"RU\" data-dial=\"7\">R\u00fassia (+7)<\/option>\n                        <option value=\"RW\" data-dial=\"250\">Ruanda (+250)<\/option>\n                        <option value=\"KN\" data-dial=\"1\">S\u00e3o Crist\u00f3v\u00e3o e N\u00e9vis (+1)<\/option>\n                        <option value=\"SM\" data-dial=\"378\">San Marino (+378)<\/option>\n                        <option value=\"VC\" data-dial=\"1\">S\u00e3o Vicente e Granadinas (+1)<\/option>\n                        <option value=\"LC\" data-dial=\"1\">Santa L\u00facia (+1)<\/option>\n                        <option value=\"SV\" data-dial=\"503\">El Salvador (+503)<\/option>\n                        <option value=\"WS\" data-dial=\"685\">Samoa (+685)<\/option>\n                        <option value=\"ST\" data-dial=\"239\">S\u00e3o Tom\u00e9 e Pr\u00edncipe (+239)<\/option>\n                        <option value=\"SN\" data-dial=\"221\">Senegal (+221)<\/option>\n                        <option value=\"RS\" data-dial=\"381\">S\u00e9rvia (+381)<\/option>\n                        <option value=\"SC\" data-dial=\"248\">Seicheles (+248)<\/option>\n                        <option value=\"SL\" data-dial=\"232\">Serra Leoa (+232)<\/option>\n                        <option value=\"SG\" data-dial=\"65\">Singapura (+65)<\/option>\n                        <option value=\"SK\" data-dial=\"421\">Eslov\u00e1quia (+421)<\/option>\n                        <option value=\"SI\" data-dial=\"386\">Eslov\u00eania (+386)<\/option>\n                        <option value=\"SO\" data-dial=\"252\">Som\u00e1lia (+252)<\/option>\n                        <option value=\"SD\" data-dial=\"249\">Sud\u00e3o (+249)<\/option>\n                        <option value=\"SS\" data-dial=\"211\">Sud\u00e3o do Sul (+211)<\/option>\n                        <option value=\"LK\" data-dial=\"94\">Sri Lanka (+94)<\/option>\n                        <option value=\"SE\" data-dial=\"46\">Su\u00e9cia (+46)<\/option>\n                        <option value=\"CH\" data-dial=\"41\">Su\u00ed\u00e7a (+41)<\/option>\n                        <option value=\"SR\" data-dial=\"597\">Suriname (+597)<\/option>\n                        <option value=\"SY\" data-dial=\"963\">S\u00edria (+963)<\/option>\n                        <option value=\"TJ\" data-dial=\"992\">Tajiquist\u00e3o (+992)<\/option>\n                        <option value=\"TW\" data-dial=\"886\">Taiwan (+886)<\/option>\n                        <option value=\"TZ\" data-dial=\"255\">Tanz\u00e2nia (+255)<\/option>\n                        <option value=\"TD\" data-dial=\"235\">Chade (+235)<\/option>\n                        <option value=\"CZ\" data-dial=\"420\">Tch\u00e9quia (+420)<\/option>\n                        <option value=\"TH\" data-dial=\"66\">Tail\u00e2ndia (+66)<\/option>\n                        <option value=\"TL\" data-dial=\"670\">Timor-Leste (+670)<\/option>\n                        <option value=\"TG\" data-dial=\"228\">Togo (+228)<\/option>\n                        <option value=\"TO\" data-dial=\"676\">Tonga (+676)<\/option>\n                        <option value=\"TT\" data-dial=\"1\">Trinidad e Tobago (+1)<\/option>\n                        <option value=\"TN\" data-dial=\"216\">Tun\u00edsia (+216)<\/option>\n                        <option value=\"TM\" data-dial=\"993\">Turcomenist\u00e3o (+993)<\/option>\n                        <option value=\"TR\" data-dial=\"90\">Turquia (+90)<\/option>\n                        <option value=\"TV\" data-dial=\"688\">Tuvalu (+688)<\/option>\n                        <option value=\"UA\" data-dial=\"380\">Ucr\u00e2nia (+380)<\/option>\n                        <option value=\"UY\" data-dial=\"598\">Uruguai (+598)<\/option>\n                        <option value=\"VU\" data-dial=\"678\">Vanuatu (+678)<\/option>\n                        <option value=\"VE\" data-dial=\"58\">Venezuela (+58)<\/option>\n                        <option value=\"VN\" data-dial=\"84\">Vietn\u00e3 (+84)<\/option>\n                        <option value=\"YE\" data-dial=\"967\">I\u00eamen (+967)<\/option>\n                        <option value=\"ZM\" data-dial=\"260\">Z\u00e2mbia (+260)<\/option>\n                        <option value=\"ZW\" data-dial=\"263\">Zimb\u00e1bue (+263)<\/option>\n                      <\/select>\n                    <\/div>\n                    <input class=\"adm3-input\" id=\"adm-phone\" name=\"phone\" type=\"tel\" inputmode=\"tel\" autocomplete=\"tel-national\" dir=\"ltr\" placeholder=\"12 345 6789\" aria-describedby=\"adm-phone-err\">\n                  <\/div>\n                <span class=\"adm3-err\" id=\"adm-phone-err\" role=\"alert\" hidden><\/span>\n              <\/div>\n              <div class=\"adm3-field adm3-col-2\">\n                <label class=\"adm3-label\" for=\"adm-email\">E-mail <span class=\"adm-req\">*<\/span><\/label>\n                <input class=\"adm3-input\" id=\"adm-email\" name=\"email\" type=\"email\" required autocomplete=\"email\" dir=\"ltr\" placeholder=\"you@email.com\" aria-describedby=\"adm-email-err\">\n                <span class=\"adm3-err\" id=\"adm-email-err\" role=\"alert\" hidden><\/span>\n              <\/div>\n              <div class=\"adm3-field adm3-col-2\">\n                <label class=\"adm3-label\" for=\"adm-address\">Endere\u00e7o<\/label>\n                <input class=\"adm3-input\" id=\"adm-address\" name=\"address\" type=\"text\" autocomplete=\"street-address\" placeholder=\"Rua, cidade, CEP\">\n              <\/div>\n            <\/div>\n          <\/fieldset>\n\n          <!-- \u2500\u2500 Step 2 \u00b7 Programme \u2500\u2500 -->\n          <fieldset class=\"adm3-step\" data-step=\"2\" hidden>\n            <h2 class=\"adm3-sr adm3-steph\" tabindex=\"-1\">Etapa 2 de 3: Programa<\/h2>\n            <div class=\"adm3-grid\">\n              <div class=\"adm3-field adm3-col-2\">\n                <label class=\"adm3-label\" for=\"adm-course\">Programa de interesse <span class=\"adm-req\">*<\/span><\/label>\n                <select class=\"adm3-input\" id=\"adm-course\" name=\"course\" required aria-describedby=\"adm-course-err\">\n                  <option value=\"\" selected disabled>Selecione um programa\u2026<\/option>\n                  <optgroup label=\"Escola de Idiomas\">\n                      <option>Programa Intensivo de Ingl\u00eas (IEP)<\/option>\n                      <option>Programa Intensivo de Ingl\u00eas J\u00fanior (JIEP)<\/option>\n                      <option>Programa de Ingl\u00eas para Neg\u00f3cios<\/option>\n                      <option>Preparat\u00f3rio para IELTS \/ TOEFL iBT<\/option>\n                      <option>IELTS Intensivo<\/option>\n                      <option>Aula Di\u00e1ria de Ingl\u00eas para Conversa\u00e7\u00e3o<\/option>\n                      <option>Aula Particular VIP<\/option>\n                      <option>Acampamento de Ver\u00e3o \/ de Inverno<\/option>\n                  <\/optgroup>\n                  <optgroup label=\"Desenvolvimento Acad\u00eamico\">\n                      <option>Tutoria \u2013 Ensino Fundamental I<\/option>\n                      <option>Tutoria \u2013 Ensino Fundamental II<\/option>\n                      <option>IGCSE<\/option>\n                      <option>A-Level<\/option>\n                      <option>IB Diploma (IBDP)<\/option>\n                  <\/optgroup>\n                <\/select>\n                <span class=\"adm3-err\" id=\"adm-course-err\" role=\"alert\" hidden><\/span>\n              <\/div>\n              <div class=\"adm3-field\">\n                <label class=\"adm3-label\" for=\"adm-start\">In\u00edcio desejado<\/label>\n                <select class=\"adm3-input\" id=\"adm-start\" name=\"preferred_start\">\n                    <option value=\"\" selected>Selecione\u2026<\/option>\n                    <option value=\"As soon as possible\">O quanto antes<\/option>\n                  <\/select>\n              <\/div>\n              <div class=\"adm3-field\">\n                <label class=\"adm3-label\" for=\"adm-hear\">Como voc\u00ea nos conheceu? <span class=\"adm-req\">*<\/span><\/label>\n                <select class=\"adm3-input\" id=\"adm-hear\" name=\"how_did_you_hear\" required aria-describedby=\"adm-hear-err\">\n                    <option value=\"\" selected disabled>Selecione uma op\u00e7\u00e3o\u2026<\/option>\n                    <option value=\"Pesquisa no Google\">Pesquisa no Google<\/option>\n                    <option value=\"Instagram\">Instagram<\/option>\n                    <option value=\"Facebook\">Facebook<\/option>\n                    <option value=\"WeChat \/ RedNote\">WeChat \/ RedNote<\/option>\n                    <option value=\"Naver \/ KakaoTalk\">Naver \/ KakaoTalk<\/option>\n                    <option value=\"Amigo \/ Indica\u00e7\u00e3o\">Amigo \/ Indica\u00e7\u00e3o<\/option>\n                    <option value=\"Agente\">Agente<\/option>\n                    <option value=\"Visita presencial\">Visita presencial<\/option>\n                    <option value=\"Outro\">Outro<\/option>\n                  <\/select>\n                <span class=\"adm3-err\" id=\"adm-hear-err\" role=\"alert\" hidden><\/span>\n              <\/div>\n              <label class=\"adm3-switch adm3-col-2\">\n                <input type=\"checkbox\" class=\"adm3-check\" id=\"adm-minor\">\n                <span>O candidato tem menos de 18 anos \u2014 adicionar pai\/m\u00e3e ou respons\u00e1vel<\/span>\n              <\/label>\n            <\/div>\n\n            <!-- Parent \/ guardian: shown for an applicant under 18 (from the date of birth), or by hand -->\n            <div class=\"adm3-guardian\" id=\"adm-guardian\" hidden>\n              <p class=\"adm3-guardian__title\">Pai\/m\u00e3e ou respons\u00e1vel <span>(o candidato tem menos de 18 anos)<\/span><\/p>\n              <div class=\"adm3-grid\">\n                <div class=\"adm3-field\">\n                  <label class=\"adm3-label\" for=\"adm-gname\">Nome completo do respons\u00e1vel <span class=\"adm-req\">*<\/span><\/label>\n                  <input class=\"adm3-input\" id=\"adm-gname\" name=\"guardian_name\" type=\"text\" autocomplete=\"off\" placeholder=\"Apenas letras latinas\" aria-describedby=\"adm-gname-err\">\n                  <span class=\"adm3-err\" id=\"adm-gname-err\" role=\"alert\" hidden><\/span>\n                <\/div>\n                <div class=\"adm3-field\">\n                  <label class=\"adm3-label\" for=\"adm-grel\">Parentesco<\/label>\n                  <select class=\"adm3-input\" id=\"adm-grel\" name=\"guardian_relationship\">\n                    <option value=\"\" selected disabled>Selecione\u2026<\/option>\n                    <option value=\"Pai\">Pai<\/option>\n                    <option value=\"M\u00e3e\">M\u00e3e<\/option>\n                    <option value=\"Respons\u00e1vel legal\">Respons\u00e1vel legal<\/option>\n                    <option value=\"Outro\">Outro<\/option>\n                  <\/select>\n                <\/div>\n                <div class=\"adm3-field\">\n                  <label class=\"adm3-label\" for=\"adm-gemail\">E-mail do respons\u00e1vel <span class=\"adm-req\">*<\/span><\/label>\n                  <input class=\"adm3-input\" id=\"adm-gemail\" name=\"guardian_email\" type=\"email\" autocomplete=\"off\" dir=\"ltr\" placeholder=\"guardian@email.com\" aria-describedby=\"adm-gemail-err\">\n                  <span class=\"adm3-err\" id=\"adm-gemail-err\" role=\"alert\" hidden><\/span>\n                <\/div>\n                <div class=\"adm3-field\">\n                  <label class=\"adm3-label\" for=\"adm-gphone\">Telefone do respons\u00e1vel <span class=\"adm-req\">*<\/span><\/label>\n                  <div class=\"adm3-phone\">\n                    <div class=\"adm3-dial\"><span class=\"adm3-dial__val\" aria-hidden=\"true\">MY +60<\/span>\n                      <select id=\"adm-gdial\" aria-label=\"C\u00f3digo do pa\u00eds\"><option value=\"MY\" data-dial=\"60\" selected>Mal\u00e1sia (+60)<\/option><\/select>\n                    <\/div>\n                    <input class=\"adm3-input\" id=\"adm-gphone\" name=\"guardian_phone\" type=\"tel\" inputmode=\"tel\" autocomplete=\"off\" dir=\"ltr\" placeholder=\"12 345 6789\" aria-describedby=\"adm-gphone-err\">\n                  <\/div>\n                  <span class=\"adm3-err\" id=\"adm-gphone-err\" role=\"alert\" hidden><\/span>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/fieldset>\n\n          <!-- \u2500\u2500 Step 3 \u00b7 Confirm \u2500\u2500 -->\n          <fieldset class=\"adm3-step\" data-step=\"3\" hidden>\n            <h2 class=\"adm3-sr adm3-steph\" tabindex=\"-1\">Etapa 3 de 3: Confirma\u00e7\u00e3o<\/h2>\n            <div class=\"adm3-grid\">\n              <div class=\"adm3-field adm3-col-2\">\n                <label class=\"adm3-label\" for=\"adm-doc\">C\u00f3pia do passaporte \/ NRIC <span class=\"adm-req\">*<\/span><\/label>\n                <label class=\"adm3-drop\" id=\"adm-drop\">\n                  <input class=\"adm3-sr\" id=\"adm-doc\" name=\"document\" type=\"file\" accept=\".pdf,.jpg,.jpeg,.png,.webp,.heic,image\/*,application\/pdf\" required aria-describedby=\"adm-drop-s adm-doc-err\">\n                  <span class=\"adm3-drop__icon\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#1556B5\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4\"\/><polyline points=\"17 8 12 3 7 8\"\/><line x1=\"12\" y1=\"3\" x2=\"12\" y2=\"15\"\/><\/svg><\/span>\n                  <span><span class=\"adm3-drop__t\" id=\"adm-drop-t\">Solte um arquivo aqui ou procure<\/span><span class=\"adm3-drop__s\" id=\"adm-drop-s\">PDF ou foto (JPG\/PNG). M\u00e1ximo de 10 MB.<\/span><\/span>\n                <\/label>\n                <span class=\"adm3-err\" id=\"adm-doc-err\" role=\"alert\" hidden><\/span>\n              <\/div>\n              <div class=\"adm3-field adm3-col-2\">\n                <label class=\"adm3-label\" for=\"adm-notes\">H\u00e1 algo mais que devemos saber?<\/label>\n                <textarea class=\"adm3-input\" id=\"adm-notes\" name=\"notes\" rows=\"3\" placeholder=\"Opcional \u2014 objetivos, d\u00favidas, hor\u00e1rio preferido\u2026\"><\/textarea>\n              <\/div>\n              <div class=\"adm3-col-2\">\n                <label class=\"adm3-consent\">\n                  <input type=\"checkbox\" class=\"adm3-check\" id=\"adm-terms\" name=\"terms\" required aria-describedby=\"adm-terms-err\">\n                  <span>Li e concordo com os <a href=\"https:\/\/glacademy.edu.my\/terms-of-enrolment\/\" target=\"_blank\" rel=\"noopener\">Termos e Condi\u00e7\u00f5es de Matr\u00edcula<\/a>. <span class=\"adm-req\">*<\/span><\/span>\n                <\/label>\n                <span class=\"adm3-err\" id=\"adm-terms-err\" role=\"alert\" hidden><\/span>\n              <\/div>\n              <div class=\"adm3-col-2\">\n                <label class=\"adm3-consent\">\n                  <input type=\"checkbox\" class=\"adm3-check\" id=\"adm-consent\" name=\"consent\" required aria-describedby=\"adm-consent-err\">\n                  <span>Concordo que a GL Academy trate os meus dados pessoais de acordo com a <a href=\"https:\/\/glacademy.edu.my\/pt-br\/privacy-policy\/\" target=\"_blank\" rel=\"noopener\">Pol\u00edtica de Privacidade e o Aviso PDPA<\/a>. <span class=\"adm-req\">*<\/span><\/span>\n                <\/label>\n                <span class=\"adm3-err\" id=\"adm-consent-err\" role=\"alert\" hidden><\/span>\n              <\/div>\n\n              <!-- Signature: the applicant's, or the parent \/ guardian's when there is one -->\n              <div class=\"adm3-field adm3-col-2 adm3-sig\" id=\"adm-sig\" data-err=\"adm-sig-err\">\n                <div class=\"adm3-sig__head\">\n                  <span class=\"adm3-label\" id=\"adm-sig-lbl\"><span data-signer=\"self\">Assinatura do candidato<\/span><span data-signer=\"guardian\" hidden>Assinatura do pai\/m\u00e3e ou respons\u00e1vel<\/span> <span class=\"adm-req\">*<\/span><\/span>\n                  <button type=\"button\" class=\"adm3-link\" id=\"adm-sig-clear\">Limpar<\/button>\n                <\/div>\n                <p class=\"adm3-sig__stmt\"><span data-signer=\"self\">Ao assinar, confirmo que as informa\u00e7\u00f5es desta inscri\u00e7\u00e3o s\u00e3o verdadeiras e completas.<\/span><span data-signer=\"guardian\" hidden>Ao assinar, confirmo que sou o pai, a m\u00e3e ou o respons\u00e1vel legal do candidato e que as informa\u00e7\u00f5es desta inscri\u00e7\u00e3o s\u00e3o verdadeiras e completas.<\/span><\/p>\n                <div class=\"adm3-sig__pad\" id=\"adm-sig-pad\">\n                  <span class=\"adm3-sig__line\" aria-hidden=\"true\"><\/span>\n                  <canvas id=\"adm-sig-canvas\" role=\"img\" aria-label=\"\u00c1rea de assinatura\" aria-describedby=\"adm-sig-lbl adm-sig-hint\"><\/canvas>\n                <\/div>\n                <div class=\"adm3-sig__typed\" id=\"adm-sig-typed\" hidden>\n                  <label class=\"adm3-label\" for=\"adm-sig-text\">Digite seu nome completo<\/label>\n                  <input class=\"adm3-input\" id=\"adm-sig-text\" type=\"text\" autocomplete=\"off\" aria-describedby=\"adm-sig-err\">\n                  <div class=\"adm3-sig__preview\" id=\"adm-sig-preview\" aria-hidden=\"true\"><\/div>\n                <\/div>\n                <div class=\"adm3-sig__foot\">\n                  <span class=\"adm3-hint\" id=\"adm-sig-hint\">Assine dentro do quadro com o dedo ou o mouse.<\/span>\n                  <button type=\"button\" class=\"adm3-link\" id=\"adm-sig-mode\">Digitar meu nome em vez disso<\/button>\n                <\/div>\n                <p class=\"adm3-sig__as\">Assinando como: <strong id=\"adm-sig-as\">\u2014<\/strong><\/p>\n                <span class=\"adm3-err\" id=\"adm-sig-err\" role=\"alert\" hidden><\/span>\n              <\/div>\n            <\/div>\n\n            <!-- Honeypot (anti-spam; leave empty) -->\n            <div class=\"adm-hp\" aria-hidden=\"true\" style=\"position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0\">\n              <label>Website<input type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\"><\/label>\n            <\/div>\n          <\/fieldset>\n\n          <div class=\"adm3-foot\">\n            <button type=\"button\" class=\"adm3-back is-hidden\" id=\"adm-back\"><svg class=\"adm3-arrow\" width=\"15\" height=\"15\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\"><path d=\"M13 8H3M7 4L3 8l4 4\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg> Voltar<\/button>\n            <button class=\"adm3-btn\" id=\"adm-submit\" type=\"submit\"><span class=\"adm-submit__label\">Continuar<\/span><svg class=\"adm3-arrow\" width=\"15\" height=\"15\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3 8h10M9 4l4 4-4 4\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/button>\n          <\/div>\n          <p class=\"adm3-formerr\" id=\"adm-error\" role=\"alert\"><\/p>\n        <\/form>\n      <\/div>\n\n      <div class=\"adm3-talk\">\n        <p class=\"adm3-talk__t\">Prefere conversar antes?<\/p>\n        <a href=\"https:\/\/wa.me\/601154397010\" target=\"_blank\" rel=\"noopener\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"#25D366\" aria-hidden=\"true\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z\"\/><\/svg> Fale conosco pelo WhatsApp<\/a>\n        <a href=\"https:\/\/t.me\/glacademy_my\" target=\"_blank\" rel=\"noopener\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"#26A5E4\" aria-hidden=\"true\"><path d=\"M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z\"\/><\/svg> Telegram<\/a>\n        <a href=\"https:\/\/pf.kakao.com\/_xaRENG\/chat\" target=\"_blank\" rel=\"noopener\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"#3A1D1D\" aria-hidden=\"true\"><path d=\"M12 3C6.477 3 2 6.477 2 10.8c0 2.765 1.696 5.19 4.25 6.662L5.08 21l4.577-2.397A11.8 11.8 0 0012 18.6c5.523 0 10-3.477 10-7.8S17.523 3 12 3z\"\/><\/svg> KakaoTalk<\/a>\n        <span class=\"adm3-talk__chip\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"#07C160\" aria-hidden=\"true\"><path d=\"M8.69 3C4.47 3 1 6.02 1 9.77c0 2.01 1.01 3.8 2.6 5.02l-.65 1.96 2.3-1.14c.77.2 1.58.32 2.44.32.22 0 .43-.01.64-.03-.14-.44-.21-.9-.21-1.38 0-3.41 3.12-6.18 6.97-6.18.23 0 .46.01.68.03C14.93 5.56 12.06 3 8.69 3zm-1.9 3.4c.5 0 .9.4.9.9s-.4.9-.9.9-.9-.4-.9-.9.4-.9.9-.9zm3.8 0c.5 0 .9.4.9.9s-.4.9-.9.9-.9-.4-.9-.9.4-.9.9-.9z\"\/><path d=\"M22.5 14.5c0-3.03-2.93-5.5-6.55-5.5S9.4 11.47 9.4 14.5s2.93 5.5 6.55 5.5c.7 0 1.38-.1 2.01-.28l1.95.97-.55-1.67C21.28 17.88 22.5 16.31 22.5 14.5zm-8.65-1c-.42 0-.75-.34-.75-.75s.33-.75.75-.75.75.34.75.75-.33.75-.75.75zm4.2 0c-.42 0-.75-.34-.75-.75s.33-.75.75-.75.75.34.75.75-.33.75-.75.75z\"\/><\/svg> WeChat: <strong class=\"adm3-ltr\">GLACADEMY_KL<\/strong><\/span>\n        <a href=\"tel:+60364612232\"><svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#1556B5\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07A19.5 19.5 0 013.07 10.8a19.79 19.79 0 01-3.07-8.7A2 2 0 012 0h3a2 2 0 012 1.72c.127.96.361 1.903.7 2.81a2 2 0 01-.45 2.11L6.09 7.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0122 16.92z\"\/><\/svg> <span class=\"adm3-ltr\">+603-6461-2232<\/span><\/a>\n      <\/div>\n    <\/div>\n\n  <\/div>\n<\/section>\n\n<style id=\"adm3-guide-css\">\n.adm3-lead{font-size:16px;line-height:1.65;color:#3D4757;max-width:560px;margin:14px 0 0}\n.adm3-guide{font-family:'Montserrat',sans-serif;color:#3D4757;background:#fff;padding:72px 28px 88px;border-top:1px solid #EFF1F5}\n.adm3-guide *{box-sizing:border-box}\n.adm3-guide__in{max-width:1100px;margin:0 auto}\n.adm3-guide__top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:center;margin-bottom:44px}\n.adm3-guide__h{font-size:clamp(26px,3.4vw,34px);font-weight:800;line-height:1.15;letter-spacing:-.02em;color:#052868;margin:0 0 16px}\n.adm3-guide p{font-size:15.5px;line-height:1.7;margin:0 0 14px}\n.adm3-guide__fig{margin:0}\n.adm3-guide__fig img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 18px 40px rgba(5,40,104,.12)}\n.adm3-guide__fig figcaption{font-size:13px;color:#6B7385;margin-top:10px;text-align:center}\n.adm3-guide__steps{list-style:none;margin:0 0 44px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:admg}\n.adm3-guide__steps li{counter-increment:admg;background:#F6F7FA;border:1px solid #E4E7EE;border-radius:16px;padding:22px 20px}\n.adm3-guide__steps li::before{content:counter(admg);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#052868;color:#fff;font-weight:800;font-size:14px;margin-bottom:12px}\n.adm3-guide h3{font-size:17px;font-weight:800;color:#052868;margin:0 0 8px;line-height:1.3}\n.adm3-guide__steps p{font-size:14.5px;margin:0}\n.adm3-guide a{color:#1556B5;font-weight:600}\n.adm3-guide__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}\n.adm3-guide ul{margin:0;padding-left:20px}\n.adm3-guide li{font-size:15px;line-height:1.65;margin-bottom:6px}\n.adm3-guide__steps li{margin-bottom:0}\n@media (max-width:1023px){.adm3-guide__steps{grid-template-columns:repeat(2,minmax(0,1fr))}.adm3-guide__top{grid-template-columns:1fr;gap:28px}}\n@media (max-width:640px){.adm3-guide{padding:52px 16px 64px}.adm3-guide__steps,.adm3-guide__cols{grid-template-columns:1fr}}\n<\/style>\n\n<section class=\"adm3-guide\" aria-labelledby=\"adm3-guide-h\">\n  <div class=\"adm3-guide__in\">\n    <div class=\"adm3-guide__top\">\n      <div>\n        <h2 class=\"adm3-guide__h\" id=\"adm3-guide-h\">Matr\u00edcula em escola de ingl\u00eas em Kuala Lumpur: como funciona<\/h2>\n        <p>Para a matr\u00edcula em escola de ingl\u00eas em Kuala Lumpur, uma \u00fanica inscri\u00e7\u00e3o vale para todos os programas da GL Academy, do Programa Intensivo de Ingl\u00eas, da prepara\u00e7\u00e3o para o IELTS e dos Acampamentos de F\u00e9rias at\u00e9 a tutoria de Ensino Fundamental I, IGCSE, A-Level e IB. Veja o que acontece depois que voc\u00ea clica em \u201cEnviar inscri\u00e7\u00e3o\u201d.<\/p>\n        <p>N\u00e3o sabe qual programa escolher? Selecione o mais pr\u00f3ximo e conte mais sobre o que voc\u00ea precisa na \u00faltima etapa: indicaremos a turma certa.<\/p>\n      <\/div>\n      <figure class=\"adm3-guide__fig\">\n        <img loading=\"lazy\" src=\"https:\/\/glacademy.edu.my\/wp-content\/plugins\/gl-academy-pages\/assets\/img\/w\/u-2026-05-GLA21U4A7880-2000.webp\" alt=\"Matr\u00edcula em escola de ingl\u00eas em Kuala Lumpur: alunos em aula na GL Academy\" loading=\"lazy\" decoding=\"async\" width=\"2000\" height=\"1334\" srcset=\"https:\/\/glacademy.edu.my\/wp-content\/plugins\/gl-academy-pages\/assets\/img\/w\/u-2026-05-GLA21U4A7880-400.webp 400w, https:\/\/glacademy.edu.my\/wp-content\/plugins\/gl-academy-pages\/assets\/img\/w\/u-2026-05-GLA21U4A7880-800.webp 800w, https:\/\/glacademy.edu.my\/wp-content\/plugins\/gl-academy-pages\/assets\/img\/w\/u-2026-05-GLA21U4A7880-1200.webp 1200w, https:\/\/glacademy.edu.my\/wp-content\/plugins\/gl-academy-pages\/assets\/img\/w\/u-2026-05-GLA21U4A7880-1560.webp 1560w, https:\/\/glacademy.edu.my\/wp-content\/plugins\/gl-academy-pages\/assets\/img\/w\/u-2026-05-GLA21U4A7880-2000.webp 2000w\" sizes=\"auto, (max-width: 600px) 92vw, (max-width: 1100px) 94vw, 490px\">\n        <figcaption>Depois da sua matr\u00edcula em escola de ingl\u00eas em Kuala Lumpur, voc\u00ea vai estudar nas nossas salas de aula em E-10-20, Plaza Mont Kiara.<\/figcaption>\n      <\/figure>\n    <\/div>\n\n    <ol class=\"adm3-guide__steps\">\n      <li><h3>Inscreva-se on-line<\/h3><p>Preencha as tr\u00eas etapas acima e assine. Candidatos com menos de 18 anos incluem o pai, a m\u00e3e ou um respons\u00e1vel, que assina por eles.<\/p><\/li>\n      <li><h3>Confirmamos sua vaga<\/h3><p>Nossa equipe de matr\u00edculas responde em at\u00e9 3 dias \u00fateis para confirmar sua vaga.<\/p><\/li>\n      <li><h3>Teste de nivelamento<\/h3><p>Todo aluno novo faz um teste de nivelamento antes da primeira aula, para entrar no n\u00edvel certo. Fa\u00e7a o nosso <a href=\"\/placement-test\/\">teste de nivelamento de ingl\u00eas gratuito<\/a> quando quiser.<\/p><\/li>\n      <li><h3>Visto de estudante, se necess\u00e1rio<\/h3><p>Para cursos de 4 meses ou mais, a GL Academy solicita o seu Student Pass junto \u00e0 <a href=\"https:\/\/educationmalaysia.gov.my\/\" target=\"_blank\" rel=\"noopener\">Education Malaysia Global Services (EMGS)<\/a>. Veja nosso guia do <a href=\"https:\/\/glacademy.edu.my\/pt-br\/visa\/\">visto de estudante na Mal\u00e1sia<\/a>.<\/p><\/li>\n    <\/ol>\n\n    <div class=\"adm3-guide__cols\">\n      <div>\n        <h3>Matr\u00edcula em escola de ingl\u00eas em Kuala Lumpur: o que voc\u00ea vai precisar<\/h3>\n        <ul>\n          <li>Seu nome completo em alfabeto latino, como consta no passaporte ou no NRIC<\/li>\n          <li>Nacionalidade, data de nascimento, telefone e e-mail<\/li>\n          <li>Uma c\u00f3pia do passaporte ou do NRIC (PDF ou foto, at\u00e9 10 MB)<\/li>\n          <li>O programa de interesse e a data de in\u00edcio desejada<\/li>\n          <li>Nome, e-mail e telefone do pai, da m\u00e3e ou de um respons\u00e1vel, se o candidato tiver menos de 18 anos<\/li>\n          <li>A aceita\u00e7\u00e3o dos nossos <a href=\"\/terms-of-enrolment\/\">Termos e Condi\u00e7\u00f5es de Matr\u00edcula<\/a> e da nossa <a href=\"https:\/\/glacademy.edu.my\/pt-br\/privacy-policy\/\">Pol\u00edtica de Privacidade<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div>\n        <h3>Quem pode se inscrever?<\/h3>\n        <p>Na GL Academy, a matr\u00edcula em escola de ingl\u00eas em Kuala Lumpur est\u00e1 aberta a todos os n\u00edveis, do iniciante absoluto ao avan\u00e7ado: \u00e9 o teste de nivelamento que define sua turma, n\u00e3o um palpite. As crian\u00e7as podem participar do nosso <a href=\"https:\/\/glacademy.edu.my\/pt-br\/jiep\/\">Programa Intensivo de Ingl\u00eas J\u00fanior<\/a> (a partir de 5 anos) e dos nossos <a href=\"https:\/\/glacademy.edu.my\/pt-br\/holiday-camp\/\">Acampamentos de F\u00e9rias<\/a> (de 5 a 16 anos).<\/p>\n        <p>Tem d\u00favidas sobre a matr\u00edcula em escola de ingl\u00eas em Kuala Lumpur antes de se inscrever? Ligue para <a href=\"tel:+60364612232\">+603-6461-2232<\/a>, fale conosco pelo WhatsApp ou <a href=\"https:\/\/glacademy.edu.my\/pt-br\/contact-us\/\">venha visitar nosso centro<\/a>.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<script>\n(function(){\n  var form = document.getElementById('adm-form');\n  if (!form || form.dataset.admInit) return;\n  form.dataset.admInit = '1';\n  var T = {\"locale\": \"pt-BR\", \"course_ph\": \"Selecione um programa\u2026\", \"req\": \"Este campo \u00e9 obrigat\u00f3rio.\", \"choose\": \"Selecione uma op\u00e7\u00e3o.\", \"name_err\": \"Use o alfabeto latino (somente letras latinas).\", \"email_err\": \"Digite um endere\u00e7o de e-mail v\u00e1lido.\", \"dob_err\": \"Digite uma data de nascimento v\u00e1lida (DD \/ MM \/ AAAA).\", \"dob_hint\": \"Dia \/ m\u00eas \/ ano\", \"phone_err\": \"Digite um n\u00famero de telefone v\u00e1lido.\", \"doc_err\": \"Anexe um arquivo PDF ou de imagem com menos de 10 MB.\", \"e_doc\": \"Anexe a c\u00f3pia do seu passaporte ou documento de identidade (PDF ou foto, menos de 10 MB).\", \"e_glatin\": \"Escreva o nome do respons\u00e1vel usando o alfabeto latino.\", \"e_terms\": \"Aceite os Termos e Condi\u00e7\u00f5es de Matr\u00edcula.\", \"e_privacy\": \"Aceite a Pol\u00edtica de Privacidade para continuar.\", \"sig_err\": \"Assine dentro do quadro.\", \"e_required\": \"Preencha todos os campos obrigat\u00f3rios (*).\", \"submitting\": \"Enviando\u2026\", \"submit\": \"Enviar inscri\u00e7\u00e3o\", \"cont\": \"Continuar\", \"ref\": \"Refer\u00eancia: \", \"e_generic\": \"Ocorreu um erro. Tente novamente ou fale conosco pelo WhatsApp.\", \"e_network\": \"N\u00e3o foi poss\u00edvel enviar no momento. Tente novamente ou fale conosco pelo WhatsApp.\", \"asap\": \"O quanto antes\", \"starts\": \"In\u00edcio: {m}\", \"details\": \"{n} de 7 informa\u00e7\u00f5es\", \"tag_app\": \"Candidato\", \"tag_ready\": \"Pronto para enviar\", \"card_name\": \"Seu nome\", \"card_prog\": \"Seu programa\", \"sig_type\": \"Digitar meu nome em vez disso\", \"sig_draw\": \"Assinar \u00e0 m\u00e3o\", \"nat_none\": \"Nenhum pa\u00eds encontrado\", \"upload_title\": \"Solte um arquivo aqui ou procure\", \"upload_sub\": \"PDF ou foto (JPG\/PNG). M\u00e1ximo de 10 MB.\", \"upload_change\": \"Escolher outro arquivo\"};\n  var API = '\/wp-json\/glacademy\/v1';\n  var $ = function(id){ return document.getElementById(id); };\n  var LATIN = \/^[A-Za-z0-9 .,'\\\/()\\-]+$\/;\n  var EMAIL = \/^[A-Za-z0-9._%+\\-]+@[A-Za-z0-9.\\-]+\\.[A-Za-z]{2,}$\/;\n  var NATS = [[\"Afghanistan\", \"Afeganist\u00e3o\", \"AF\", \"Afghanistan\", \"\"], [\"South Africa\", \"\u00c1frica do Sul\", \"ZA\", \"South Africa\", \"\"], [\"Albania\", \"Alb\u00e2nia\", \"AL\", \"Albania\", \"\"], [\"Algeria\", \"Arg\u00e9lia\", \"DZ\", \"Algeria\", \"\"], [\"Germany\", \"Alemanha\", \"DE\", \"Germany\", \"\"], [\"Andorra\", \"Andorra\", \"AD\", \"Andorra\", \"\"], [\"Angola\", \"Angola\", \"AO\", \"Angola\", \"\"], [\"Antigua and Barbuda\", \"Ant\u00edgua e Barbuda\", \"AG\", \"Antigua and Barbuda\", \"\"], [\"Saudi Arabia\", \"Ar\u00e1bia Saudita\", \"SA\", \"Saudi Arabia\", \"KSA\"], [\"Argentina\", \"Argentina\", \"AR\", \"Argentina\", \"\"], [\"Armenia\", \"Arm\u00eania\", \"AM\", \"Armenia\", \"\"], [\"Australia\", \"Austr\u00e1lia\", \"AU\", \"Australia\", \"\"], [\"Austria\", \"\u00c1ustria\", \"AT\", \"Austria\", \"\"], [\"Azerbaijan\", \"Azerbaij\u00e3o\", \"AZ\", \"Azerbaijan\", \"\"], [\"Bahamas\", \"Bahamas\", \"BS\", \"Bahamas\", \"\"], [\"Bahrain\", \"Bahrein\", \"BH\", \"Bahrain\", \"\"], [\"Bangladesh\", \"Bangladesh\", \"BD\", \"Bangladesh\", \"\"], [\"Barbados\", \"Barbados\", \"BB\", \"Barbados\", \"\"], [\"Belgium\", \"B\u00e9lgica\", \"BE\", \"Belgium\", \"\"], [\"Belize\", \"Belize\", \"BZ\", \"Belize\", \"\"], [\"Benin\", \"Benin\", \"BJ\", \"Benin\", \"\"], [\"Bhutan\", \"But\u00e3o\", \"BT\", \"Bhutan\", \"\"], [\"Belarus\", \"Belarus\", \"BY\", \"Belarus\", \"\"], [\"Bolivia\", \"Bol\u00edvia\", \"BO\", \"Bolivia\", \"\"], [\"Bosnia and Herzegovina\", \"B\u00f3snia e Herzegovina\", \"BA\", \"Bosnia and Herzegovina\", \"\"], [\"Botswana\", \"Botsuana\", \"BW\", \"Botswana\", \"\"], [\"Brazil\", \"Brasil\", \"BR\", \"Brazil\", \"\"], [\"Brunei\", \"Brunei\", \"BN\", \"Brunei\", \"Brunei Darussalam\"], [\"Bulgaria\", \"Bulg\u00e1ria\", \"BG\", \"Bulgaria\", \"\"], [\"Burkina Faso\", \"Burkina Faso\", \"BF\", \"Burkina Faso\", \"\"], [\"Burundi\", \"Burundi\", \"BI\", \"Burundi\", \"\"], [\"Cambodia\", \"Camboja\", \"KH\", \"Cambodia\", \"\"], [\"Cameroon\", \"Camar\u00f5es\", \"CM\", \"Cameroon\", \"\"], [\"Canada\", \"Canad\u00e1\", \"CA\", \"Canada\", \"\"], [\"Cabo Verde\", \"Cabo Verde\", \"CV\", \"Cabo Verde\", \"Cape Verde\"], [\"Chile\", \"Chile\", \"CL\", \"Chile\", \"\"], [\"China\", \"China\", \"CN\", \"China\", \"PRC \u4e2d\u534e\u4eba\u6c11\u5171\u548c\u56fd\"], [\"Cyprus\", \"Chipre\", \"CY\", \"Cyprus\", \"\"], [\"Vatican City\", \"Cidade do Vaticano\", \"VA\", \"Vatican City\", \"Holy See Vatican\"], [\"Colombia\", \"Col\u00f4mbia\", \"CO\", \"Colombia\", \"\"], [\"Comoros\", \"Comores\", \"KM\", \"Comoros\", \"\"], [\"Congo (Brazzaville)\", \"Congo (Brazzaville)\", \"CG\", \"Congo (Brazzaville)\", \"Republic of the Congo\"], [\"Congo (Kinshasa)\", \"Congo (Kinshasa)\", \"CD\", \"Congo (Kinshasa)\", \"DRC Democratic Republic of the Congo\"], [\"North Korea\", \"Coreia do Norte\", \"KP\", \"North Korea\", \"DPRK\"], [\"South Korea\", \"Coreia do Sul\", \"KR\", \"South Korea\", \"Korea \ud55c\uad6d \u97d3\u56fd \u97e9\u56fd\"], [\"Costa Rica\", \"Costa Rica\", \"CR\", \"Costa Rica\", \"\"], [\"C\u00f4te d'Ivoire\", \"Costa do Marfim\", \"CI\", \"C\u00f4te d'Ivoire\", \"Ivory Coast\"], [\"Croatia\", \"Cro\u00e1cia\", \"HR\", \"Croatia\", \"\"], [\"Cuba\", \"Cuba\", \"CU\", \"Cuba\", \"\"], [\"Denmark\", \"Dinamarca\", \"DK\", \"Denmark\", \"\"], [\"Djibouti\", \"Djibuti\", \"DJ\", \"Djibouti\", \"\"], [\"Dominica\", \"Dominica\", \"DM\", \"Dominica\", \"\"], [\"Egypt\", \"Egito\", \"EG\", \"Egypt\", \"\"], [\"United Arab Emirates\", \"Emirados \u00c1rabes Unidos\", \"AE\", \"United Arab Emirates\", \"UAE Emirates Dubai\"], [\"Ecuador\", \"Equador\", \"EC\", \"Ecuador\", \"\"], [\"Eritrea\", \"Eritreia\", \"ER\", \"Eritrea\", \"\"], [\"Spain\", \"Espanha\", \"ES\", \"Spain\", \"\"], [\"Estonia\", \"Est\u00f4nia\", \"EE\", \"Estonia\", \"\"], [\"Eswatini\", \"Essuat\u00edni\", \"SZ\", \"Eswatini\", \"Swaziland\"], [\"United States\", \"Estados Unidos\", \"US\", \"United States\", \"USA America United States of America\"], [\"Ethiopia\", \"Eti\u00f3pia\", \"ET\", \"Ethiopia\", \"\"], [\"Fiji\", \"Fiji\", \"FJ\", \"Fiji\", \"\"], [\"Finland\", \"Finl\u00e2ndia\", \"FI\", \"Finland\", \"\"], [\"France\", \"Fran\u00e7a\", \"FR\", \"France\", \"\"], [\"Gabon\", \"Gab\u00e3o\", \"GA\", \"Gabon\", \"\"], [\"Gambia\", \"G\u00e2mbia\", \"GM\", \"Gambia\", \"\"], [\"Georgia\", \"Ge\u00f3rgia\", \"GE\", \"Georgia\", \"\"], [\"Ghana\", \"Gana\", \"GH\", \"Ghana\", \"\"], [\"Greece\", \"Gr\u00e9cia\", \"GR\", \"Greece\", \"\"], [\"Grenada\", \"Granada\", \"GD\", \"Grenada\", \"\"], [\"Guatemala\", \"Guatemala\", \"GT\", \"Guatemala\", \"\"], [\"Guinea\", \"Guin\u00e9\", \"GN\", \"Guinea\", \"\"], [\"Equatorial Guinea\", \"Guin\u00e9 Equatorial\", \"GQ\", \"Equatorial Guinea\", \"\"], [\"Guinea-Bissau\", \"Guin\u00e9-Bissau\", \"GW\", \"Guinea-Bissau\", \"\"], [\"Guyana\", \"Guiana\", \"GY\", \"Guyana\", \"\"], [\"Haiti\", \"Haiti\", \"HT\", \"Haiti\", \"\"], [\"Honduras\", \"Honduras\", \"HN\", \"Honduras\", \"\"], [\"Hungary\", \"Hungria\", \"HU\", \"Hungary\", \"\"], [\"Marshall Islands\", \"Ilhas Marshall\", \"MH\", \"Marshall Islands\", \"\"], [\"Solomon Islands\", \"Ilhas Salom\u00e3o\", \"SB\", \"Solomon Islands\", \"\"], [\"India\", \"\u00cdndia\", \"IN\", \"India\", \"\"], [\"Indonesia\", \"Indon\u00e9sia\", \"ID\", \"Indonesia\", \"\"], [\"Iraq\", \"Iraque\", \"IQ\", \"Iraq\", \"\"], [\"Iran\", \"Ir\u00e3\", \"IR\", \"Iran\", \"Persia\"], [\"Ireland\", \"Irlanda\", \"IE\", \"Ireland\", \"\"], [\"Iceland\", \"Isl\u00e2ndia\", \"IS\", \"Iceland\", \"\"], [\"Israel\", \"Israel\", \"IL\", \"Israel\", \"\"], [\"Italy\", \"It\u00e1lia\", \"IT\", \"Italy\", \"\"], [\"Jamaica\", \"Jamaica\", \"JM\", \"Jamaica\", \"\"], [\"Japan\", \"Jap\u00e3o\", \"JP\", \"Japan\", \"\"], [\"Jordan\", \"Jord\u00e2nia\", \"JO\", \"Jordan\", \"\"], [\"Kazakhstan\", \"Cazaquist\u00e3o\", \"KZ\", \"Kazakhstan\", \"\"], [\"Kenya\", \"Qu\u00eania\", \"KE\", \"Kenya\", \"\"], [\"Kyrgyzstan\", \"Quirguist\u00e3o\", \"KG\", \"Kyrgyzstan\", \"\"], [\"Kiribati\", \"Kiribati\", \"KI\", \"Kiribati\", \"\"], [\"Kosovo\", \"Kosovo\", \"XK\", \"Kosovo\", \"\"], [\"Kuwait\", \"Kuwait\", \"KW\", \"Kuwait\", \"\"], [\"Laos\", \"Laos\", \"LA\", \"Laos\", \"Lao\"], [\"Lesotho\", \"Lesoto\", \"LS\", \"Lesotho\", \"\"], [\"Latvia\", \"Let\u00f4nia\", \"LV\", \"Latvia\", \"\"], [\"Lebanon\", \"L\u00edbano\", \"LB\", \"Lebanon\", \"\"], [\"Liberia\", \"Lib\u00e9ria\", \"LR\", \"Liberia\", \"\"], [\"Libya\", \"L\u00edbia\", \"LY\", \"Libya\", \"\"], [\"Liechtenstein\", \"Liechtenstein\", \"LI\", \"Liechtenstein\", \"\"], [\"Lithuania\", \"Litu\u00e2nia\", \"LT\", \"Lithuania\", \"\"], [\"Luxembourg\", \"Luxemburgo\", \"LU\", \"Luxembourg\", \"\"], [\"North Macedonia\", \"Maced\u00f4nia do Norte\", \"MK\", \"North Macedonia\", \"Macedonia\"], [\"Madagascar\", \"Madagascar\", \"MG\", \"Madagascar\", \"\"], [\"Malaysia\", \"Mal\u00e1sia\", \"MY\", \"Malaysia\", \"Malaysian\"], [\"Malawi\", \"Malawi\", \"MW\", \"Malawi\", \"\"], [\"Maldives\", \"Maldivas\", \"MV\", \"Maldives\", \"\"], [\"Mali\", \"Mali\", \"ML\", \"Mali\", \"\"], [\"Malta\", \"Malta\", \"MT\", \"Malta\", \"\"], [\"Morocco\", \"Marrocos\", \"MA\", \"Morocco\", \"\"], [\"Mauritius\", \"Maur\u00edcio\", \"MU\", \"Mauritius\", \"\"], [\"Mauritania\", \"Maurit\u00e2nia\", \"MR\", \"Mauritania\", \"\"], [\"Mexico\", \"M\u00e9xico\", \"MX\", \"Mexico\", \"\"], [\"Micronesia\", \"Micron\u00e9sia\", \"FM\", \"Micronesia\", \"\"], [\"Moldova\", \"Mold\u00e1via\", \"MD\", \"Moldova\", \"\"], [\"Monaco\", \"M\u00f4naco\", \"MC\", \"Monaco\", \"\"], [\"Mongolia\", \"Mong\u00f3lia\", \"MN\", \"Mongolia\", \"\"], [\"Montenegro\", \"Montenegro\", \"ME\", \"Montenegro\", \"\"], [\"Mozambique\", \"Mo\u00e7ambique\", \"MZ\", \"Mozambique\", \"\"], [\"Myanmar\", \"Mianmar\", \"MM\", \"Myanmar\", \"Burma\"], [\"Namibia\", \"Nam\u00edbia\", \"NA\", \"Namibia\", \"\"], [\"Nauru\", \"Nauru\", \"NR\", \"Nauru\", \"\"], [\"Nepal\", \"Nepal\", \"NP\", \"Nepal\", \"\"], [\"Nicaragua\", \"Nicar\u00e1gua\", \"NI\", \"Nicaragua\", \"\"], [\"Niger\", \"N\u00edger\", \"NE\", \"Niger\", \"\"], [\"Nigeria\", \"Nig\u00e9ria\", \"NG\", \"Nigeria\", \"\"], [\"Norway\", \"Noruega\", \"NO\", \"Norway\", \"\"], [\"New Zealand\", \"Nova Zel\u00e2ndia\", \"NZ\", \"New Zealand\", \"\"], [\"Oman\", \"Om\u00e3\", \"OM\", \"Oman\", \"\"], [\"Uganda\", \"Uganda\", \"UG\", \"Uganda\", \"\"], [\"Uzbekistan\", \"Uzbequist\u00e3o\", \"UZ\", \"Uzbekistan\", \"\"], [\"Pakistan\", \"Paquist\u00e3o\", \"PK\", \"Pakistan\", \"\"], [\"Palau\", \"Palau\", \"PW\", \"Palau\", \"\"], [\"Palestine\", \"Palestina\", \"PS\", \"Palestine\", \"Palestinian\"], [\"Panama\", \"Panam\u00e1\", \"PA\", \"Panama\", \"\"], [\"Papua New Guinea\", \"Papua-Nova Guin\u00e9\", \"PG\", \"Papua New Guinea\", \"\"], [\"Paraguay\", \"Paraguai\", \"PY\", \"Paraguay\", \"\"], [\"Netherlands\", \"Pa\u00edses Baixos\", \"NL\", \"Netherlands\", \"Holland\"], [\"Peru\", \"Peru\", \"PE\", \"Peru\", \"\"], [\"Philippines\", \"Filipinas\", \"PH\", \"Philippines\", \"\"], [\"Poland\", \"Pol\u00f4nia\", \"PL\", \"Poland\", \"\"], [\"Portugal\", \"Portugal\", \"PT\", \"Portugal\", \"\"], [\"Qatar\", \"Catar\", \"QA\", \"Qatar\", \"\"], [\"Central African Republic\", \"Rep\u00fablica Centro-Africana\", \"CF\", \"Central African Republic\", \"\"], [\"Dominican Republic\", \"Rep\u00fablica Dominicana\", \"DO\", \"Dominican Republic\", \"\"], [\"Romania\", \"Rom\u00eania\", \"RO\", \"Romania\", \"\"], [\"United Kingdom\", \"Reino Unido\", \"GB\", \"United Kingdom\", \"UK Britain Great Britain England Scotland Wales\"], [\"Russia\", \"R\u00fassia\", \"RU\", \"Russia\", \"Russian Federation\"], [\"Rwanda\", \"Ruanda\", \"RW\", \"Rwanda\", \"\"], [\"Saint Kitts and Nevis\", \"S\u00e3o Crist\u00f3v\u00e3o e N\u00e9vis\", \"KN\", \"Saint Kitts and Nevis\", \"\"], [\"San Marino\", \"San Marino\", \"SM\", \"San Marino\", \"\"], [\"Saint Vincent and the Grenadines\", \"S\u00e3o Vicente e Granadinas\", \"VC\", \"Saint Vincent and the Grenadines\", \"\"], [\"Saint Lucia\", \"Santa L\u00facia\", \"LC\", \"Saint Lucia\", \"\"], [\"El Salvador\", \"El Salvador\", \"SV\", \"El Salvador\", \"\"], [\"Samoa\", \"Samoa\", \"WS\", \"Samoa\", \"\"], [\"Sao Tome and Principe\", \"S\u00e3o Tom\u00e9 e Pr\u00edncipe\", \"ST\", \"Sao Tome and Principe\", \"\"], [\"Senegal\", \"Senegal\", \"SN\", \"Senegal\", \"\"], [\"Serbia\", \"S\u00e9rvia\", \"RS\", \"Serbia\", \"\"], [\"Seychelles\", \"Seicheles\", \"SC\", \"Seychelles\", \"\"], [\"Sierra Leone\", \"Serra Leoa\", \"SL\", \"Sierra Leone\", \"\"], [\"Singapore\", \"Singapura\", \"SG\", \"Singapore\", \"\"], [\"Slovakia\", \"Eslov\u00e1quia\", \"SK\", \"Slovakia\", \"\"], [\"Slovenia\", \"Eslov\u00eania\", \"SI\", \"Slovenia\", \"\"], [\"Somalia\", \"Som\u00e1lia\", \"SO\", \"Somalia\", \"\"], [\"Sudan\", \"Sud\u00e3o\", \"SD\", \"Sudan\", \"\"], [\"South Sudan\", \"Sud\u00e3o do Sul\", \"SS\", \"South Sudan\", \"\"], [\"Sri Lanka\", \"Sri Lanka\", \"LK\", \"Sri Lanka\", \"\"], [\"Sweden\", \"Su\u00e9cia\", \"SE\", \"Sweden\", \"\"], [\"Switzerland\", \"Su\u00ed\u00e7a\", \"CH\", \"Switzerland\", \"\"], [\"Suriname\", \"Suriname\", \"SR\", \"Suriname\", \"\"], [\"Syria\", \"S\u00edria\", \"SY\", \"Syria\", \"Syrian\"], [\"Tajikistan\", \"Tajiquist\u00e3o\", \"TJ\", \"Tajikistan\", \"\"], [\"Taiwan\", \"Taiwan\", \"TW\", \"Taiwan\", \"Taiwan ROC \u81fa\u7063\"], [\"Tanzania\", \"Tanz\u00e2nia\", \"TZ\", \"Tanzania\", \"\"], [\"Chad\", \"Chade\", \"TD\", \"Chad\", \"\"], [\"Czechia\", \"Tch\u00e9quia\", \"CZ\", \"Czechia\", \"Czech Republic\"], [\"Thailand\", \"Tail\u00e2ndia\", \"TH\", \"Thailand\", \"\"], [\"Timor-Leste\", \"Timor-Leste\", \"TL\", \"Timor-Leste\", \"East Timor\"], [\"Togo\", \"Togo\", \"TG\", \"Togo\", \"\"], [\"Tonga\", \"Tonga\", \"TO\", \"Tonga\", \"\"], [\"Trinidad and Tobago\", \"Trinidad e Tobago\", \"TT\", \"Trinidad and Tobago\", \"\"], [\"Tunisia\", \"Tun\u00edsia\", \"TN\", \"Tunisia\", \"\"], [\"Turkmenistan\", \"Turcomenist\u00e3o\", \"TM\", \"Turkmenistan\", \"\"], [\"Turkey\", \"Turquia\", \"TR\", \"Turkey\", \"T\u00fcrkiye Turkiye\"], [\"Tuvalu\", \"Tuvalu\", \"TV\", \"Tuvalu\", \"\"], [\"Ukraine\", \"Ucr\u00e2nia\", \"UA\", \"Ukraine\", \"\"], [\"Uruguay\", \"Uruguai\", \"UY\", \"Uruguay\", \"\"], [\"Vanuatu\", \"Vanuatu\", \"VU\", \"Vanuatu\", \"\"], [\"Venezuela\", \"Venezuela\", \"VE\", \"Venezuela\", \"\"], [\"Vietnam\", \"Vietn\u00e3\", \"VN\", \"Vietnam\", \"\"], [\"Yemen\", \"I\u00eamen\", \"YE\", \"Yemen\", \"\"], [\"Zambia\", \"Z\u00e2mbia\", \"ZM\", \"Zambia\", \"\"], [\"Zimbabwe\", \"Zimb\u00e1bue\", \"ZW\", \"Zimbabwe\", \"\"], [\"Other\", \"Outro\", \"\", \"Other\", \"\"]], PIN = [\"MY\", \"CN\", \"KR\", \"JP\", \"ID\", \"RU\", \"SA\", \"DE\", \"SG\", \"TH\", \"VN\", \"AE\", \"GB\", \"US\"];\n\n  var elName = $('adm-name'), elIc = $('adm-ic'), elNat = $('adm-nat'), elNatVal = $('adm-nat-val'), elDob = $('adm-dob'),\n      elDobIso = $('adm-dob-iso'), elDobHint = $('adm-dob-hint'), elEmail = $('adm-email'),\n      elPhone = $('adm-phone'), elDial = $('adm-dial'), elAddress = $('adm-address'),\n      elGender = $('adm-gender'), elGenderVal = $('adm-gender-val'),\n      elCourse = $('adm-course'), elStart = $('adm-start'), elHear = $('adm-hear'),\n      elMinor = $('adm-minor'), elGuardian = $('adm-guardian'), elGName = $('adm-gname'),\n      elGRel = $('adm-grel'), elGEmail = $('adm-gemail'), elGPhone = $('adm-gphone'), elGDial = $('adm-gdial'),\n      elDoc = $('adm-doc'), elDrop = $('adm-drop'), elDropT = $('adm-drop-t'), elDropS = $('adm-drop-s'),\n      elNotes = $('adm-notes'), elTerms = $('adm-terms'), elConsent = $('adm-consent'),\n      elErr = $('adm-error'), elDone = $('adm-done'), elDoneRef = $('adm-done-ref'),\n      elBtn = $('adm-submit'), elBack = $('adm-back'), elAgain = $('adm-again'), elStepsNav = $('adm-steps');\n  var steps = [].slice.call(form.querySelectorAll('.adm3-step'));\n  var stepBtns = [].slice.call(document.querySelectorAll('.adm3-stepbtn'));\n  var cur = 1;\n\n  \/* \u2500\u2500 errors: one message under each field \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  function errEl(ctrl){ return $(ctrl.getAttribute('data-err') || (ctrl.id + '-err')); }\n  function setErr(ctrl, msg){\n    var e = errEl(ctrl); if (e) { e.textContent = msg; e.hidden = false; }\n    (ctrl._mark || ctrl).setAttribute('aria-invalid', 'true');\n  }\n  function clearErr(ctrl){\n    var e = errEl(ctrl); if (e) { e.hidden = true; e.textContent = ''; }\n    (ctrl._mark || ctrl).removeAttribute('aria-invalid');\n  }\n\n  \/* \u2500\u2500 1. programmes: the ERP's real list, so each maps to a course_id \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  var courseMap = {};\n  fetch(API + '\/erp-courses', { headers: { 'Accept': 'application\/json' } })\n    .then(function(r){ return r.ok ? r.json() : []; })\n    .then(function(list){\n      if (!Array.isArray(list) || !list.length) return;\n      var keep = elCourse.value;\n      elCourse.innerHTML = '<option value=\"\" selected disabled>' + T.course_ph + '<\/option>';\n      list.forEach(function(c){\n        if (!c || !c.name) return;\n        courseMap[c.name] = c.id;\n        var o = document.createElement('option');\n        o.value = c.name; o.textContent = c.name;\n        elCourse.appendChild(o);\n      });\n      if (keep && courseMap[keep]) elCourse.value = keep;\n      syncEmpty(elCourse); updateCard();\n    })\n    .catch(function(){ \/* keep the static options *\/ });\n\n  \/* \u2500\u2500 2. preferred start: ASAP + the next 12 months (sent in English, shown in this language).\n     After the 15th this month is too late to plan for, so the list starts at the next one. *\/\n  (function(){\n    var d = new Date(), late = d.getDate() > 15; d.setDate(1); if (late) d.setMonth(d.getMonth() + 1);\n    for (var i = 0; i < 12; i++) {\n      d.setMonth(d.getMonth() + (i ? 1 : 0));\n      var o = document.createElement('option');\n      try {\n        o.value = d.toLocaleDateString('en-GB', { month: 'long', year: 'numeric' });\n        o.textContent = d.toLocaleDateString(T.locale, { month: 'long', year: 'numeric' });\n      } catch (e) { o.value = o.textContent = (d.getMonth() + 1) + '\/' + d.getFullYear(); }\n      elStart.appendChild(o);\n    }\n  })();\n  function syncEmpty(sel){ sel.classList.toggle('is-empty', !sel.value); }\n  [elCourse, elStart, elHear, elGRel].forEach(function(s){ if (s) { syncEmpty(s); s.addEventListener('change', function(){ syncEmpty(s); }); } });\n\n  \/* \u2500\u2500 3. gender: a radio group made of buttons (arrow keys move and select) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  var gBtns = [].slice.call(elGender.querySelectorAll('.adm3-gbtn'));\n  elGender._mark = elGender;\n  function pickGender(btn, focus){\n    gBtns.forEach(function(b){ var on = (b === btn); b.setAttribute('aria-checked', on ? 'true' : 'false'); b.tabIndex = on ? 0 : -1; });\n    elGenderVal.value = btn.getAttribute('data-value');\n    if (focus) btn.focus();\n    clearErr(elGender); updateCard();\n  }\n  gBtns.forEach(function(b, i){\n    b.addEventListener('click', function(){ pickGender(b, false); });\n    b.addEventListener('keydown', function(e){\n      var rtl = getComputedStyle(elGender).direction === 'rtl', k = e.key, step = 0;\n      if (k === 'ArrowDown' || k === (rtl ? 'ArrowLeft' : 'ArrowRight')) step = 1;\n      if (k === 'ArrowUp' || k === (rtl ? 'ArrowRight' : 'ArrowLeft')) step = -1;\n      if (k === ' ' || k === 'Enter') { e.preventDefault(); pickGender(b, false); return; }\n      if (!step) return;\n      e.preventDefault();\n      pickGender(gBtns[(i + step + gBtns.length) % gBtns.length], true);\n    });\n  });\n\n  \/* \u2500\u2500 4. date of birth: DD \/ MM \/ YYYY with the slashes typed for you \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  function dobParse(){\n    var d = elDob.value.replace(\/\\D\/g, '');\n    if (d.length !== 8) return null;\n    var dd = +d.slice(0, 2), mm = +d.slice(2, 4), yy = +d.slice(4);\n    var dt = new Date(Date.UTC(yy, mm - 1, dd));\n    if (dt.getUTCFullYear() !== yy || dt.getUTCMonth() !== mm - 1 || dt.getUTCDate() !== dd) return null;\n    if (yy < 1900 || dt.getTime() > Date.now()) return null;\n    return { d: dd, m: mm, y: yy, iso: d.slice(4) + '-' + d.slice(2, 4) + '-' + d.slice(0, 2), date: dt };\n  }\n  function ageOf(p){\n    var t = new Date(), a = t.getFullYear() - p.y;\n    if (t.getMonth() + 1 < p.m || (t.getMonth() + 1 === p.m && t.getDate() < p.d)) a--;\n    return a;\n  }\n  elDob.addEventListener('input', function(){\n    var d = elDob.value.replace(\/\\D\/g, '').slice(0, 8);\n    elDob.value = d.slice(0, 2) + (d.length > 2 ? ' \/ ' + d.slice(2, 4) : '') + (d.length > 4 ? ' \/ ' + d.slice(4) : '');\n    var p = dobParse();\n    elDobIso.value = p ? p.iso : '';\n    \/* Echo the date back in words: 03\/05 reads as 3 May here and as March 5 to half the world. *\/\n    if (p) {\n      try { elDobHint.textContent = p.date.toLocaleDateString(T.locale, { day: 'numeric', month: 'long', year: 'numeric', timeZone: 'UTC' }); }\n      catch (e) { elDobHint.textContent = p.iso; }\n    } else { elDobHint.textContent = T.dob_hint; }\n    if (p || !elDob.value) clearErr(elDob);\n    syncGuardian(); updateCard();\n  });\n\n  \/* \u2500\u2500 5. guardian: shown when the date of birth says under 18, or by hand \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  var minorByDob = false;\n  function guardianOn(){ return !elGuardian.hidden; }\n  function syncGuardian(){\n    var p = dobParse(), was = minorByDob;\n    minorByDob = !!(p && ageOf(p) < 18);\n    if (minorByDob) { elMinor.checked = true; elMinor.disabled = true; }\n    else { elMinor.disabled = false; if (was) elMinor.checked = false; }\n    elGuardian.hidden = !elMinor.checked;\n    syncSigner();\n  }\n  elMinor.addEventListener('change', syncGuardian);\n\n  \/* \u2500\u2500 6. phone: country code follows nationality until changed by hand \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  var dialTouched = false, gDialTouched = false;\n  elGDial.innerHTML = elDial.innerHTML; elGDial.value = 'MY';\n  function showDial(sel){\n    var o = sel.options[sel.selectedIndex];\n    sel.parentNode.querySelector('.adm3-dial__val').textContent = o ? (o.value + ' +' + o.getAttribute('data-dial')) : '';\n  }\n  function setDial(sel, iso){ if (sel.value !== iso) { sel.value = iso; if (sel.selectedIndex < 0) sel.value = 'MY'; } showDial(sel); }\n  elDial.addEventListener('change', function(){ dialTouched = true; showDial(elDial); if (!gDialTouched) setDial(elGDial, elDial.value); });\n  elGDial.addEventListener('change', function(){ gDialTouched = true; showDial(elGDial); });\n  showDial(elDial); showDial(elGDial);\n\n  \/* \u2500\u2500 6b. nationality: type to search, in this language or in English \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n     What is SENT is always the English name (the ERP stores it and staff read it); what is\n     shown and searched is this page's language, plus the English name and common aliases. *\/\n  var natList = $('adm-nat-list'), natBy = {}, natShown = [], natActive = -1;\n  function norm(s){\n    s = String(s || '').toLowerCase();\n    try { s = s.normalize('NFD').replace(\/[\\u0300-\\u036f]\/g, ''); } catch (e) {}\n    return s.replace(\/[\\u0623\\u0625\\u0622]\/g, '\\u0627').replace(\/\\u0629\/g, '\\u0647').replace(\/\\u0649\/g, '\\u064a')\n            .replace(\/[\\u2019'`.,()\\-\\u2013\\s]+\/g, ' ').trim();\n  }\n  NATS.forEach(function(n, i){\n    natBy[n[0]] = n; n.i = i;\n    n.l = norm(n[1]); n.e = norm(n[3] || n[0]); n.k = norm([n[1], n[0], n[3], n[4]].join(' ')); n.a = ' ' + norm(n[4]) + ' ';\n  });\n  function natLabel(v){ return natBy[v] ? natBy[v][1] : ''; }\n  function natScore(n, q){\n    if (n.a.indexOf(' ' + q + ' ') >= 0) return 0;   \/* an exact alias beats everything: UK, USA, UAE, \ud55c\uad6d *\/\n    if (n.l.indexOf(q) === 0) return 1;\n    if (n.e.indexOf(q) === 0 || (n[2] && n[2].toLowerCase() === q)) return 2;\n    if ((' ' + n.k).indexOf(' ' + q) >= 0) return 3;\n    return n.k.indexOf(q) >= 0 ? 4 : -1;\n  }\n  function natOption(n){\n    var li = document.createElement('li');\n    natShown.push(n);\n    li.id = 'adm-nat-o' + (natShown.length - 1); li.className = 'adm3-combo__opt';\n    li.setAttribute('role', 'option');\n    li.setAttribute('aria-selected', elNatVal.value === n[0] ? 'true' : 'false');\n    var t = document.createElement('span'); t.textContent = n[1]; li.appendChild(t);\n    if (n[3] && n[3] !== n[1]) { var e = document.createElement('span'); e.className = 'adm3-combo__en'; e.textContent = n[3]; li.appendChild(e); }\n    li.addEventListener('mousedown', function(ev){ ev.preventDefault(); });   \/* keep focus in the box *\/\n    li.addEventListener('click', function(){ natChoose(n); });\n    natList.appendChild(li);\n  }\n  function natRender(q){\n    natList.innerHTML = ''; natShown = []; natActive = -1;\n    var nq = norm(q), rows;\n    if (!nq) {\n      PIN.forEach(function(iso){ var n = NATS.filter(function(x){ return x[2] === iso; })[0]; if (n) natOption(n); });\n      var hr = document.createElement('li'); hr.className = 'adm3-combo__sep'; hr.setAttribute('role', 'separator'); natList.appendChild(hr);\n      NATS.forEach(natOption);\n      return;\n    }\n    rows = NATS.map(function(n){ return [natScore(n, nq), n]; }).filter(function(x){ return x[0] >= 0; })\n      .sort(function(a, b){ return a[0] - b[0] || a[1].i - b[1].i; });\n    if (!rows.length) {\n      var none = document.createElement('li'); none.className = 'adm3-combo__none'; none.textContent = T.nat_none; natList.appendChild(none);\n      rows = [[0, NATS[NATS.length - 1]]];   \/* \"Other\" is always a way out *\/\n    }\n    rows.forEach(function(x){ natOption(x[1]); });\n    natMove(0);\n  }\n  function natMove(i){\n    var opts = natList.querySelectorAll('.adm3-combo__opt');\n    if (!opts.length) return;\n    i = Math.max(0, Math.min(opts.length - 1, i));\n    if (opts[natActive]) opts[natActive].classList.remove('is-active');\n    natActive = i; opts[i].classList.add('is-active');\n    elNat.setAttribute('aria-activedescendant', opts[i].id);\n    var top = opts[i].offsetTop, bot = top + opts[i].offsetHeight;\n    if (top < natList.scrollTop) natList.scrollTop = top - 6;\n    else if (bot > natList.scrollTop + natList.clientHeight) natList.scrollTop = bot - natList.clientHeight + 6;\n  }\n  function natOpen(q){\n    natRender(q);\n    natList.hidden = false; elNat.setAttribute('aria-expanded', 'true');\n    if (!norm(q) && elNatVal.value) {\n      for (var i = 0; i < natShown.length; i++) if (natShown[i][0] === elNatVal.value) { natMove(i); break; }\n    }\n  }\n  function natClose(){\n    natList.hidden = true; natActive = -1;\n    elNat.setAttribute('aria-expanded', 'false'); elNat.removeAttribute('aria-activedescendant');\n  }\n  function natChoose(n){\n    var changed = elNatVal.value !== n[0];\n    elNatVal.value = n[0]; elNat.value = n[1];\n    natClose(); clearErr(elNat);\n    if (changed) natChanged();\n  }\n  function natChanged(){\n    if (!dialTouched) { setDial(elDial, (natBy[elNatVal.value] || [])[2] || 'MY'); if (!gDialTouched) setDial(elGDial, elDial.value); }\n    updateCard();\n  }\n  elNat.addEventListener('focus', function(){\n    elNat.select(); natOpen('');\n    \/* on a phone, lift the box up so the list is not hidden behind the keyboard *\/\n    if (window.innerWidth < 640 && elNat.getBoundingClientRect().top > window.innerHeight * .35)\n      setTimeout(function(){ elNat.scrollIntoView({ behavior: 'smooth', block: 'start' }); }, 250);\n  });\n  elNat.addEventListener('click', function(){ if (natList.hidden) natOpen(''); });\n  elNat.addEventListener('input', function(){ natOpen(elNat.value); });\n  elNat.addEventListener('keydown', function(e){\n    var k = e.key;\n    if (k === 'ArrowDown' || k === 'ArrowUp') {\n      e.preventDefault();\n      if (natList.hidden) natOpen(''); else natMove(natActive + (k === 'ArrowDown' ? 1 : -1));\n    } else if (k === 'Enter') {\n      if (!natList.hidden && natActive >= 0) { e.preventDefault(); natChoose(natShown[natActive]); }\n    } else if (k === 'Escape') {\n      if (!natList.hidden) { e.preventDefault(); natClose(); elNat.value = natLabel(elNatVal.value); }\n    } else if (k === 'Tab') {\n      if (!natList.hidden && natActive >= 0 && norm(elNat.value) && elNat.value !== natLabel(elNatVal.value)) natChoose(natShown[natActive]);\n    }\n  });\n  elNat.addEventListener('blur', function(){\n    setTimeout(function(){\n      if (document.activeElement === elNat) return;\n      natClose();\n      var q = norm(elNat.value);\n      if (!q) { if (elNatVal.value) { elNatVal.value = ''; natChanged(); } return; }\n      if (elNat.value === natLabel(elNatVal.value)) return;\n      \/* typed a whole name and left without picking: take it if it is exactly one of ours *\/\n      var hit = NATS.filter(function(n){ return n.l === q || n.e === q || norm(n[0]) === q; })[0];\n      if (hit) natChoose(hit); else elNat.value = natLabel(elNatVal.value);\n    }, 150);\n  });\n  \/* E.164 from what was typed: +CC then the national number without its trunk prefix. *\/\n  function e164(sel, input){\n    var raw = input.value.trim(); if (!raw) return '';\n    var digits = raw.replace(\/\\D\/g, '');\n    if (\/^\\+\/.test(raw)) return '+' + digits;\n    if (\/^00\/.test(raw)) return '+' + digits.slice(2);\n    var iso = sel.value, dial = sel.options[sel.selectedIndex].getAttribute('data-dial');\n    if (iso !== 'IT' && iso !== 'VA' && iso !== 'SM') digits = digits.replace(\/^0+\/, '');\n    if ((iso === 'RU' || iso === 'KZ') && digits.length === 11 && digits.charAt(0) === '8') digits = digits.slice(1);\n    return '+' + dial + digits;\n  }\n  function phoneOk(sel, input){ var n = e164(sel, input).length - 1; return n >= 8 && n <= 15; }\n  function dialLabel(sel){ var o = sel.options[sel.selectedIndex]; return o.value + ' +' + o.getAttribute('data-dial'); }\n\n  \/* \u2500\u2500 7. passport \/ NRIC upload \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  elDoc._mark = elDrop;\n  var OKEXT = \/\\.(pdf|jpe?g|png|webp|heic)$\/i;\n  function docValid(){ var f = elDoc.files && elDoc.files[0]; return !!(f && OKEXT.test(f.name) && f.size <= 10 * 1024 * 1024); }\n  function showDoc(){\n    var f = elDoc.files && elDoc.files[0];\n    if (!f) { elDropT.textContent = T.upload_title; elDropS.textContent = T.upload_sub; return; }\n    elDropT.textContent = f.name;\n    elDropS.textContent = (f.size \/ 1048576).toFixed(1) + ' MB \u00b7 ' + T.upload_change;\n    if (docValid()) clearErr(elDoc); else setErr(elDoc, T.doc_err);\n  }\n  elDoc.addEventListener('change', showDoc);\n  ['dragenter', 'dragover'].forEach(function(ev){ elDrop.addEventListener(ev, function(e){ e.preventDefault(); elDrop.classList.add('is-over'); }); });\n  ['dragleave', 'drop'].forEach(function(ev){ elDrop.addEventListener(ev, function(){ elDrop.classList.remove('is-over'); }); });\n  elDrop.addEventListener('drop', function(e){\n    e.preventDefault();\n    if (e.dataTransfer && e.dataTransfer.files && e.dataTransfer.files.length) {\n      try { elDoc.files = e.dataTransfer.files; } catch (x) {}\n      showDoc();\n    }\n  });\n\n  \/* \u2500\u2500 8. signature \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  var pad = $('adm-sig-pad'), cv = $('adm-sig-canvas'), ctx = cv.getContext('2d'),\n      elSigTyped = $('adm-sig-typed'), elSigText = $('adm-sig-text'), elSigPrev = $('adm-sig-preview'),\n      elSigMode = $('adm-sig-mode'), elSigHint = $('adm-sig-hint'), elSigAs = $('adm-sig-as'), elSigField = $('adm-sig');\n  elSigField._mark = pad;\n  var strokes = [], drawing = null, typed = false;\n  function fit(){\n    var r = pad.getBoundingClientRect(); if (!r.width) return;\n    var k = Math.min(window.devicePixelRatio || 1, 3);\n    cv.width = Math.round(r.width * k); cv.height = Math.round(r.height * k);\n    ctx.setTransform(k, 0, 0, k, 0, 0); redraw();\n  }\n  function redraw(){\n    var w = pad.clientWidth, h = pad.clientHeight;\n    ctx.clearRect(0, 0, pad.clientWidth, pad.clientHeight);\n    ctx.lineCap = ctx.lineJoin = 'round'; ctx.strokeStyle = '#0F172A'; ctx.lineWidth = 2.4;\n    strokes.forEach(function(s){\n      ctx.beginPath();\n      s.forEach(function(p, i){\n        var x = p[0] * w, y = p[1] * h;\n        if (!i) { ctx.moveTo(x, y); ctx.lineTo(x + .01, y); }\n        else { var q = s[i - 1]; ctx.quadraticCurveTo(q[0] * w, q[1] * h, (q[0] * w + x) \/ 2, (q[1] * h + y) \/ 2); }\n      });\n      ctx.stroke();\n    });\n  }\n  function pt(e){ var r = cv.getBoundingClientRect(); return [(e.clientX - r.left) \/ r.width, (e.clientY - r.top) \/ r.height]; }\n  cv.addEventListener('pointerdown', function(e){\n    if (e.button > 0) return;\n    e.preventDefault(); cv.setPointerCapture && cv.setPointerCapture(e.pointerId);\n    drawing = [pt(e)]; strokes.push(drawing); redraw();\n  });\n  cv.addEventListener('pointermove', function(e){\n    if (!drawing) return; e.preventDefault();\n    var list = e.getCoalescedEvents ? e.getCoalescedEvents() : [e];\n    (list.length ? list : [e]).forEach(function(ev){ drawing.push(pt(ev)); });\n    redraw();\n  });\n  function endStroke(){ if (drawing) { drawing = null; if (sigOk()) clearErr(elSigField); } }\n  cv.addEventListener('pointerup', endStroke); cv.addEventListener('pointercancel', endStroke);\n  function inkLength(){\n    var w = pad.clientWidth || 1, h = pad.clientHeight || 1, L = 0;\n    strokes.forEach(function(s){ for (var i = 1; i < s.length; i++) L += Math.hypot((s[i][0] - s[i-1][0]) * w, (s[i][1] - s[i-1][1]) * h); });\n    return L;\n  }\n  function sigOk(){ return typed ? elSigText.value.trim().length >= 2 : inkLength() >= 30; }\n  $('adm-sig-clear').addEventListener('click', function(){ strokes = []; redraw(); elSigText.value = ''; elSigPrev.textContent = ''; });\n  elSigMode.addEventListener('click', function(){\n    typed = !typed;\n    pad.hidden = typed; elSigTyped.hidden = !typed;\n    elSigMode.textContent = typed ? T.sig_draw : T.sig_type;\n    elSigHint.hidden = typed;\n    elSigField._mark = typed ? elSigText : pad;\n    clearErr(elSigField);\n    if (typed) elSigText.focus(); else fit();\n  });\n  elSigText.addEventListener('input', function(){ elSigPrev.textContent = elSigText.value; if (sigOk()) clearErr(elSigField); });\n  function sigDataUrl(){\n    if (!typed) return cv.toDataURL('image\/png');\n    var c = document.createElement('canvas'), x = c.getContext('2d'), s = elSigText.value.trim(), size = 72;\n    c.width = 900; c.height = 220;\n    var font = function(n){ return 'italic ' + n + 'px \"Segoe Script\",\"Brush Script MT\",\"Snell Roundhand\",\"Apple Chancery\",cursive'; };\n    x.font = font(size); while (size > 24 && x.measureText(s).width > 840) { size -= 4; x.font = font(size); }\n    x.fillStyle = '#0F172A'; x.textAlign = 'center'; x.textBaseline = 'middle'; x.fillText(s, 450, 115);\n    return c.toDataURL('image\/png');\n  }\n  if (window.ResizeObserver) new ResizeObserver(fit).observe(pad); else window.addEventListener('resize', fit);\n\n  \/* who is signing: the guardian when there is one, otherwise the applicant *\/\n  function syncSigner(){\n    var g = guardianOn();\n    [].forEach.call(document.querySelectorAll('[data-signer]'), function(n){ n.hidden = (n.getAttribute('data-signer') === 'guardian') !== g; });\n    elSigAs.textContent = (g ? elGName.value : elName.value).trim() || '\u2014';\n  }\n  elName.addEventListener('input', syncSigner); elGName.addEventListener('input', syncSigner);\n\n  \/* \u2500\u2500 9. validation, one step at a time \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  function need(ctrl, ok, msg, bad){ if (ok) { clearErr(ctrl); return true; } setErr(ctrl, msg || T.req); bad.push(ctrl); return false; }\n  function check(step){\n    var bad = [];\n    if (step === 1) {\n      var name = elName.value.trim();\n      if (need(elName, !!name, T.req, bad)) need(elName, LATIN.test(name), T.name_err, bad);\n      need(elGender, !!elGenderVal.value, T.choose, bad);\n      need(elNat, !!elNatVal.value, T.choose, bad);\n      need(elIc, !!elIc.value.trim(), T.req, bad);\n      if (need(elDob, !!elDob.value.trim(), T.req, bad)) need(elDob, !!dobParse(), T.dob_err, bad);\n      if (need(elPhone, !!elPhone.value.trim(), T.req, bad)) need(elPhone, phoneOk(elDial, elPhone), T.phone_err, bad);\n      var em = elEmail.value.trim();\n      if (need(elEmail, !!em, T.req, bad)) need(elEmail, EMAIL.test(em), T.email_err, bad);\n    }\n    if (step === 2) {\n      need(elCourse, !!elCourse.value, T.choose, bad);\n      need(elHear, !!elHear.value, T.choose, bad);\n      if (guardianOn()) {\n        var gn = elGName.value.trim();\n        if (need(elGName, !!gn, T.req, bad)) need(elGName, LATIN.test(gn), T.e_glatin, bad);\n        var ge = elGEmail.value.trim();\n        if (need(elGEmail, !!ge, T.req, bad)) need(elGEmail, EMAIL.test(ge), T.email_err, bad);\n        if (need(elGPhone, !!elGPhone.value.trim(), T.req, bad)) need(elGPhone, phoneOk(elGDial, elGPhone), T.phone_err, bad);\n      }\n    }\n    if (step === 3) {\n      need(elDoc, docValid(), T.e_doc, bad);\n      need(elTerms, elTerms.checked, T.e_terms, bad);\n      need(elConsent, elConsent.checked, T.e_privacy, bad);\n      need(elSigField, sigOk(), T.sig_err, bad);\n    }\n    return bad;\n  }\n  function showFirst(bad){\n    var el = bad[0], target = el._mark || el;\n    if (el === elGender) target = gBtns.filter(function(b){ return b.tabIndex === 0; })[0] || gBtns[0];\n    if (el === elSigField) target = typed ? elSigText : pad;\n    target.scrollIntoView({ behavior: 'smooth', block: 'center' });\n    var f = (target === pad) ? $('adm-sig-clear') : (target === elDrop ? elDoc : target);\n    try { f.focus({ preventScroll: true }); } catch (e) { f.focus(); }\n  }\n  \/* clear a field's message as soon as it is being fixed *\/\n  form.addEventListener('input', function(e){ var t = e.target; if (t.getAttribute('aria-invalid') === 'true' && t !== elDob && t !== elName) clearErr(t); updateCard(); });\n  elName.addEventListener('input', function(){ var v = elName.value.trim(); if (v && !LATIN.test(v)) setErr(elName, T.name_err); else clearErr(elName); });\n  elEmail.addEventListener('blur', function(){ var v = elEmail.value.trim(); if (v && !EMAIL.test(v)) setErr(elEmail, T.email_err); });\n  form.addEventListener('change', function(e){ var t = e.target; if (t.type === 'checkbox' && t.checked) clearErr(t); if (t.tagName === 'SELECT' && t.value) clearErr(t); updateCard(); });\n\n  \/* \u2500\u2500 10. moving between steps \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  function show(n){\n    cur = n;\n    steps.forEach(function(s){ s.hidden = (+s.getAttribute('data-step') !== n); });\n    stepBtns.forEach(function(b){\n      var k = +b.getAttribute('data-go');\n      b.classList.toggle('is-on', k <= n);\n      if (k === n) b.setAttribute('aria-current', 'step'); else b.removeAttribute('aria-current');\n    });\n    elBack.classList.toggle('is-hidden', n === 1);\n    elBtn.querySelector('.adm-submit__label').textContent = (n === 3) ? T.submit : T.cont;\n    elErr.textContent = '';\n    if (n === 3) { syncSigner(); fit(); }\n    updateCard();\n    var h = steps[n - 1].querySelector('.adm3-steph');\n    var top = elStepsNav.getBoundingClientRect().top;\n    if (top < 80 || top > window.innerHeight) elStepsNav.scrollIntoView({ behavior: 'smooth', block: 'start' });\n    try { h.focus({ preventScroll: true }); } catch (e) { h.focus(); }\n  }\n  function go(target){\n    if (target <= cur) { show(target); return; }\n    for (var s = cur; s < target; s++) {\n      var bad = check(s);\n      if (bad.length) { if (s !== cur) show(s); showFirst(bad); return; }\n    }\n    show(target);\n  }\n  stepBtns.forEach(function(b){ b.addEventListener('click', function(){ go(+b.getAttribute('data-go')); }); });\n  elBack.addEventListener('click', function(){ if (cur > 1) show(cur - 1); });\n  if (elAgain) elAgain.addEventListener('click', function(){ window.location.reload(); });\n\n  \/* \u2500\u2500 11. the applicant card (decorative; the form is the source of truth) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  var cName = $('adm3-cname'), cIni = $('adm3-cini'), cProg = $('adm3-cprog'), cNat = $('adm3-cnat'),\n      cStart = $('adm3-cstart'), cTag = $('adm3-ctag'), cFill = $('adm3-cfill'), cCount = $('adm3-ccount');\n  var avatars = [].slice.call(document.querySelectorAll('.adm3-av'));\n  function updateCard(){\n    var name = elName.value.trim(), words = name.split(\/\\s+\/).filter(Boolean);\n    cName.textContent = name || T.card_name; cName.classList.toggle('is-ph', !name);\n    var g = elGenderVal.value;\n    avatars.forEach(function(a){ if (a.getAttribute('data-av') === g) a.removeAttribute('hidden'); else a.setAttribute('hidden', ''); });\n    cIni.hidden = !!g;\n    cIni.textContent = words.length ? (words[0].charAt(0) + (words[1] ? words[1].charAt(0) : '')).toUpperCase() : '?';\n    var co = elCourse.value ? elCourse.options[elCourse.selectedIndex].textContent : '';\n    cProg.textContent = co || T.card_prog; cProg.classList.toggle('is-ph', !co);\n    cNat.textContent = natLabel(elNatVal.value);\n    var st = elStart.value ? (elStart.selectedIndex === 1 ? T.asap : elStart.options[elStart.selectedIndex].textContent) : '';\n    cStart.textContent = st ? T.starts.replace('{m}', st) : '';\n    var n = [!!name, !!g, !!elNatVal.value, !!dobParse(), EMAIL.test(elEmail.value.trim()), !!elCourse.value, !!elStart.value]\n      .filter(Boolean).length;\n    cFill.style.width = (n \/ 7 * 100) + '%';\n    cFill.classList.toggle('is-full', n === 7);\n    cCount.textContent = T.details.replace('{n}', n);\n    var ready = (cur === 3);\n    cTag.textContent = ready ? T.tag_ready : T.tag_app;\n    cTag.classList.toggle('is-ready', ready);\n  }\n  updateCard();\n\n  \/* \u2500\u2500 12. submit (Enter on steps 1\u20132 means Continue) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  form.addEventListener('submit', function(e){\n    e.preventDefault();\n    if (cur < 3) { go(cur + 1); return; }\n    elErr.textContent = '';\n    for (var s = 1; s <= 3; s++) {\n      var bad = check(s);\n      if (bad.length) { if (s !== 3) show(s); showFirst(bad); if (s === 3) elErr.textContent = T.e_required; return; }\n    }\n    if (form.website && form.website.value) { return; } \/* honeypot *\/\n\n    var guardian = guardianOn();\n    var fd = new FormData();\n    fd.append('full_name', elName.value.trim());\n    fd.append('gender', elGenderVal.value);\n    fd.append('ic_passport', elIc.value.trim());\n    fd.append('email', elEmail.value.trim());\n    fd.append('phone', e164(elDial, elPhone));\n    fd.append('phone_country', dialLabel(elDial));\n    fd.append('phone_number', elPhone.value.trim());\n    fd.append('nationality', elNatVal.value);\n    fd.append('date_of_birth', elDobIso.value);\n    fd.append('address', elAddress.value.trim());\n    fd.append('course', elCourse.value);\n    fd.append('course_id', courseMap[elCourse.value] || '');\n    fd.append('notes', elNotes.value.trim());\n    fd.append('how_did_you_hear', elHear.value);\n    fd.append('preferred_start', elStart.value);\n    fd.append('website', form.website ? form.website.value : '');\n    fd.append('document', elDoc.files[0]);\n    \/* CONSENT \u2014 the evidence, not just the gate. The version tells the ERP which wording was\n       on THIS page, so rewording it later cannot change what a past applicant agreed to. *\/\n    fd.append('consent_terms',   elTerms.checked   ? '1' : '');\n    fd.append('consent_privacy', elConsent.checked ? '1' : '');\n    fd.append('consent_version', '2026-10-pt');\n    fd.append('consent_at', new Date().toISOString());\n    if (guardian) {\n      fd.append('guardian_name', elGName.value.trim());\n      fd.append('guardian_relationship', elGRel.value);\n      fd.append('guardian_email', elGEmail.value.trim());\n      fd.append('guardian_phone', e164(elGDial, elGPhone));\n      fd.append('guardian_phone_country', dialLabel(elGDial));\n      fd.append('guardian_phone_number', elGPhone.value.trim());\n    }\n    \/* SIGNATURE \u2014 the image, who signed, as whom, and the sentence above the box verbatim. *\/\n    fd.append('signature', sigDataUrl());\n    fd.append('signature_name', (guardian ? elGName.value : elName.value).trim());\n    fd.append('signed_as', guardian ? 'guardian' : 'self');\n    fd.append('signature_method', typed ? 'typed' : 'drawn');\n    var stmt = document.querySelector('.adm3-sig__stmt [data-signer]:not([hidden])');\n    fd.append('signature_statement', stmt ? stmt.textContent.trim() : '');\n\n    elBtn.disabled = true;\n    elBtn.querySelector('.adm-submit__label').textContent = T.submitting;\n    function fail(msg){\n      elErr.textContent = msg;\n      elBtn.disabled = false;\n      elBtn.querySelector('.adm-submit__label').textContent = T.submit;\n    }\n    fetch(API + '\/erp-register', { method: 'POST', body: fd })\n    .then(function(r){ return r.json().then(function(j){ return { ok: r.ok, body: j }; }); })\n    .then(function(res){\n      if (res.ok && res.body && res.body.ok) {\n        \/* Google Ads (theme: gla_google_ads_tag): a real application, saved in the ERP (ref) or\n           held by WordPress while the ERP was unreachable (held). A honeypot hit returns neither. *\/\n        try {   \/* tracking must never stop the thank-you screen *\/\n          if (window.glaConversion && (res.body.ref || res.body.held)) {\n            var tel = e164(elDial, elPhone), ud = { email: elEmail.value.trim().toLowerCase() };\n            if (\/^\\+\\d{8,15}$\/.test(tel)) ud.phone_number = tel;\n            window.glaConversion('application', { id: 'app-' + (res.body.ref || 'wp' + res.body.held), userData: ud });\n          }\n        } catch (e) {}\n        form.hidden = true; elStepsNav.hidden = true;\n        elDone.hidden = false;\n        if (res.body.ref) { elDoneRef.textContent = T.ref + String(res.body.ref).slice(0, 8).toUpperCase(); }\n        elDone.scrollIntoView({ behavior: 'smooth', block: 'center' });\n        try { $('adm-done-title').focus({ preventScroll: true }); } catch (e) {}\n      } else {\n        fail((res.body && (res.body.message || res.body.error)) || T.e_generic);\n      }\n    })\n    .catch(function(){ fail(T.e_network); });\n  });\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-5719","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/glacademy.edu.my\/pt-br\/wp-json\/wp\/v2\/pages\/5719","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/glacademy.edu.my\/pt-br\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/glacademy.edu.my\/pt-br\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/glacademy.edu.my\/pt-br\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/glacademy.edu.my\/pt-br\/wp-json\/wp\/v2\/comments?post=5719"}],"version-history":[{"count":0,"href":"https:\/\/glacademy.edu.my\/pt-br\/wp-json\/wp\/v2\/pages\/5719\/revisions"}],"wp:attachment":[{"href":"https:\/\/glacademy.edu.my\/pt-br\/wp-json\/wp\/v2\/media?parent=5719"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}