{"id":46518,"date":"2026-04-15T14:25:34","date_gmt":"2026-04-15T06:25:34","guid":{"rendered":"https:\/\/natureconceptcm.com\/?page_id=46518"},"modified":"2026-09-26T18:02:11","modified_gmt":"2026-09-26T10:02:11","slug":"height-revive-365-assessment","status":"publish","type":"page","link":"https:\/\/natureconceptcm.com\/zh\/height-revive-365-assessment\/","title":{"rendered":"Height Revive 365+ Assessment"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"46518\" class=\"elementor elementor-46518\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9b6d094 e-flex e-con-boxed e-con e-parent\" data-id=\"9b6d094\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-189bbb0 elementor-widget elementor-widget-html\" data-id=\"189bbb0\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"en-MY\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Nature Concept T&amp;CM \u00b7 Child Growth Potential Check<\/title>\n<style>\n:root {\n  --cd-primary: #0b1470;\n  --cd-primary-2: #1d2b8f;\n  --cd-accent: #6f0000;\n  --cd-accent-2: #8d1717;\n  --cd-gold: #a77908;\n  --cd-bg: #f6f7fb;\n  --cd-blue-soft: #eef0ff;\n  --cd-red-soft: #fff0f0;\n  --cd-gold-soft: #fff8e4;\n  --cd-green-soft: #edf8f1;\n  --cd-text: #1b1d2d;\n  --cd-muted: #616477;\n  --cd-line: #e2e4ec;\n  --cd-white: #fff;\n  --cd-shadow: 0 14px 44px rgba(11, 20, 112, 0.10);\n  --cd-radius: 18px;\n  --cd-radius-sm: 11px;\n}\n\n* { box-sizing: border-box; margin: 0; padding: 0; }\n\nbody { background: transparent; }\n\n.cd-quiz-wrap {\n  max-width: 720px;\n  margin: 0 auto;\n  overflow: hidden;\n  position: relative;\n  border-radius: var(--cd-radius);\n  background: var(--cd-bg);\n  box-shadow: var(--cd-shadow);\n  color: var(--cd-text);\n  font-family: Inter, Arial, \"Noto Sans SC\", \"PingFang SC\", \"Microsoft YaHei\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n}\n\n.cd-progress-bar { height: 6px; background: #dedfe7; overflow: hidden; }\n.cd-progress-fill {\n  width: 0;\n  height: 100%;\n  border-radius: 0 6px 6px 0;\n  background: linear-gradient(90deg, var(--cd-primary), var(--cd-accent));\n  transition: width .35s ease;\n}\n.cd-progress-text { padding: 9px 18px 0; text-align: center; color: var(--cd-muted); font-size: 12px; font-weight: 600; }\n\n.cd-step { display: none; padding: 32px 28px; animation: cdFade .3s ease; }\n.cd-step.active { display: block; }\n@keyframes cdFade { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: none; } }\n\n.cd-hero { padding: 48px 28px 36px; text-align: center; }\n.cd-hero-badge,\n.cd-proof-badge {\n  display: inline-flex;\n  align-items: center;\n  gap: 7px;\n  padding: 7px 15px;\n  border: 1px solid rgba(11, 20, 112, .14);\n  border-radius: 999px;\n  background: var(--cd-blue-soft);\n  color: var(--cd-primary);\n  font-size: 13px;\n  font-weight: 700;\n}\n.cd-hero h1 { margin: 24px auto 16px; max-width: 620px; font-size: 28px; line-height: 1.3; }\n.cd-hero h1 span { color: var(--cd-primary); }\n.cd-hero-sub { max-width: 580px; margin: 0 auto; color: var(--cd-muted); font-size: 15px; line-height: 1.8; }\n\n.cd-delivery-card {\n  display: grid;\n  grid-template-columns: auto 1fr;\n  gap: 14px;\n  max-width: 560px;\n  margin: 24px auto 20px;\n  padding: 16px 18px;\n  border: 1px solid #d8dbea;\n  border-radius: var(--cd-radius-sm);\n  background: var(--cd-white);\n  text-align: left;\n}\n.cd-delivery-icon {\n  width: 42px;\n  height: 42px;\n  display: grid;\n  place-items: center;\n  border-radius: 11px;\n  background: var(--cd-red-soft);\n  font-size: 22px;\n}\n.cd-delivery-card strong { display: block; margin-bottom: 3px; font-size: 15px; }\n.cd-delivery-card span { color: var(--cd-muted); font-size: 13px; line-height: 1.55; }\n\n.cd-hero-stats {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  max-width: 540px;\n  margin: 0 auto 24px;\n  border: 1px solid var(--cd-line);\n  border-radius: var(--cd-radius-sm);\n  background: rgba(255,255,255,.65);\n}\n.cd-stat { padding: 13px 8px; }\n.cd-stat + .cd-stat { border-left: 1px solid var(--cd-line); }\n.cd-stat strong { display: block; color: var(--cd-primary); font-size: 17px; }\n.cd-stat span { display: block; margin-top: 2px; color: var(--cd-muted); font-size: 11px; }\n\n.cd-btn {\n  min-height: 48px;\n  padding: 13px 24px;\n  border: 0;\n  border-radius: var(--cd-radius-sm);\n  font: inherit;\n  font-size: 15px;\n  font-weight: 700;\n  cursor: pointer;\n  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;\n}\n.cd-btn:hover { transform: translateY(-1px); }\n.cd-btn:focus-visible { outline: 3px solid rgba(11,20,112,.22); outline-offset: 2px; }\n.cd-btn:disabled { cursor: not-allowed; opacity: .48; transform: none; }\n.cd-btn-primary { color: #fff; background: linear-gradient(135deg, var(--cd-primary), var(--cd-primary-2)); box-shadow: 0 7px 18px rgba(11,20,112,.20); }\n.cd-btn-secondary { border: 1px solid var(--cd-line); background: #fff; color: var(--cd-muted); }\n.cd-btn-wide { width: 100%; }\n.cd-btn-group { display: flex; justify-content: space-between; gap: 12px; margin-top: 26px; }\n.cd-hero .cd-btn { margin-top: 28px; padding-inline: 34px; font-size: 16px; }\n.cd-microcopy { margin-top: 15px; color: #7c7f8e; font-size: 12px; line-height: 1.6; }\n\n.cd-question { margin-bottom: 22px; }\n.cd-question h2 { display: flex; align-items: center; font-size: 20px; line-height: 1.45; }\n.cd-q-number { width: 29px; height: 29px; display: inline-grid; place-items: center; flex: 0 0 29px; margin-right: 10px; border-radius: 50%; background: var(--cd-primary); color: #fff; font-size: 13px; }\n.cd-q-desc { margin-top: 7px; color: var(--cd-muted); font-size: 14px; line-height: 1.65; }\n\n.cd-input-group { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }\n.cd-input-group + .cd-input-group { margin-top: 12px; }\n.cd-input-wrap label,\n.cd-form-row label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 700; }\n.cd-required { color: var(--cd-accent); }\n.cd-input-wrap input,\n.cd-input-wrap select,\n.cd-form-row input,\n.cd-form-row select {\n  width: 100%;\n  min-height: 49px;\n  padding: 12px 14px;\n  border: 2px solid var(--cd-line);\n  border-radius: var(--cd-radius-sm);\n  background: #fff;\n  color: var(--cd-text);\n  font: inherit;\n  font-size: 15px;\n}\n.cd-input-wrap input:focus,\n.cd-input-wrap select:focus,\n.cd-form-row input:focus,\n.cd-form-row select:focus { outline: 0; border-color: var(--cd-primary-2); background: #fbfbff; }\n.cd-error-field { border-color: var(--cd-accent) !important; background: var(--cd-red-soft) !important; }\n.cd-error-msg { display: none; margin-top: 5px; color: var(--cd-accent); font-size: 12px; font-weight: 600; }\n.cd-error-msg.show { display: block; }\n\n.cd-options { display: grid; gap: 10px; }\n.cd-option {\n  display: grid;\n  grid-template-columns: 24px 1fr;\n  gap: 13px;\n  align-items: center;\n  padding: 15px 17px;\n  border: 2px solid var(--cd-line);\n  border-radius: var(--cd-radius-sm);\n  background: #fff;\n  cursor: pointer;\n  transition: border-color .2s ease, background .2s ease, transform .2s ease;\n}\n.cd-option:hover { transform: translateX(2px); border-color: #9da3ce; }\n.cd-option.selected { border-color: var(--cd-primary); background: var(--cd-blue-soft); }\n.cd-check {\n  width: 22px;\n  height: 22px;\n  display: grid;\n  place-items: center;\n  border: 2px solid #c6c8d2;\n  border-radius: 50%;\n  color: transparent;\n  font-size: 0;\n  line-height: 1;\n  font-weight: 900;\n}\n.cd-option.multi .cd-check { border-radius: 6px; }\n.cd-option.selected .cd-check { border-color: var(--cd-primary); background: var(--cd-primary); color: #fff; }\n.cd-option:not(.multi).selected .cd-check::after {\n  content: '';\n  width: 8px;\n  height: 8px;\n  border-radius: 50%;\n  background: #fff;\n}\n.cd-option.multi.selected .cd-check::after {\n  content: '';\n  width: 6px;\n  height: 10px;\n  border: solid #fff;\n  border-width: 0 2px 2px 0;\n  transform: translateY(-1px) rotate(45deg);\n}\n.cd-option-title { display: block; font-size: 15px; font-weight: 700; line-height: 1.4; }\n.cd-option-desc { display: none; }\n.cd-multi-hint { margin: -7px 0 12px; color: var(--cd-muted); font-size: 12px; }\n\n.cd-tip,\n.cd-info-note {\n  margin-top: 14px;\n  padding: 12px 15px;\n  border-left: 4px solid var(--cd-primary);\n  border-radius: 0 var(--cd-radius-sm) var(--cd-radius-sm) 0;\n  background: var(--cd-blue-soft);\n  color: var(--cd-muted);\n  font-size: 13px;\n  line-height: 1.65;\n}\n.cd-tip { display: none; }\n.cd-tip.show { display: block; }\n.cd-tip strong,\n.cd-info-note strong { color: var(--cd-primary); }\n\n.cd-calculating { padding: 62px 24px; text-align: center; }\n.cd-spinner { width: 58px; height: 58px; margin: 0 auto 20px; border: 4px solid #dfe2f6; border-top-color: var(--cd-primary); border-radius: 50%; animation: cdSpin .85s linear infinite; }\n@keyframes cdSpin { to { transform: rotate(360deg); } }\n.cd-calculating h3 { margin-bottom: 8px; font-size: 20px; }\n.cd-calculating p { color: var(--cd-muted); font-size: 13px; line-height: 1.7; }\n\n.cd-step[data-step=\"8\"] { padding-top: 38px; padding-bottom: 38px; }\n.cd-result-header { margin-bottom: 24px; text-align: center; }\n.cd-result-badge { display: inline-flex; padding: 8px 18px; border-radius: 999px; font-size: 14px; font-weight: 800; }\n.cd-result-badge.gold { border: 1px solid #cbd1f2; background: var(--cd-blue-soft); color: var(--cd-primary); }\n.cd-result-badge.key { border: 1px solid #f0d08b; background: var(--cd-gold-soft); color: #795600; }\n.cd-result-badge.chase { border: 1px solid #efc2c2; background: var(--cd-red-soft); color: var(--cd-accent); }\n.cd-result-header h2 { margin: 12px 0 8px; font-size: 23px; line-height: 1.4; }\n.cd-result-header p { color: var(--cd-muted); font-size: 14px; line-height: 1.7; }\n.cd-urgency {\n  display: flex;\n  align-items: flex-start;\n  gap: 10px;\n  margin: 18px 0;\n  padding: 12px 15px;\n  border: 1px solid #efcaca;\n  border-radius: var(--cd-radius-sm);\n  background: var(--cd-red-soft);\n  color: var(--cd-accent);\n  text-align: left;\n  font-size: 13px;\n  font-weight: 700;\n  line-height: 1.55;\n}\n\n.cd-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 16px; }\n.cd-summary-card { padding: 15px; border: 1px solid var(--cd-line); border-radius: var(--cd-radius-sm); background: #fff; }\n.cd-summary-card span { display: block; color: var(--cd-muted); font-size: 12px; }\n.cd-summary-card strong { display: block; margin-top: 5px; color: var(--cd-primary); font-size: 17px; line-height: 1.35; }\n.cd-summary-card small { display: block; margin-top: 4px; color: #858795; font-size: 11px; line-height: 1.45; }\n\n.cd-period-card {\n  margin-bottom: 16px;\n  padding: 19px;\n  border: 1px solid #d7daea;\n  border-radius: var(--cd-radius);\n  background: linear-gradient(145deg, #fff, var(--cd-blue-soft));\n}\n.cd-period-top { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }\n.cd-period-label { color: var(--cd-muted); font-size: 12px; }\n.cd-period-name { display: block; margin-top: 4px; color: var(--cd-primary); font-size: 20px; }\n.cd-test-date { padding: 5px 9px; border-radius: 7px; background: #fff; color: var(--cd-muted); font-size: 11px; white-space: nowrap; }\n.cd-countdown { margin-top: 13px; padding: 11px 13px; border-radius: 9px; background: var(--cd-red-soft); color: var(--cd-accent); font-size: 14px; font-weight: 800; line-height: 1.5; }\n.cd-period-action { margin-top: 10px; color: var(--cd-muted); font-size: 13px; line-height: 1.6; }\n\n.cd-stage-track { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 16px; }\n.cd-stage-item { padding: 12px 9px; border: 1px solid var(--cd-line); border-radius: 10px; background: #fff; text-align: center; }\n.cd-stage-item.active { border-color: var(--cd-primary); background: var(--cd-blue-soft); box-shadow: inset 0 0 0 1px var(--cd-primary); }\n.cd-stage-item b { display: block; color: var(--cd-primary); font-size: 13px; }\n.cd-stage-item span { display: block; margin-top: 3px; color: var(--cd-muted); font-size: 10px; line-height: 1.4; }\n.cd-social-nudge { margin: 15px 0; padding: 13px 15px; border-radius: var(--cd-radius-sm); background: var(--cd-gold-soft); color: #684d00; font-size: 12px; font-weight: 700; line-height: 1.6; }\n\n.cd-section-title { margin: 20px 0 11px; font-size: 16px; }\n.cd-risk-cards { display: grid; gap: 10px; }\n.cd-risk-card { padding: 16px; border: 1px solid var(--cd-line); border-left: 4px solid var(--cd-primary); border-radius: var(--cd-radius-sm); background: #fff; }\n.cd-risk-card h4 { margin-bottom: 5px; font-size: 14px; }\n.cd-risk-card p { color: var(--cd-muted); font-size: 13px; line-height: 1.6; }\n.cd-risk-card span { display: inline-block; margin-top: 8px; padding: 5px 9px; border-radius: 6px; background: var(--cd-blue-soft); color: var(--cd-primary); font-size: 11px; font-weight: 700; }\n\n.cd-program-box { margin-top: 20px; padding: 23px; border-radius: var(--cd-radius); background: linear-gradient(145deg, var(--cd-primary), var(--cd-primary-2)); color: #fff; text-align: center; }\n.cd-program-box h3 { color: #fff !important; font-size: 18px; }\n.cd-program-box p { margin: 8px auto 16px; max-width: 560px; color: rgba(255,255,255,.90); font-size: 13px; line-height: 1.75; }\n.cd-program-box .cd-btn { background: #f4df9a; color: #2b2b25; }\n.cd-flow-proof { margin-top: 12px !important; color: rgba(255,255,255,.76) !important; font-size: 11px !important; }\n\n.cd-disclaimer { margin-top: 17px; padding: 13px 15px; border-left: 3px solid #b9bbc5; border-radius: 7px; background: #eeeeF2; color: #727582; font-size: 11px; line-height: 1.65; }\n\n.cd-form-box { padding: 25px; border-radius: var(--cd-radius); background: #fff; box-shadow: 0 8px 26px rgba(11,20,112,.08); }\n.cd-form-banner { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 18px; padding: 12px 14px; border: 1px solid #dfe2ef; border-radius: var(--cd-radius-sm); background: var(--cd-blue-soft); color: var(--cd-primary); font-size: 13px; font-weight: 700; line-height: 1.55; }\n.cd-form-box h3 { font-size: 19px; }\n.cd-form-desc { margin: 6px 0 18px; color: var(--cd-muted); font-size: 13px; line-height: 1.65; }\n.cd-form-row { margin-bottom: 15px; }\n.cd-form-inline { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }\n\n.cd-phone-row { display: grid; grid-template-columns: 108px 1fr; border: 2px solid var(--cd-line); border-radius: var(--cd-radius-sm); overflow: hidden; }\n.cd-phone-row:focus-within { border-color: var(--cd-primary-2); }\n.cd-phone-row.error { border-color: var(--cd-accent); background: var(--cd-red-soft); }\n.cd-phone-row select,\n.cd-phone-row input { min-width: 0; min-height: 47px; border: 0 !important; border-radius: 0 !important; }\n.cd-phone-row select { border-right: 1px solid var(--cd-line) !important; background: #f4f5f8; }\n\n.cd-privacy { display: grid; grid-template-columns: 19px 1fr; gap: 9px; align-items: flex-start; margin: 18px 0 8px; }\n.cd-privacy input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--cd-primary); }\n.cd-privacy label { color: var(--cd-muted); font-size: 12px; line-height: 1.55; }\n.cd-privacy a { color: var(--cd-primary); }\n.cd-submit-status { min-height: 20px; margin: 7px 0; color: var(--cd-accent); font-size: 12px; font-weight: 700; text-align: center; }\n\n.cd-success { padding: 45px 22px; text-align: center; }\n.cd-success-icon { width: 68px; height: 68px; display: grid; place-items: center; margin: 0 auto 17px; border-radius: 50%; background: var(--cd-green-soft); font-size: 32px; }\n.cd-success h2 { margin-bottom: 8px; font-size: 22px; }\n.cd-success p { color: var(--cd-muted); font-size: 14px; line-height: 1.75; }\n.cd-success-steps { max-width: 510px; margin: 22px auto; display: grid; gap: 9px; text-align: left; }\n.cd-success-step { display: grid; grid-template-columns: 29px 1fr; gap: 10px; align-items: center; padding: 11px 13px; border: 1px solid var(--cd-line); border-radius: 9px; background: #fff; font-size: 13px; }\n.cd-success-step b { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: var(--cd-blue-soft); color: var(--cd-primary); }\n.cd-whatsapp-btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 22px; border-radius: var(--cd-radius-sm); background: #1faf59; color: #fff; font-size: 14px; font-weight: 800; text-decoration: none; }\n\n@media (prefers-reduced-motion: reduce) {\n  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }\n}\n\n@media (max-width: 520px) {\n  .cd-step { padding: 22px 16px; }\n  .cd-hero { padding: 34px 16px 28px; }\n  .cd-hero-badge { padding: 7px 13px; font-size: 12px; }\n  .cd-hero h1 { font-size: 22px; line-height: 1.34; }\n  .cd-hero-sub { font-size: 14px; line-height: 1.65; }\n  .cd-hero .cd-btn { margin-top: 24px; }\n  .cd-hero-stats { grid-template-columns: repeat(3, 1fr); }\n  .cd-stat { padding: 10px 4px; }\n  .cd-stat strong { font-size: 15px; }\n  .cd-stat span { font-size: 10px; }\n  .cd-stat + .cd-stat { border-left: 1px solid var(--cd-line); border-top: 0; }\n  .cd-delivery-card { grid-template-columns: 38px 1fr; padding: 14px; }\n  .cd-delivery-icon { width: 38px; height: 38px; }\n  .cd-input-group,\n  .cd-form-inline,\n  .cd-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }\n  .cd-summary-card { padding: 12px 10px; }\n  .cd-summary-card strong { font-size: 15px; }\n  .cd-summary-card small { display: none; }\n  .cd-btn-group { flex-direction: column-reverse; }\n  .cd-btn-group .cd-btn { width: 100%; }\n  .cd-question h2 { font-size: 18px; }\n  .cd-question { margin-bottom: 17px; }\n  .cd-option { padding: 13px 14px; }\n  .cd-option-desc { display: none; }\n  .cd-tip { padding: 11px 13px; font-size: 12px; line-height: 1.6; }\n  .cd-form-box { padding: 20px 16px; }\n  .cd-phone-row { grid-template-columns: 96px 1fr; }\n  .cd-period-card { padding: 15px; }\n  .cd-period-name { font-size: 18px; }\n  .cd-stage-item { padding: 10px 5px; }\n  .cd-stage-item b { font-size: 11px; line-height: 1.25; }\n  .cd-step[data-step=\"8\"] { padding: 28px 16px 32px; }\n}\n\n.cd-language-bar {\n  display: flex;\n  align-items: center;\n  justify-content: flex-end;\n  gap: 7px;\n  padding: 10px 15px 0;\n  color: #8a8c99;\n  font-size: 12px;\n}\n.cd-language-btn {\n  padding: 4px 7px;\n  border: 0;\n  border-radius: 7px;\n  background: transparent;\n  color: #707382;\n  font: inherit;\n  font-weight: 700;\n  cursor: pointer;\n}\n.cd-language-btn.active { background: var(--cd-blue-soft); color: var(--cd-primary); }\n.cd-lang-zh { display: none; }\n.cd-quiz-wrap[data-language=\"zh\"] .cd-lang-en { display: none; }\n.cd-quiz-wrap[data-language=\"zh\"] .cd-lang-zh { display: inline; }\n.cd-quiz-wrap[data-language=\"en\"] .cd-lang-en { display: inline; }\n.cd-quiz-wrap[data-language=\"en\"] .cd-lang-zh { display: none; }\n@media (max-width: 520px) {\n  .cd-language-bar { padding: 8px 11px 0; }\n}\n\n<\/style>\n<\/head>\n<body>\n\n<main class=\"cd-quiz-wrap\" id=\"cdQuiz\" data-language=\"en\">\n  <div class=\"cd-language-bar\" aria-label=\"Language\"><button type=\"button\" class=\"cd-language-btn\" data-lang-button=\"en\" onclick=\"setLanguage('en')\">English<\/button><span aria-hidden=\"true\">|<\/span><button type=\"button\" class=\"cd-language-btn\" data-lang-button=\"zh\" onclick=\"setLanguage('zh')\">\u4e2d\u6587<\/button><\/div><div class=\"cd-progress-bar\"><div class=\"cd-progress-fill\" id=\"progressFill\"><\/div><\/div>\n  <div class=\"cd-progress-text\" id=\"progressText\"><span class=\"cd-lang-copy cd-lang-en\">Ready \u00b7 0%<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u51c6\u5907\u5f00\u59cb \u00b7 0%<\/span><\/div>\n\n  <section class=\"cd-step active\" data-step=\"0\">\n    <div class=\"cd-hero\">\n      <div class=\"cd-hero-badge\"><span class=\"cd-lang-copy cd-lang-en\">3-Minute Child Growth Potential Check<\/span><span class=\"cd-lang-copy cd-lang-zh\">3\u5206\u949f\u513f\u7ae5\u6210\u957f\u6f5c\u529b\u6d4b\u8bd5<\/span><\/div>\n      <h1><span class=\"cd-lang-copy cd-lang-en\">How much<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u5b69\u5b50\u8fd8\u6709\u591a\u5c11<\/span><br><span><span class=\"cd-lang-copy cd-lang-en\">growth potential<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u6210\u957f\u6f5c\u529b<\/span><\/span> <span class=\"cd-lang-copy cd-lang-en\">does your child have?<\/span><span class=\"cd-lang-copy cd-lang-zh\">\uff1f<\/span><\/h1>\n      <p class=\"cd-hero-sub\"><span class=\"cd-lang-copy cd-lang-en\">See what may need attention now - based on height changes, development stage and daily habits.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u4ece\u8eab\u9ad8\u53d8\u5316\u3001\u53d1\u80b2\u9636\u6bb5\u548c\u751f\u6d3b\u4e60\u60ef\uff0c\u770b\u770b\u5b69\u5b50\u73b0\u5728\u6700\u9700\u8981\u5173\u6ce8\u4ec0\u4e48\u3002<\/span><\/p>\n\n      <button type=\"button\" class=\"cd-btn cd-btn-primary\" onclick=\"goToStep(1)\"><span class=\"cd-lang-copy cd-lang-en\">Start Free Check \u2192<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u7acb\u5373\u514d\u8d39\u6d4b\u8bd5 \u2192<\/span><\/button>\n      <p class=\"cd-microcopy\"><span class=\"cd-lang-copy cd-lang-en\">Get personalised growth guidance right after.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u5b8c\u6210\u540e\uff0c\u5373\u523b\u67e5\u770b\u4e13\u5c5e\u6210\u957f\u5efa\u8bae\u3002<\/span><\/p>\n    <\/div>\n    <div class=\"cd-disclaimer\"><strong><span class=\"cd-lang-copy cd-lang-en\">Please note:<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8bf4\u660e\uff1a<\/span><\/strong> <span class=\"cd-lang-copy cd-lang-en\">This check is for guidance only. A clinician must assess your child's actual growth.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u6d4b\u8bd5\u7ed3\u679c\u4ec5\u4f9b\u53c2\u8003\uff0c\u5b9e\u9645\u6210\u957f\u60c5\u51b5\u4ecd\u9700\u7531\u533b\u5e08\u8bc4\u4f30\u3002<\/span><\/div>\n  <\/section>\n\n  <section class=\"cd-step\" data-step=\"1\">\n    <div class=\"cd-question\">\n      <h2><span class=\"cd-q-number\">1<\/span><span class=\"cd-lang-copy cd-lang-en\">About Your Child<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u5b69\u5b50\u7684\u57fa\u7840\u4fe1\u606f<\/span><\/h2>\n      <p class=\"cd-q-desc\"><span class=\"cd-lang-copy cd-lang-en\">Use the latest measurements you have.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8bf7\u586b\u5199\u6700\u8fd1\u4e00\u6b21\u5b9e\u9645\u91cf\u5230\u7684\u6570\u5b57\u3002<\/span><\/p>\n    <\/div>\n    <div class=\"cd-input-group\">\n      <div class=\"cd-input-wrap\">\n        <label for=\"childGender\"><span class=\"cd-lang-copy cd-lang-en\">Child's sex<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u5b69\u5b50\u6027\u522b<\/span> <span class=\"cd-required\">*<\/span><\/label>\n        <select id=\"childGender\" onchange=\"validateStep1()\">\n          <option value=\"\">Select<\/option>\n          <option value=\"boy\">Boy<\/option>\n          <option value=\"girl\">Girl<\/option>\n        <\/select>\n        <span class=\"cd-error-msg\" id=\"err-gender\"><span class=\"cd-lang-copy cd-lang-en\">Select your child's sex<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8bf7\u9009\u62e9\u5b69\u5b50\u6027\u522b<\/span><\/span>\n      <\/div>\n      <div class=\"cd-input-wrap\">\n        <label for=\"childAge\"><span class=\"cd-lang-copy cd-lang-en\">Age (years)<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u5b9e\u9645\u5e74\u9f84\uff08\u5c81\uff09<\/span><span class=\"cd-required\">*<\/span><\/label>\n        <input type=\"number\" id=\"childAge\" min=\"3\" max=\"18\" step=\"0.1\" inputmode=\"decimal\" placeholder=\"e.g. 10.5\" oninput=\"validateStep1()\">\n        <span class=\"cd-error-msg\" id=\"err-age\"><span class=\"cd-lang-copy cd-lang-en\">Enter an age between 3 and 18<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8bf7\u8f93\u5165 3\u201318 \u5c81\u4e4b\u95f4\u7684\u5e74\u9f84<\/span><\/span>\n      <\/div>\n    <\/div>\n    <div class=\"cd-input-group\">\n      <div class=\"cd-input-wrap\">\n        <label for=\"childHeight\"><span class=\"cd-lang-copy cd-lang-en\">Current height (cm)<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u5f53\u524d\u8eab\u9ad8\uff08cm\uff09<\/span><span class=\"cd-required\">*<\/span><\/label>\n        <input type=\"number\" id=\"childHeight\" min=\"80\" max=\"200\" step=\"0.1\" inputmode=\"decimal\" placeholder=\"e.g. 138.5\" oninput=\"validateStep1()\">\n        <span class=\"cd-error-msg\" id=\"err-height\"><span class=\"cd-lang-copy cd-lang-en\">Enter a height between 80 and 200 cm<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8bf7\u8f93\u5165 80\u2013200 cm \u4e4b\u95f4\u7684\u8eab\u9ad8<\/span><\/span>\n      <\/div>\n      <div class=\"cd-input-wrap\">\n        <label for=\"childWeight\"><span class=\"cd-lang-copy cd-lang-en\">Current weight (kg, optional)<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u5f53\u524d\u4f53\u91cd\uff08kg\uff0c\u9009\u586b\uff09<\/span><\/label>\n        <input type=\"number\" id=\"childWeight\" min=\"10\" max=\"120\" step=\"0.1\" inputmode=\"decimal\" placeholder=\"e.g. 32.5\" oninput=\"validateStep1()\">\n        <span class=\"cd-error-msg\" id=\"err-weight\"><span class=\"cd-lang-copy cd-lang-en\">Enter a weight between 10 and 120 kg<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8bf7\u8f93\u5165 10\u2013120 kg \u4e4b\u95f4\u7684\u4f53\u91cd<\/span><\/span>\n      <\/div>\n    <\/div>\n    <div class=\"cd-tip\" id=\"tip1\"><strong><span class=\"cd-lang-copy cd-lang-en\">Growth fact:<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u6210\u957f\u5c0f\u77e5\u8bc6\uff1a<\/span><\/strong> <span class=\"cd-lang-copy cd-lang-en\">Height gain is not steady throughout childhood. It can change noticeably before and during puberty.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u5b69\u5b50\u7684\u8eab\u9ad8\u4e0d\u662f\u5300\u901f\u53d8\u5316\uff0c\u8fdb\u5165\u9752\u6625\u671f\u524d\u540e\uff0c\u957f\u9ad8\u901f\u5ea6\u4f1a\u660e\u663e\u4e0d\u540c\u3002<\/span><\/div>\n    <div class=\"cd-btn-group\"><span><\/span><button type=\"button\" class=\"cd-btn cd-btn-primary\" id=\"btn1\" onclick=\"goToStep(2)\" disabled><span class=\"cd-lang-copy cd-lang-en\">Next \u2192<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u4e0b\u4e00\u6b65 \u2192<\/span><\/button><\/div>\n  <\/section>\n\n  <section class=\"cd-step\" data-step=\"2\">\n    <div class=\"cd-question\">\n      <h2><span class=\"cd-q-number\">2<\/span><span class=\"cd-lang-copy cd-lang-en\">Parents' Height<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u7236\u6bcd\u8eab\u9ad8\u53c2\u8003<\/span><\/h2>\n      <p class=\"cd-q-desc\"><span class=\"cd-lang-copy cd-lang-en\">Enter each parent's current height.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8bf7\u586b\u5199\u7236\u6bcd\u76ee\u524d\u7684\u5b9e\u9645\u8eab\u9ad8\u3002<\/span><\/p>\n    <\/div>\n    <div class=\"cd-input-group\">\n      <div class=\"cd-input-wrap\">\n        <label for=\"fatherHeight\"><span class=\"cd-lang-copy cd-lang-en\">Father's height (cm)<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u7236\u4eb2\u8eab\u9ad8\uff08cm\uff09<\/span><span class=\"cd-required\">*<\/span><\/label>\n        <input type=\"number\" id=\"fatherHeight\" min=\"140\" max=\"220\" step=\"0.1\" inputmode=\"decimal\" placeholder=\"e.g. 172\" oninput=\"validateStep2()\">\n        <span class=\"cd-error-msg\" id=\"err-father\"><span class=\"cd-lang-copy cd-lang-en\">Enter a height between 140 and 220 cm<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8bf7\u8f93\u5165 140\u2013220 cm \u4e4b\u95f4\u7684\u8eab\u9ad8<\/span><\/span>\n      <\/div>\n      <div class=\"cd-input-wrap\">\n        <label for=\"motherHeight\"><span class=\"cd-lang-copy cd-lang-en\">Mother's height (cm)<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u6bcd\u4eb2\u8eab\u9ad8\uff08cm\uff09<\/span><span class=\"cd-required\">*<\/span><\/label>\n        <input type=\"number\" id=\"motherHeight\" min=\"135\" max=\"205\" step=\"0.1\" inputmode=\"decimal\" placeholder=\"e.g. 160\" oninput=\"validateStep2()\">\n        <span class=\"cd-error-msg\" id=\"err-mother\"><span class=\"cd-lang-copy cd-lang-en\">Enter a height between 135 and 205 cm<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8bf7\u8f93\u5165 135\u2013205 cm \u4e4b\u95f4\u7684\u8eab\u9ad8<\/span><\/span>\n      <\/div>\n    <\/div>\n    <div class=\"cd-tip\" id=\"tip2\"><strong><span class=\"cd-lang-copy cd-lang-en\">Growth fact:<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u6210\u957f\u5c0f\u77e5\u8bc6\uff1a<\/span><\/strong> <span class=\"cd-lang-copy cd-lang-en\">Genetics influences a height range. Nutrition, sleep, activity and overall health also shape how a child grows.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u9057\u4f20\u4f1a\u5f71\u54cd\u8eab\u9ad8\u8303\u56f4\uff1b\u8425\u517b\u3001\u7761\u7720\u3001\u6d3b\u52a8\u548c\u6574\u4f53\u5065\u5eb7\uff0c\u4e5f\u4f1a\u5f71\u54cd\u5b69\u5b50\u7684\u6210\u957f\u8868\u73b0\u3002<\/span><\/div>\n    <div class=\"cd-btn-group\">\n      <button type=\"button\" class=\"cd-btn cd-btn-secondary\" onclick=\"goToStep(1)\"><span class=\"cd-lang-copy cd-lang-en\">Back<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8fd4\u56de<\/span><\/button>\n      <button type=\"button\" class=\"cd-btn cd-btn-primary\" id=\"btn2\" onclick=\"goToStep(3)\" disabled><span class=\"cd-lang-copy cd-lang-en\">Next \u2192<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u4e0b\u4e00\u6b65 \u2192<\/span><\/button>\n    <\/div>\n  <\/section>\n\n  <section class=\"cd-step\" data-step=\"3\">\n    <div class=\"cd-question\">\n      <h2><span class=\"cd-q-number\">3<\/span><span class=\"cd-lang-copy cd-lang-en\">About how much has your child grown in the past 12 months?<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8fd1 12 \u4e2a\u6708\u5927\u7ea6\u957f\u9ad8\u591a\u5c11\uff1f<\/span><\/h2>\n      <p class=\"cd-q-desc\"><span class=\"cd-lang-copy cd-lang-en\">Compare two measurements taken about 12 months apart. If you have no record, choose \u201cNot sure\u201d.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8bf7\u53c2\u8003\u76f8\u9694\u7ea6 12 \u4e2a\u6708\u7684\u4e24\u6b21\u8eab\u9ad8\u8bb0\u5f55\uff1b\u6ca1\u6709\u8bb0\u5f55\u5c31\u9009\u201c\u4e0d\u786e\u5b9a\u201d\u3002<\/span><\/p>\n    <\/div>\n    <div class=\"cd-options\">\n      <div class=\"cd-option\" onclick=\"selectOption(this,'growth','slow')\"><span class=\"cd-check\">\u2713<\/span><span><span class=\"cd-option-title\"><span class=\"cd-lang-copy cd-lang-en\">Less than 4 cm<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u4e0d\u5230 4 cm<\/span><\/span><span class=\"cd-option-desc\"><span class=\"cd-lang-copy cd-lang-en\">The recorded growth rate may be slow<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u589e\u901f\u504f\u6162\uff0c\u9700\u8981\u4f18\u5148\u6838\u5bf9\u91cf\u5ea6\u8bb0\u5f55\u4e0e\u6210\u957f\u72b6\u51b5<\/span><\/span><\/span><\/div>\n      <div class=\"cd-option\" onclick=\"selectOption(this,'growth','borderline')\"><span class=\"cd-check\">\u2713<\/span><span><span class=\"cd-option-title\"><span class=\"cd-lang-copy cd-lang-en\">About 4-5 cm<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u7ea6 4\u20135 cm<\/span><\/span><span class=\"cd-option-desc\"><span class=\"cd-lang-copy cd-lang-en\">Review together with age, stage and consistent records<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u5efa\u8bae\u7ed3\u5408\u5e74\u9f84\u3001\u53d1\u80b2\u9636\u6bb5\u4e0e\u8fde\u7eed\u8bb0\u5f55\u8fdb\u4e00\u6b65\u770b<\/span><\/span><\/span><\/div>\n      <div class=\"cd-option\" onclick=\"selectOption(this,'growth','expected')\"><span class=\"cd-check\">\u2713<\/span><span><span class=\"cd-option-title\"><span class=\"cd-lang-copy cd-lang-en\">About 5-8 cm<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u7ea6 5\u20138 cm<\/span><\/span><span class=\"cd-option-desc\"><span class=\"cd-lang-copy cd-lang-en\">There is recent growth; stage still matters<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u76ee\u524d\u6709\u6210\u957f\u8fdb\u5c55\uff0c\u4ecd\u9700\u770b\u53d1\u80b2\u9636\u6bb5\u662f\u5426\u5339\u914d<\/span><\/span><\/span><\/div>\n      <div class=\"cd-option\" onclick=\"selectOption(this,'growth','rapid')\"><span class=\"cd-check\">\u2713<\/span><span><span class=\"cd-option-title\"><span class=\"cd-lang-copy cd-lang-en\">More than 8 cm<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8d85\u8fc7 8 cm<\/span><\/span><span class=\"cd-option-desc\"><span class=\"cd-lang-copy cd-lang-en\">Growth is noticeable; check whether puberty has accelerated<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8fd1\u671f\u589e\u901f\u660e\u663e\uff0c\u5e94\u540c\u65f6\u786e\u8ba4\u662f\u5426\u8fdb\u5165\u5feb\u901f\u53d1\u80b2\u671f<\/span><\/span><\/span><\/div>\n      <div class=\"cd-option\" onclick=\"selectOption(this,'growth','unknown')\"><span class=\"cd-check\">\u2713<\/span><span><span class=\"cd-option-title\"><span class=\"cd-lang-copy cd-lang-en\">Not sure \/ no consistent records<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u4e0d\u786e\u5b9a\uff0f\u6ca1\u6709\u8fde\u7eed\u8bb0\u5f55<\/span><\/span><span class=\"cd-option-desc\"><span class=\"cd-lang-copy cd-lang-en\">Start recording now for a clearer comparison later<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u4ece\u73b0\u5728\u5f00\u59cb\u8bb0\u5f55\uff0c\u4e4b\u540e\u624d\u5bb9\u6613\u6bd4\u8f83<\/span><\/span><\/span><\/div>\n    <\/div>\n    <div class=\"cd-tip\" id=\"tip3\"><strong><span class=\"cd-lang-copy cd-lang-en\">Growth fact:<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u6210\u957f\u5c0f\u77e5\u8bc6\uff1a<\/span><\/strong> <span class=\"cd-lang-copy cd-lang-en\">A series of measurements tells us more than one height. Measure the same way and around the same time.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8fde\u7eed\u8bb0\u5f55\u6bd4\u5355\u6b21\u8eab\u9ad8\u66f4\u6709\u53c2\u8003\u6027\uff1b\u56fa\u5b9a\u65f6\u95f4\u3001\u56fa\u5b9a\u65b9\u5f0f\u91cf\u5ea6\uff0c\u66f4\u5bb9\u6613\u770b\u51fa\u53d8\u5316\u3002<\/span><\/div>\n    <div class=\"cd-btn-group\">\n      <button type=\"button\" class=\"cd-btn cd-btn-secondary\" onclick=\"goToStep(2)\"><span class=\"cd-lang-copy cd-lang-en\">Back<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8fd4\u56de<\/span><\/button>\n      <button type=\"button\" class=\"cd-btn cd-btn-primary\" id=\"btn3\" onclick=\"goToStep(4)\" disabled><span class=\"cd-lang-copy cd-lang-en\">Next \u2192<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u4e0b\u4e00\u6b65 \u2192<\/span><\/button>\n    <\/div>\n  <\/section>\n\n  <section class=\"cd-step\" data-step=\"4\">\n    <div class=\"cd-question\">\n      <h2><span class=\"cd-q-number\">4<\/span><span class=\"cd-lang-copy cd-lang-en\">Which development stage best matches your child?<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u5b69\u5b50\u76ee\u524d\u7684\u53d1\u80b2\u9636\u6bb5<\/span><\/h2>\n      <p class=\"cd-q-desc\" id=\"pubertyDesc\"><span class=\"cd-lang-copy cd-lang-en\">Choose the option that best matches what you have noticed.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u6309\u60a8\u89c2\u5bdf\u5230\u7684\u53d8\u5316\u9009\u62e9\u5373\u53ef\u3002<\/span><\/p>\n    <\/div>\n    <div class=\"cd-options\">\n      <div class=\"cd-option\" onclick=\"selectOption(this,'puberty','none')\"><span class=\"cd-check\">\u2713<\/span><span><span class=\"cd-option-title\"><span class=\"cd-lang-copy cd-lang-en\">No obvious signs yet<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u5c1a\u672a\u51fa\u73b0\u660e\u663e\u53d1\u80b2\u5f81\u8c61<\/span><\/span><span class=\"cd-option-desc\"><span class=\"cd-lang-copy cd-lang-en\">No noticeable physical changes yet<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u5916\u89c2\u4e0e\u8fc7\u53bb\u5dee\u5f02\u4e0d\u5927<\/span><\/span><\/span><\/div>\n      <div class=\"cd-option\" onclick=\"selectOption(this,'puberty','starting')\"><span class=\"cd-check\">\u2713<\/span><span><span class=\"cd-option-title\"><span class=\"cd-lang-copy cd-lang-en\">Changes started within the past year<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u6700\u8fd1\u4e00\u5e74\u5f00\u59cb\u51fa\u73b0\u53d8\u5316<\/span><\/span><span class=\"cd-option-desc\"><span class=\"cd-lang-copy cd-lang-en\">Early signs of puberty have appeared<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u521a\u8fdb\u5165\u53d1\u80b2\u8d77\u6b65\u9636\u6bb5<\/span><\/span><\/span><\/div>\n      <div class=\"cd-option\" onclick=\"selectOption(this,'puberty','established')\"><span class=\"cd-check\">\u2713<\/span><span><span class=\"cd-option-title\"><span class=\"cd-lang-copy cd-lang-en\">Changes have continued for 1-2 years<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u53d8\u5316\u5df2\u7ecf\u6301\u7eed 1\u20132 \u5e74<\/span><\/span><span class=\"cd-option-desc\"><span class=\"cd-lang-copy cd-lang-en\">Puberty signs are established; review the remaining growth window<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u53d1\u80b2\u7279\u5f81\u8f83\u660e\u663e\uff0c\u6210\u957f\u7a97\u53e3\u9700\u8981\u5177\u4f53\u786e\u8ba4<\/span><\/span><\/span><\/div>\n      <div class=\"cd-option\" onclick=\"selectOption(this,'puberty','mature')\"><span class=\"cd-check\">\u2713<\/span><span><span class=\"cd-option-title\"><span class=\"cd-lang-copy cd-lang-en\">Seems close to physical maturity<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u611f\u89c9\u5df2\u63a5\u8fd1\u6210\u719f<\/span><\/span><span class=\"cd-option-desc\"><span class=\"cd-lang-copy cd-lang-en\">Physical changes seem to be slowing<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8fd1\u671f\u8eab\u5f62\u53d8\u5316\u8d8b\u7f13\uff0c\u5efa\u8bae\u4f18\u5148\u7531\u533b\u5e08\u8bc4\u4f30<\/span><\/span><\/span><\/div>\n      <div class=\"cd-option\" onclick=\"selectOption(this,'puberty','unknown')\"><span class=\"cd-check\">\u2713<\/span><span><span class=\"cd-option-title\"><span class=\"cd-lang-copy cd-lang-en\">Not sure<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u4e0d\u786e\u5b9a<\/span><\/span><span class=\"cd-option-desc\"><span class=\"cd-lang-copy cd-lang-en\">A clinician can help clarify this<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u9762\u5bf9\u9762\u54a8\u8be2\u65f6\u518d\u4e86\u89e3<\/span><\/span><\/span><\/div>\n    <\/div>\n    <div class=\"cd-tip\" id=\"tip4\"><strong><span class=\"cd-lang-copy cd-lang-en\">Growth fact:<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u6210\u957f\u5c0f\u77e5\u8bc6\uff1a<\/span><\/strong> <span class=\"cd-lang-copy cd-lang-en\">Puberty often includes a faster growth phase. As physical maturity progresses, height gain usually begins to slow.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u9752\u6625\u671f\u4f1a\u51fa\u73b0\u4e00\u6bb5\u957f\u9ad8\u52a0\u901f\u671f\uff1b\u968f\u7740\u53d1\u80b2\u9010\u6e10\u6210\u719f\uff0c\u6210\u957f\u901f\u5ea6\u901a\u5e38\u4e5f\u4f1a\u6162\u4e0b\u6765\u3002<\/span><\/div>\n    <div class=\"cd-btn-group\">\n      <button type=\"button\" class=\"cd-btn cd-btn-secondary\" onclick=\"goToStep(3)\"><span class=\"cd-lang-copy cd-lang-en\">Back<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8fd4\u56de<\/span><\/button>\n      <button type=\"button\" class=\"cd-btn cd-btn-primary\" id=\"btn4\" onclick=\"goToStep(5)\" disabled><span class=\"cd-lang-copy cd-lang-en\">Next \u2192<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u4e0b\u4e00\u6b65 \u2192<\/span><\/button>\n    <\/div>\n  <\/section>\n\n  <section class=\"cd-step\" data-step=\"5\">\n    <div class=\"cd-question\">\n      <h2><span class=\"cd-q-number\">5<\/span><span class=\"cd-lang-copy cd-lang-en\">Which factors may be affecting growth lately?<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8fd1\u671f\u6709\u54ea\u4e9b\u6210\u957f\u5f71\u54cd\u56e0\u7d20\uff1f<\/span><\/h2>\n      <p class=\"cd-q-desc\"><span class=\"cd-lang-copy cd-lang-en\">Select all that apply.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u53ef\u591a\u9009\uff0c\u9009\u62e9\u6240\u6709\u7b26\u5408\u5b69\u5b50\u7684\u60c5\u51b5\u3002<\/span><\/p>\n    <\/div>\n    <p class=\"cd-multi-hint\"><span class=\"cd-lang-copy cd-lang-en\">Choose at least one. Select the last option if none apply.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u81f3\u5c11\u9009\u62e9 1 \u9879\uff1b\u82e5\u90fd\u6ca1\u6709\uff0c\u8bf7\u9009\u62e9\u6700\u540e\u4e00\u9879\u3002<\/span><\/p>\n    <div class=\"cd-options\" id=\"habitOptions\">\n      <div class=\"cd-option multi\" data-value=\"sleep\" onclick=\"toggleMulti(this,'habits','sleep')\"><span class=\"cd-check\">\u2713<\/span><span><span class=\"cd-option-title\"><span class=\"cd-lang-copy cd-lang-en\">\ud83c\udf19 Often sleeps late \/ sleep is unsettled<\/span><span class=\"cd-lang-copy cd-lang-zh\">\ud83c\udf19 \u7ecf\u5e38\u665a\u7761\uff0f\u7761\u7720\u4e0d\u7a33<\/span><\/span><span class=\"cd-option-desc\"><span class=\"cd-lang-copy cd-lang-en\">Late bedtime, night waking or an inconsistent routine<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u5165\u7761\u665a\u3001\u591c\u9192\u6216\u4f5c\u606f\u4e0d\u56fa\u5b9a<\/span><\/span><\/span><\/div>\n      <div class=\"cd-option multi\" data-value=\"diet\" onclick=\"toggleMulti(this,'habits','diet')\"><span class=\"cd-check\">\u2713<\/span><span><span class=\"cd-option-title\"><span class=\"cd-lang-copy cd-lang-en\">\ud83c\udf7d\ufe0f Picky eating \/ appetite, digestion or bowel issues<\/span><span class=\"cd-lang-copy cd-lang-zh\">\ud83c\udf7d\ufe0f \u6311\u98df\uff0f\u80c3\u53e3\u6216\u6392\u4fbf\u56f0\u6270<\/span><\/span><span class=\"cd-option-desc\"><span class=\"cd-lang-copy cd-lang-en\">Limited diet, bloating, constipation or changing appetite<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u996e\u98df\u5355\u4e00\u3001\u8179\u80c0\u3001\u4fbf\u79d8\u6216\u98df\u6b32\u4e0d\u7a33<\/span><\/span><\/span><\/div>\n      <div class=\"cd-option multi\" data-value=\"exercise\" onclick=\"toggleMulti(this,'habits','exercise')\"><span class=\"cd-check\">\u2713<\/span><span><span class=\"cd-option-title\"><span class=\"cd-lang-copy cd-lang-en\">\ud83c\udfc3 Not enough physical activity<\/span><span class=\"cd-lang-copy cd-lang-zh\">\ud83c\udfc3 \u6d3b\u52a8\u91cf\u4e0d\u8db3<\/span><\/span><span class=\"cd-option-desc\"><span class=\"cd-lang-copy cd-lang-en\">Long sitting time, little outdoor play or no regular exercise<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u4e45\u5750\u3001\u6237\u5916\u6d3b\u52a8\u5c11\u6216\u6ca1\u6709\u89c4\u5f8b\u8fd0\u52a8<\/span><\/span><\/span><\/div>\n      <div class=\"cd-option multi\" data-value=\"stress\" onclick=\"toggleMulti(this,'habits','stress')\"><span class=\"cd-check\">\u2713<\/span><span><span class=\"cd-option-title\"><span class=\"cd-lang-copy cd-lang-en\">\ud83d\ude1f Noticeable school or emotional stress<\/span><span class=\"cd-lang-copy cd-lang-zh\">\ud83d\ude1f \u5b66\u4e1a\u6216\u60c5\u7eea\u538b\u529b\u660e\u663e<\/span><\/span><span class=\"cd-option-desc\"><span class=\"cd-lang-copy cd-lang-en\">Anxiety, tension or difficulty adjusting lately<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u7126\u8651\u3001\u7cbe\u795e\u7d27\u7ef7\u6216\u8fd1\u671f\u9002\u5e94\u56f0\u96be<\/span><\/span><\/span><\/div>\n      <div class=\"cd-option multi\" data-value=\"sick\" onclick=\"toggleMulti(this,'habits','sick')\"><span class=\"cd-check\">\u2713<\/span><span><span class=\"cd-option-title\"><span class=\"cd-lang-copy cd-lang-en\">\ud83e\udd27 Often unwell or slow to recover<\/span><span class=\"cd-lang-copy cd-lang-zh\">\ud83e\udd27 \u7ecf\u5e38\u751f\u75c5\u6216\u4f53\u529b\u6062\u590d\u6162<\/span><\/span><span class=\"cd-option-desc\"><span class=\"cd-lang-copy cd-lang-en\">Frequent discomfort affects school, activity or appetite<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u53cd\u590d\u4e0d\u9002\u5f71\u54cd\u4e0a\u5b66\u3001\u8fd0\u52a8\u6216\u98df\u6b32<\/span><\/span><\/span><\/div>\n      <div class=\"cd-option multi\" data-value=\"none\" onclick=\"toggleMulti(this,'habits','none')\"><span class=\"cd-check\">\u2713<\/span><span><span class=\"cd-option-title\"><span class=\"cd-lang-copy cd-lang-en\">\u2705 None of the above<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u2705 \u4ee5\u4e0a\u90fd\u6ca1\u6709<\/span><\/span><span class=\"cd-option-desc\"><span class=\"cd-lang-copy cd-lang-en\">Sleep, eating, activity and mood are currently steady<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u76ee\u524d\u4f5c\u606f\u3001\u996e\u98df\u3001\u6d3b\u52a8\u4e0e\u7cbe\u795e\u72b6\u6001\u8f83\u7a33\u5b9a<\/span><\/span><\/span><\/div>\n    <\/div>\n    <div class=\"cd-tip\" id=\"tip5\"><strong><span class=\"cd-lang-copy cd-lang-en\">Growth fact:<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u6210\u957f\u5c0f\u77e5\u8bc6\uff1a<\/span><\/strong> <span class=\"cd-lang-copy cd-lang-en\">Consistent sleep, balanced nutrition and regular activity support healthy growth.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u89c4\u5f8b\u7761\u7720\u3001\u5747\u8861\u996e\u98df\u548c\u9002\u91cf\u6d3b\u52a8\uff0c\u90fd\u662f\u5b69\u5b50\u6b63\u5e38\u6210\u957f\u7684\u91cd\u8981\u57fa\u7840\u3002<\/span><\/div>\n    <div class=\"cd-btn-group\">\n      <button type=\"button\" class=\"cd-btn cd-btn-secondary\" onclick=\"goToStep(4)\"><span class=\"cd-lang-copy cd-lang-en\">Back<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8fd4\u56de<\/span><\/button>\n      <button type=\"button\" class=\"cd-btn cd-btn-primary\" id=\"btn5\" onclick=\"goToStep(6)\" disabled><span class=\"cd-lang-copy cd-lang-en\">Next \u2192<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u4e0b\u4e00\u6b65 \u2192<\/span><\/button>\n    <\/div>\n  <\/section>\n\n  <section class=\"cd-step\" data-step=\"6\">\n    <div class=\"cd-question\">\n      <h2><span class=\"cd-q-number\">6<\/span><span class=\"cd-lang-copy cd-lang-en\">What would you like help with first?<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u60a8\u73b0\u5728\u6700\u60f3\u5148\u89e3\u51b3\u4ec0\u4e48\uff1f<\/span><\/h2>\n      <p class=\"cd-q-desc\"><span class=\"cd-lang-copy cd-lang-en\">Choose the one that matters most to you.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u9009\u62e9\u60a8\u6700\u60f3\u5148\u4e86\u89e3\u7684\u65b9\u5411\u3002<\/span><\/p>\n    <\/div>\n    <div class=\"cd-options\">\n      <div class=\"cd-option\" onclick=\"selectOption(this,'worry','height')\"><span class=\"cd-check\">\u2713<\/span><span><span class=\"cd-option-title\"><span class=\"cd-lang-copy cd-lang-en\">\ud83d\udccf Worried my child is shorter than peers<\/span><span class=\"cd-lang-copy cd-lang-zh\">\ud83d\udccf \u62c5\u5fc3\u8eab\u9ad8\u843d\u540e\u540c\u9f84\u5b69\u5b50<\/span><\/span><span class=\"cd-option-desc\"><span class=\"cd-lang-copy cd-lang-en\">Want to know whether further review is needed<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u60f3\u786e\u8ba4\u662f\u5426\u9700\u8981\u8fdb\u4e00\u6b65\u68c0\u67e5\u6216\u7ba1\u7406<\/span><\/span><\/span><\/div>\n      <div class=\"cd-option\" onclick=\"selectOption(this,'worry','puberty')\"><span class=\"cd-check\">\u2713<\/span><span><span class=\"cd-option-title\"><span class=\"cd-lang-copy cd-lang-en\">\u23f3 Worried about missing a key growth window<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u23f3 \u62c5\u5fc3\u9519\u8fc7\u6210\u957f\u5173\u952e\u65f6\u671f<\/span><\/span><span class=\"cd-option-desc\"><span class=\"cd-lang-copy cd-lang-en\">Puberty changes have started and I do not want to wait<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u5b69\u5b50\u5df2\u51fa\u73b0\u53d1\u80b2\u53d8\u5316\uff0c\u4e0d\u60f3\u7ee7\u7eed\u7b49\u5f85<\/span><\/span><\/span><\/div>\n      <div class=\"cd-option\" onclick=\"selectOption(this,'worry','constitution')\"><span class=\"cd-check\">\u2713<\/span><span><span class=\"cd-option-title\"><span class=\"cd-lang-copy cd-lang-en\">\ud83c\udf3f Want to strengthen overall health and growth foundations<\/span><span class=\"cd-lang-copy cd-lang-zh\">\ud83c\udf3f \u60f3\u5148\u6539\u5584\u4f53\u8d28\u4e0e\u6210\u957f\u57fa\u7840<\/span><\/span><span class=\"cd-option-desc\"><span class=\"cd-lang-copy cd-lang-en\">Sleep, eating, activity or recovery needs a clearer plan<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u7761\u7720\u3001\u996e\u98df\u3001\u8fd0\u52a8\u6216\u6062\u590d\u529b\u9700\u8981\u7cfb\u7edf\u8c03\u6574<\/span><\/span><\/span><\/div>\n      <div class=\"cd-option\" onclick=\"selectOption(this,'worry','plan')\"><span class=\"cd-check\">\u2713<\/span><span><span class=\"cd-option-title\"><span class=\"cd-lang-copy cd-lang-en\">\ud83d\uddd3\ufe0f Want a year-round growth management plan<\/span><span class=\"cd-lang-copy cd-lang-zh\">\ud83d\uddd3\ufe0f \u60f3\u5efa\u7acb\u5168\u5e74\u6210\u957f\u7ba1\u7406\u8ba1\u5212<\/span><\/span><span class=\"cd-option-desc\"><span class=\"cd-lang-copy cd-lang-en\">Want ongoing records, reviews and plan adjustments<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u5e0c\u671b\u6709\u4eba\u6301\u7eed\u8bb0\u5f55\u3001\u590d\u6d4b\u4e0e\u8c03\u6574\u65b9\u5411<\/span><\/span><\/span><\/div>\n    <\/div>\n    <div class=\"cd-tip\" id=\"tip6\"><strong><span class=\"cd-lang-copy cd-lang-en\">Growth fact:<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u6210\u957f\u5c0f\u77e5\u8bc6\uff1a<\/span><\/strong> <span class=\"cd-lang-copy cd-lang-en\">Keeping height records early makes it easier to see how growth changes over time.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8d8a\u65e9\u4fdd\u5b58\u8eab\u9ad8\u8bb0\u5f55\uff0c\u8d8a\u5bb9\u6613\u6bd4\u8f83\u5b69\u5b50\u5728\u4e0d\u540c\u9636\u6bb5\u7684\u6210\u957f\u8f68\u8ff9\u3002<\/span><\/div>\n    <div class=\"cd-btn-group\">\n      <button type=\"button\" class=\"cd-btn cd-btn-secondary\" onclick=\"goToStep(5)\"><span class=\"cd-lang-copy cd-lang-en\">Back<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8fd4\u56de<\/span><\/button>\n      <button type=\"button\" class=\"cd-btn cd-btn-primary\" id=\"btn6\" onclick=\"calculateAndShow()\" disabled><span class=\"cd-lang-copy cd-lang-en\">See My Guidance \u2192<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u67e5\u770b\u6211\u7684\u7ed3\u679c \u2192<\/span><\/button>\n    <\/div>\n  <\/section>\n\n  <section class=\"cd-step\" data-step=\"7\">\n    <div class=\"cd-calculating\">\n      <div class=\"cd-spinner\"><\/div>\n      <h3><span class=\"cd-lang-copy cd-lang-en\">Putting the growth clues together\u2026<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u6b63\u5728\u6574\u7406\u6210\u957f\u7ebf\u7d22\u2026<\/span><\/h3>\n      <p><span class=\"cd-lang-copy cd-lang-en\">Reviewing growth rate \u00b7 development stage \u00b7 family height \u00b7 daily factors<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u6838\u5bf9\u8fd1\u4e00\u5e74\u957f\u901f \u00b7 \u53d1\u80b2\u9636\u6bb5 \u00b7 \u5bb6\u5ead\u8eab\u9ad8 \u00b7 \u751f\u6d3b\u56e0\u7d20<\/span><\/p>\n    <\/div>\n  <\/section>\n\n  <section class=\"cd-step\" data-step=\"8\">\n    <div class=\"cd-result-header\">\n      <div class=\"cd-result-badge\" id=\"resultBadge\"><span class=\"cd-lang-copy cd-lang-en\">Now is the right time to start<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u73b0\u5728\u5f00\u59cb\u6700\u521a\u597d<\/span><\/div>\n      <h2 id=\"resultTitle\"><span class=\"cd-lang-copy cd-lang-en\">Do not wait until the next window to prepare<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u4e0d\u8981\u7b49\u5230\u4e0b\u4e00\u6b21\u624d\u51c6\u5907<\/span><\/h2>\n      <p id=\"resultSubtitle\"><span class=\"cd-lang-copy cd-lang-en\">Starting now gives you more time to prepare for the next key growth window.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u73b0\u5728\u5f00\u59cb\uff0c\u624d\u6709\u5b8c\u6574\u65f6\u95f4\u4e3a\u5173\u952e\u6210\u957f\u671f\u505a\u51c6\u5907\u3002<\/span><\/p>\n    <\/div>\n\n    <div class=\"cd-period-card\">\n      <div class=\"cd-period-top\">\n        <div><span class=\"cd-period-label\"><span class=\"cd-lang-copy cd-lang-en\">If you start now<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u73b0\u5728\u52a0\u5165\uff0c\u4ece\u8fd9\u91cc\u5f00\u59cb<\/span><\/span><strong class=\"cd-period-name\" id=\"currentPeriodName\"><span class=\"cd-lang-copy cd-lang-en\">Foundation Phase<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u84c4\u80fd\u671f<\/span><\/strong><\/div>\n        <span class=\"cd-test-date\" id=\"testDateText\">\u2014<\/span>\n      <\/div>\n      <div class=\"cd-countdown\" id=\"countdownText\"><span class=\"cd-lang-copy cd-lang-en\">Time to the next key growth window: \u2014<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8ddd\u79bb\u4e0b\u4e00\u6b21\u5173\u952e\u6210\u957f\u671f\u8fd8\u6709 \u2014 \u5929<\/span><\/div>\n      <p class=\"cd-period-action\" id=\"periodActionText\"><span class=\"cd-lang-copy cd-lang-en\">Build the foundation now, before the March \/ September window gets too close.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u73b0\u5728\u5f00\u59cb\u84c4\u80fd\uff0c\u624d\u4e0d\u4f1a\u4e34\u8fd1 3 \u6708\uff0f9 \u6708\u624d\u4ed3\u4fc3\u51c6\u5907\u3002<\/span><\/p>\n    <\/div>\n\n    <div class=\"cd-stage-track\" aria-label=\"The three Height Revive 365+ phases\">\n      <div class=\"cd-stage-item\" id=\"stagePre\"><b><span class=\"cd-lang-copy cd-lang-en\">\u2460 Foundation Phase<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u2460 \u84c4\u80fd\u671f<\/span><\/b><span><span class=\"cd-lang-copy cd-lang-en\">Build the foundation early<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8c03\u6574\u5e95\u5b50\uff0c\u63d0\u524d\u51c6\u5907<\/span><\/span><\/div>\n      <div class=\"cd-stage-item\" id=\"stageBoost\"><b><span class=\"cd-lang-copy cd-lang-en\">\u2461 Growth Support<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u2461 \u8f6c\u9aa8\u671f<\/span><\/b><span><span class=\"cd-lang-copy cd-lang-en\">Focus on Mar \/ Sep<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u628a\u63e13\u6708\uff0f9\u6708<\/span><\/span><\/div>\n      <div class=\"cd-stage-item\" id=\"stageSolid\"><b><span class=\"cd-lang-copy cd-lang-en\">\u2462 Strengthening<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u2462 \u56fa\u672c\u671f<\/span><\/b><span><span class=\"cd-lang-copy cd-lang-en\">Maintain and review<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u5de9\u56fa\u5e76\u6301\u7eed\u8ddf\u8fdb<\/span><\/span><\/div>\n    <\/div>\n\n    <div class=\"cd-urgency\"><span>\u23f1\ufe0f<\/span><span id=\"urgencyText\"><span class=\"cd-lang-copy cd-lang-en\">Your child's growth timeline will not pause while we wait.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u5b69\u5b50\u7684\u6210\u957f\u65f6\u95f4\u4e0d\u4f1a\u505c\u4e0b\u6765\u7b49\u6211\u4eec\u3002<\/span><\/span><\/div>\n\n    <div class=\"cd-summary-grid\">\n      <div class=\"cd-summary-card\"><span><span class=\"cd-lang-copy cd-lang-en\">Current height<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u73b0\u5728\u8eab\u9ad8<\/span><\/span><strong id=\"summaryHeight\">\u2014<\/strong><small><span class=\"cd-lang-copy cd-lang-en\">Latest entry<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u672c\u6b21\u586b\u5199<\/span><\/small><\/div>\n      <div class=\"cd-summary-card\"><span><span class=\"cd-lang-copy cd-lang-en\">Growth in 12 months<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8fd1\u4e00\u5e74\u957f\u901f<\/span><\/span><strong id=\"summaryGrowth\">\u2014<\/strong><small><span class=\"cd-lang-copy cd-lang-en\">Based on your records<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u4ee5\u8bb0\u5f55\u4e3a\u51c6<\/span><\/small><\/div>\n      <div class=\"cd-summary-card\"><span><span class=\"cd-lang-copy cd-lang-en\">Family height range<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u5bb6\u5ead\u8eab\u9ad8\u53c2\u8003<\/span><\/span><strong id=\"summaryTarget\">\u2014<\/strong><small><span class=\"cd-lang-copy cd-lang-en\">Not a final height guarantee<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u4e0d\u662f\u6700\u7ec8\u8eab\u9ad8\u4fdd\u8bc1<\/span><\/small><\/div>\n      <div class=\"cd-summary-card\"><span><span class=\"cd-lang-copy cd-lang-en\">Development stage<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u53d1\u80b2\u9636\u6bb5<\/span><\/span><strong id=\"summaryPuberty\">\u2014<\/strong><small><span class=\"cd-lang-copy cd-lang-en\">To be confirmed in person<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u9700\u7531\u533b\u5e08\u786e\u8ba4<\/span><\/small><\/div>\n    <\/div>\n\n    <div class=\"cd-social-nudge\" id=\"socialNudgeText\"><span class=\"cd-lang-copy cd-lang-en\">Families preparing early are already recording growth, strengthening daily routines and planning for the next key window.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u4e0d\u60f3\u843d\u540e\u7684\u5bb6\u957f\uff0c\u73b0\u5728\u5df2\u7ecf\u5f00\u59cb\u505a\u4e09\u4ef6\u4e8b\uff1a\u8bb0\u5f55\u6210\u957f\u3001\u8c03\u6574\u5e95\u5b50\u3001\u51c6\u5907\u4e0b\u4e00\u6b21\u5173\u952e\u671f\u3002<\/span><\/div>\n\n    <h3 class=\"cd-section-title\"><span class=\"cd-lang-copy cd-lang-en\">What should you do first?<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u5b69\u5b50\u73b0\u5728\u5148\u505a\u4ec0\u4e48\uff1f<\/span><\/h3>\n    <div class=\"cd-risk-cards\" id=\"riskCards\"><\/div>\n\n    <div class=\"cd-program-box\">\n      <h3 id=\"programTitle\"><span class=\"cd-lang-copy cd-lang-en\">Why start now?<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u4e3a\u4ec0\u4e48\u73b0\u5728\u5c31\u8981\u5f00\u59cb\uff1f<\/span><\/h3>\n      <p id=\"programText\"><span class=\"cd-lang-copy cd-lang-en\">Starting now gives you more time to prepare. Waiting until March \/ September leaves less time to build the foundation.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u73b0\u5728\u52a0\u5165\uff0c\u662f\u5148\u628a\u51c6\u5907\u505a\u5b8c\u6574\uff1b\u7b49\u5230 3 \u6708\uff0f9 \u6708\u624d\u5f00\u59cb\uff0c\u51c6\u5907\u65f6\u95f4\u5df2\u7ecf\u5c11\u4e86\u3002<\/span><\/p>\n      <a class=\"cd-btn\" id=\"consultWaLink\" href=\"#\" target=\"_blank\" rel=\"noopener\" style=\"display:inline-flex;align-items:center;text-decoration:none;\"><span class=\"cd-lang-copy cd-lang-en\">Book a Face-to-Face Consultation \u2192<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u5b89\u6392\u9762\u5bf9\u9762\u54a8\u8be2 \u2192<\/span><\/a>\n      <p class=\"cd-flow-proof\"><span class=\"cd-lang-copy cd-lang-en\">Face-to-face review \u2192 stage-based support \u2192 365-day follow-up<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u9762\u5bf9\u9762\u4e86\u89e3 \u2192 \u5206\u9636\u6bb5\u8c03\u7406 \u2192 365\u5929\u6301\u7eed\u8ddf\u8fdb<\/span><\/p>\n    <\/div>\n\n    <div class=\"cd-disclaimer\"><strong><span class=\"cd-lang-copy cd-lang-en\">Please note:<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8bf4\u660e\uff1a<\/span><\/strong> <span class=\"cd-lang-copy cd-lang-en\">This check does not predict final height or guarantee treatment results. A clinician must assess your child in person.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u6d4b\u8bd5\u7ed3\u679c\u4ec5\u4f9b\u53c2\u8003\uff0c\u4e0d\u4ee3\u8868\u6700\u7ec8\u8eab\u9ad8\u6216\u6cbb\u7597\u4fdd\u8bc1\uff1b\u5b9e\u9645\u60c5\u51b5\u9700\u7531\u533b\u5e08\u8bc4\u4f30\u3002<\/span><\/div>\n  <\/section>\n\n  <section class=\"cd-step\" data-step=\"9\">\n    <div class=\"cd-form-box\">\n      <div class=\"cd-form-banner\"><span>\u2713<\/span><span id=\"formBannerText\"><span class=\"cd-lang-copy cd-lang-en\">Your personalised guidance is ready<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u4e13\u5c5e\u6210\u957f\u5efa\u8bae\u5df2\u6574\u7406\u5b8c\u6210<\/span><\/span><\/div>\n      <h3><span class=\"cd-lang-copy cd-lang-en\">Where should we send the growth report?<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u4e3a\u60a8\u4fdd\u5b58\u8fd9\u6b21\u6210\u957f\u5efa\u8bae<\/span><\/h3>\n      <p class=\"cd-form-desc\"><span class=\"cd-lang-copy cd-lang-en\">Share your name and WhatsApp number so you can keep this guidance and refer to it during a consultation.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u586b\u5199\u5bb6\u957f\u79f0\u547c\u548c WhatsApp\uff0c\u5373\u53ef\u7ee7\u7eed\u67e5\u770b\uff1b\u8bda\u5fb7\u52a9\u7406\u4e5f\u4f1a\u534f\u52a9\u60a8\u4fdd\u5b58\u62a5\u544a\u3002<\/span><\/p>\n\n      <div class=\"cd-form-row\">\n        <label for=\"parentName\"><span class=\"cd-lang-copy cd-lang-en\">How should we address you?<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u5982\u4f55\u79f0\u547c\u60a8\uff1f<\/span> <span class=\"cd-required\">*<\/span><\/label>\n        <input type=\"text\" id=\"parentName\" autocomplete=\"name\" placeholder=\"e.g. Ms Tan\">\n        <span class=\"cd-error-msg\" id=\"err-pname\"><span class=\"cd-lang-copy cd-lang-en\">Enter your name<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8bf7\u8f93\u5165\u5bb6\u957f\u59d3\u540d<\/span><\/span>\n      <\/div>\n\n      <div class=\"cd-form-row\">\n        <label for=\"parentPhone\"><span class=\"cd-lang-copy cd-lang-en\">WhatsApp for the report<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u63a5\u6536\u62a5\u544a\u7684 WhatsApp<\/span> <span class=\"cd-required\">*<\/span><\/label>\n        <div class=\"cd-phone-row\" id=\"phoneGroup\">\n          <select id=\"countryCode\" aria-label=\"Country or region code\" onchange=\"updatePhonePlaceholder()\">\n            <option value=\"+60\" selected>\ud83c\uddf2\ud83c\uddfe +60<\/option>\n            <option value=\"+65\">\ud83c\uddf8\ud83c\uddec +65<\/option>\n            <option value=\"+86\">\ud83c\udde8\ud83c\uddf3 +86<\/option>\n            <option value=\"+62\">\ud83c\uddee\ud83c\udde9 +62<\/option>\n            <option value=\"+66\">\ud83c\uddf9\ud83c\udded +66<\/option>\n            <option value=\"+852\">\ud83c\udded\ud83c\uddf0 +852<\/option>\n            <option value=\"+886\">\ud83c\uddf9\ud83c\uddfc +886<\/option>\n          <\/select>\n          <input type=\"tel\" id=\"parentPhone\" autocomplete=\"tel\" inputmode=\"tel\" placeholder=\"e.g. 12-3456789\" oninput=\"validatePhone()\">\n        <\/div>\n        <span class=\"cd-error-msg\" id=\"err-phone\"><span class=\"cd-lang-copy cd-lang-en\">Enter a valid WhatsApp number<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8bf7\u8f93\u5165\u6709\u6548\u8054\u7cfb\u7535\u8bdd<\/span><\/span>\n      <\/div>\n\n      <div class=\"cd-privacy\">\n        <input type=\"checkbox\" id=\"privacyCheck\" onchange=\"togglePrivacyError()\">\n        <label for=\"privacyCheck\"><span class=\"cd-lang-copy cd-lang-en\">I agree to the<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u6211\u540c\u610f<\/span> <a href=\"https:\/\/natureconceptcm.com\/privacy-policy\/\" target=\"_blank\" rel=\"noopener\"><span class=\"cd-lang-copy cd-lang-en\">Privacy Policy<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u300a\u9690\u79c1\u653f\u7b56\u300b<\/span><\/a> <span class=\"cd-lang-copy cd-lang-en\">and allow Nature Concept T&amp;CM to send this growth guidance and follow up about a consultation via WhatsApp.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\uff0c\u5e76\u540c\u610f Nature Concept T&amp;CM \u901a\u8fc7 WhatsApp \u53d1\u9001\u6210\u957f\u5efa\u8bae\u3001\u54a8\u8be2\u53ca\u540e\u7eed\u8054\u7cfb\u3002<\/span><\/label>\n      <\/div>\n      <span class=\"cd-error-msg\" id=\"err-privacy\"><span class=\"cd-lang-copy cd-lang-en\">Please agree to the Privacy Policy<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u8bf7\u5148\u540c\u610f\u9690\u79c1\u653f\u7b56<\/span><\/span>\n      <div class=\"cd-submit-status\" id=\"submitStatus\" role=\"status\" aria-live=\"polite\"><\/div>\n\n      <button type=\"button\" class=\"cd-btn cd-btn-primary cd-btn-wide\" id=\"submitBtn\" onclick=\"submitForm()\"><span class=\"cd-lang-copy cd-lang-en\">Send &amp; View Full Guidance \u2192<\/span><span class=\"cd-lang-copy cd-lang-zh\">\u7ee7\u7eed\u67e5\u770b\u6210\u957f\u5efa\u8bae \u2192<\/span><\/button>\n      <p class=\"cd-microcopy\" style=\"text-align:center\"><span class=\"cd-lang-copy cd-lang-en\">\ud83d\udd12 Your information is protected.<\/span><span class=\"cd-lang-copy cd-lang-zh\">\ud83d\udd12 \u60a8\u7684\u8d44\u6599\u4f1a\u53d7\u5230\u4fdd\u62a4\u3002<\/span><\/p>\n    <\/div>\n  <\/section>\n<\/main>\n\n<script nowprocket>\nconst WEBHOOK_URL = '\/wp-json\/nature-concept\/v1\/height-revive-assessment';\nconst REPORT_VERSION = { en: 'height-revive-en-v1.0', zh: 'height-revive-cn-v2.3' };\nconst SOURCE_VERSION = { en: 'elementor_quiz_en_v1', zh: 'elementor_quiz_cn_v2_3' };\nlet currentLanguage = window.location.hash.toLowerCase() === '#zh' ? 'zh' : 'en';\n\nconst COPY = {\n  en: {\n    pageTitle: 'Nature Concept T&CM \u00b7 Child Growth Potential Check',\n    progress: ['Ready', 'Child details', 'Family height', 'Growth rate', 'Development', 'Daily factors', 'Main goal', 'Reviewing', 'Full guidance', 'Save report'],\n    select: 'Select', boy: 'Boy', girl: 'Girl',\n    pubertyGirl: 'Think about breast development, body hair and periods. It is okay if you are unsure.',\n    pubertyBoy: 'Think about voice changes, body hair and genital development. It is okay if you are unsure.',\n    growth: { slow: 'Less than 4 cm', borderline: 'About 4-5 cm', expected: 'About 5-8 cm', rapid: 'More than 8 cm', unknown: 'No consistent records' },\n    puberty: { none: 'No obvious signs yet', starting: 'Changes started in the past year', established: 'Changes for 1-2 years', mature: 'Seems close to maturity', unknown: 'Stage not sure' },\n    today: 'today',\n    distanceDays: days => `${days} day${days === 1 ? '' : 's'}`,\n    distanceMonths: months => `about ${months} month${months === 1 ? '' : 's'}`,\n    distanceMonthsDays: (months, days) => `about ${months} month${months === 1 ? '' : 's'} ${days} day${days === 1 ? '' : 's'}`,\n    date: date => new Intl.DateTimeFormat('en-MY', { timeZone: 'Asia\/Kuala_Lumpur', day: 'numeric', month: 'short', year: 'numeric' }).format(date),\n    month: month => month === 3 ? 'March' : 'September',\n    activePeriodName: month => `Growth Support Phase \u00b7 ${month === 3 ? 'March' : 'September'}`,\n    activeDistance: (active, next, distance) => `${active === 3 ? 'March' : 'September'} Key Growth Window is underway \u00b7 ${distance} until ${next === 3 ? 'March' : 'September'}`,\n    activeAction: 'This window has begun. Start now so a clinician can see whether your child can join this stage, or begin the Foundation Phase for the next one.',\n    activeJoin: 'The window is already moving. Starting now gives a clinician time to review this stage, then continue with Strengthening and follow-up.',\n    activeSocial: 'Families at this stage are already reviewing progress, starting Growth Support and planning the Strengthening follow-up.',\n    prepPeriodName: month => `Foundation Phase \u00b7 Preparing for ${month === 3 ? 'March' : 'September'}`,\n    prepDistance: (month, distance) => `${distance} until the ${month === 3 ? 'March' : 'September'} Key Growth Window`,\n    prepAction: month => `Children already in the programme are strengthening their foundations. New families can start with Foundation, then move into Growth Support in ${month === 3 ? 'March' : 'September'}.`,\n    prepJoin: month => `Waiting until ${month === 3 ? 'March' : 'September'} leaves less time to prepare. Start now with Foundation, move into Growth Support, then continue Strengthening across 365 days.`,\n    prepSocial: month => `Families preparing for ${month === 3 ? 'March' : 'September'} are already recording growth, strengthening daily routines and arranging a face-to-face consultation.`,\n    flags: {\n      age: 'Age is outside the core 365+ programme range', slow: 'Recorded growth in the past year may be slow', records: 'No consistent height records', early: 'Possible signs of earlier puberty', mature: 'May be approaching a later development stage'\n    },\n    urgent: { badge: 'Act while the window is open', title: 'This is not the time to wait', desc: 'Your answers show growth signals worth reviewing soon in a face-to-face consultation.', deadline: 'Arrange a consultation within 7 days', urgency: \"Your child's growth timeline will not pause. Arrange a face-to-face consultation within 7 days so you can understand the options early.\", fitCore: 'A clinician can review your child, then match the right 365+ phase.', fitOther: 'A clinician should first assess which direction suits this age.' },\n    evaluate: { badge: 'Now is the right time to start', title: 'Start now, while there is still time to prepare', desc: 'There are growth clues worth reviewing. The earlier you organise them, the more time you have to act.', deadline: 'Arrange a consultation within 30 days', urgency: 'Start recording and adjusting now, before the next key window gets too close. Arrange a consultation within 30 days.', fit: 'Review the situation first, then continue with stage-based support across 365 days.' },\n    optimise: { badge: 'A good time to build the foundation', title: 'A strong foundation starts before concerns appear', desc: 'There are no obvious warning signs in your answers. This is a good time to strengthen routines and records.', deadline: 'Start now and review again in 3 months', urgency: 'Do not wait for a gap to appear. Build the foundation and record growth now, so the next comparison has meaning.', fit: 'A good time to begin 365-day follow-up and prepare for the next key window.' },\n    reviewSignals: 'Review the growth signals first', reviewSignalsText: flags => `${flags.join('; ')}. Bring consistent records to a face-to-face consultation.`,\n    risk: {\n      sleep: ['\ud83c\udf19', 'Stabilise sleep first', 'Record bedtime, night waking and morning energy for 7 days.', 'Start recording now'],\n      diet: ['\ud83c\udf7d\ufe0f', 'Support eating and digestion', 'Record appetite, bloating and bowel movements for 7 days.', 'Start recording now'],\n      exercise: ['\ud83c\udfc3', 'Build regular activity', 'Record outdoor activity and sitting time for one week.', 'Start recording now'],\n      stress: ['\ud83d\ude1f', \"Do not overlook your child's stress\", 'Notice changes in school pressure, emotions and sleep.', 'Share this at the consultation'],\n      sick: ['\ud83e\udd27', 'Frequent illness needs context', 'List illnesses and recovery patterns from the past 6 months.', 'Share this at the consultation']\n    },\n    record: ['\ud83d\udcc8', 'Start a growth record today', 'Measure height consistently and keep school or earlier records.', 'Review again in 3 months'],\n    report: ['\ud83d\udcc4', 'Keep the full report', 'Bring the same report to your clinician so the key points are easier to discuss.', 'Next: face-to-face consultation'],\n    habits: { sleep: 'Often sleeps late \/ sleep is unsettled', diet: 'Picky eating \/ appetite, digestion or bowel issues', exercise: 'Not enough physical activity', stress: 'Noticeable school or emotional stress', sick: 'Often unwell or slow to recover' },\n    concerns: { height: 'Worried my child is shorter than peers', puberty: 'Worried about missing a key growth window', constitution: 'Want to strengthen overall health and growth foundations', plan: 'Want a year-round growth management plan' },\n    noFactors: 'None of the listed factors noticed', defaultConcern: \"Want to understand the child's growth more clearly\",\n    boostNote: 'No fixed height-gain promise; this compatibility field equals the upper end of the family target range',\n    defaultPriority1Title: 'Start recording today', defaultPriority1Text: 'Measure height consistently and keep school or earlier records.', defaultPriority1Next: 'Review again in 3 months',\n    defaultPriority2Title: 'Arrange a face-to-face review', defaultPriority2Text: 'Bring consistent records so the key points are easier to discuss.', defaultPriority2Next: 'Choose a suitable time',\n    stages: [\n      { key: 'preboost', name: 'Foundation Phase', purpose: 'Build the foundations before a key window' },\n      { key: 'boost', name: 'Growth Support Phase', purpose: 'Focus on the March \/ September Key Growth Windows' },\n      { key: 'solid', name: 'Strengthening Phase', purpose: 'Maintain the foundations and review progress' }\n    ],\n    familyNote: 'The family target range is genetic context only, not a final height prediction',\n    interpretation: 'Interpretation should include the growth curve, development assessment, bone age and any necessary checks',\n    programmeActive: 'This window has started - do not wait', programmePrep: month => `Start now to prepare for ${month === 3 ? 'March' : 'September'}`,\n    consult: result => `Hi, I completed the Child Growth Potential Check. My guidance says \u201c${result.badgeText}\u201d and the current stage is \u201c${result.currentPeriodName}\u201d. I would like to arrange a face-to-face consultation.`,\n    formBanner: 'Your personalised guidance is ready', phoneDefault: 'Enter your phone number',\n    phone: { '+60': 'e.g. 12-3456789', '+65': 'e.g. 8123-4567', '+86': 'e.g. 138-1234-5678', '+62': 'e.g. 812-3456-7890', '+66': 'e.g. 81-234-5678', '+852': 'e.g. 5123-4567', '+886': 'e.g. 912-345-678' },\n    placeholders: { age: 'e.g. 10.5', height: 'e.g. 138.5', weight: 'e.g. 32.5', father: 'e.g. 172', mother: 'e.g. 160', parent: 'e.g. Ms Tan' },\n    countryLabel: 'Country or region code', sending: 'Preparing your guidance\u2026', retry: 'Try Again \u2192', network: 'The connection is unstable. Please try again.', continueButton: 'Send & View Full Guidance \u2192'\n  },\n  zh: {\n    pageTitle: '\u8bda\u5fb7\u4e2d\u533b \u00b7 \u513f\u7ae5\u6210\u957f\u6f5c\u529b\u6d4b\u8bd5',\n    progress: ['\u51c6\u5907\u5f00\u59cb', '\u57fa\u7840\u4fe1\u606f', '\u5bb6\u5ead\u8eab\u9ad8', '\u8fd1\u4e00\u5e74\u589e\u901f', '\u53d1\u80b2\u9636\u6bb5', '\u751f\u6d3b\u56e0\u7d20', '\u6838\u5fc3\u76ee\u6807', '\u5206\u6790\u4e2d', '\u6210\u957f\u5efa\u8bae', '\u4fdd\u5b58\u5efa\u8bae'],\n    select: '\u8bf7\u9009\u62e9', boy: '\u7537\u5b69', girl: '\u5973\u5b69',\n    pubertyGirl: '\u8bf7\u53c2\u8003\u4e73\u623f\u53d1\u80b2\u3001\u4f53\u6bdb\u4e0e\u6708\u7ecf\u7b49\u53d8\u5316\uff1b\u4e0d\u786e\u5b9a\u4e5f\u53ef\u4ee5\u3002',\n    pubertyBoy: '\u8bf7\u53c2\u8003\u58f0\u97f3\u3001\u4f53\u6bdb\u4e0e\u751f\u6b96\u5668\u53d1\u80b2\u7b49\u53d8\u5316\uff1b\u4e0d\u786e\u5b9a\u4e5f\u53ef\u4ee5\u3002',\n    growth: { slow: '\u4e0d\u5230 4 cm', borderline: '\u7ea6 4\u20135 cm', expected: '\u7ea6 5\u20138 cm', rapid: '\u8d85\u8fc7 8 cm', unknown: '\u6ca1\u6709\u8fde\u7eed\u8bb0\u5f55' },\n    puberty: { none: '\u5c1a\u672a\u89c1\u660e\u663e\u5f81\u8c61', starting: '\u6700\u8fd1\u4e00\u5e74\u5f00\u59cb', established: '\u5df2\u6301\u7eed 1\u20132 \u5e74', mature: '\u89c2\u5bdf\u4e0a\u63a5\u8fd1\u6210\u719f', unknown: '\u9636\u6bb5\u4e0d\u786e\u5b9a' },\n    today: '\u4eca\u5929', distanceDays: days => `${days}\u5929`, distanceMonths: months => `\u7ea6${months}\u4e2a\u6708`, distanceMonthsDays: (months, days) => `\u7ea6${months}\u4e2a\u6708${days}\u5929`,\n    date: date => { const d = getMalaysiaDateParts(date); return `${d.year}\u5e74${d.month}\u6708${d.day}\u65e5`; },\n    month: month => `${month}\u6708`,\n    activePeriodName: month => `${month}\u6708\u8f6c\u9aa8\u671f`,\n    activeDistance: (active, next, distance) => `${active}\u6708\u5173\u952e\u6210\u957f\u671f\u6b63\u5728\u8fdb\u884c\uff5c\u8ddd\u79bb${next}\u6708\u8fd8\u6709${distance}`,\n    activeAction: '\u672c\u8f6e\u5df2\u7ecf\u5f00\u59cb\u3002\u73b0\u5728\u52a0\u5165\uff0c\u9a6c\u4e0a\u786e\u8ba4\u80fd\u5426\u8854\u63a5\u672c\u8f6e\uff1b\u5373\u4f7f\u6765\u4e0d\u53ca\uff0c\u4e5f\u80fd\u7acb\u5373\u84c4\u80fd\u51c6\u5907\u4e0b\u4e00\u8f6e\u3002',\n    activeJoin: '\u5173\u952e\u671f\u5df2\u7ecf\u5728\u8d70\uff0c\u8d8a\u8fdf\u5f00\u59cb\uff0c\u80fd\u5b8c\u6574\u51c6\u5907\u548c\u8854\u63a5\u7684\u65f6\u95f4\u8d8a\u5c11\u3002\u73b0\u5728\u52a0\u5165\uff0c\u5148\u7531\u533b\u5e08\u5224\u65ad\u5982\u4f55\u628a\u63e1\u672c\u8f6e\uff0c\u518d\u8fdb\u5165\u56fa\u672c\u6301\u7eed\u8ddf\u8fdb\u3002',\n    activeSocial: '\u540c\u9636\u6bb5\u5bb6\u957f\u73b0\u5728\u5df2\u7ecf\u5728\u505a\uff1a\u5b8c\u6210\u8bc4\u4f30\u3001\u8854\u63a5\u8f6c\u9aa8\u3001\u5b89\u6392\u4e4b\u540e\u7684\u56fa\u672c\u8ddf\u8fdb\u3002',\n    prepPeriodName: month => `\u84c4\u80fd\u671f \u00b7 \u8fce\u63a5${month}\u6708`, prepDistance: (month, distance) => `\u8ddd\u79bb${month}\u6708\u5173\u952e\u6210\u957f\u671f\u8fd8\u6709${distance}`,\n    prepAction: month => `\u5df2\u5728\u7597\u7a0b\u4e2d\u7684\u5b69\u5b50\u6b64\u65f6\u8fdb\u5165\u56fa\u672c\uff1b\u4eca\u5929\u65b0\u52a0\u5165\u5219\u5148\u84c4\u80fd\uff0c\u5230\u4e86${month}\u6708\u518d\u8854\u63a5\u8f6c\u9aa8\u671f\u3002`,\n    prepJoin: month => `\u7b49\u5230${month}\u6708\u624d\u5f00\u59cb\uff0c\u51c6\u5907\u65f6\u95f4\u5df2\u7ecf\u5c11\u4e86\u3002\u73b0\u5728\u52a0\u5165\uff0c\u5148\u84c4\u80fd\u3001\u518d\u8f6c\u9aa8\u3001\u4e4b\u540e\u56fa\u672c\uff0c\u5b8c\u6574\u8d70\u8fc7365\u5929\u3002`,\n    prepSocial: month => `\u51c6\u5907${month}\u6708\u7684\u5bb6\u957f\uff0c\u73b0\u5728\u5df2\u7ecf\u5f00\u59cb\uff1a\u8bb0\u5f55\u6210\u957f\u3001\u8c03\u6574\u5e95\u5b50\u3001\u9884\u7ea6\u9762\u5bf9\u9762\u54a8\u8be2\u3002`,\n    flags: { age: '\u5e74\u9f84\u4e0d\u5728365+\u6838\u5fc3\u8ba1\u5212\u8303\u56f4', slow: '\u8fd1\u4e00\u5e74\u589e\u901f\u504f\u6162', records: '\u7f3a\u5c11\u8fde\u7eed\u8eab\u9ad8\u8bb0\u5f55', early: '\u53ef\u80fd\u51fa\u73b0\u8f83\u65e9\u53d1\u80b2\u5f81\u8c61', mature: '\u89c2\u5bdf\u4e0a\u53ef\u80fd\u63a5\u8fd1\u53d1\u80b2\u540e\u6bb5' },\n    urgent: { badge: '\u73b0\u5728\u5c31\u8981\u628a\u63e1', title: '\u4e0d\u9002\u5408\u518d\u7ee7\u7eed\u7b49', desc: '\u5b69\u5b50\u51fa\u73b0\u9700\u8981\u5c3d\u5feb\u4e86\u89e3\u7684\u6210\u957f\u4fe1\u53f7\uff0c\u5efa\u8bae\u5148\u9762\u5bf9\u9762\u770b\u6e05\u695a\u3002', deadline: '\u5efa\u8bae 7 \u5929\u5185\u5b89\u6392\u54a8\u8be2', urgency: '\u5b69\u5b50\u7684\u6210\u957f\u65f6\u95f4\u4e0d\u4f1a\u505c\u4e0b\u6765\u3002\u5efa\u8bae 7 \u5929\u5185\u5148\u9762\u5bf9\u9762\u4e86\u89e3\uff0c\u522b\u628a\u9009\u62e9\u7559\u5230\u66f4\u540e\u9762\u3002', fitCore: '\u5148\u7531\u533b\u5e08\u4e86\u89e3\u5b69\u5b50\u60c5\u51b5\uff0c\u518d\u9a6c\u4e0a\u8854\u63a5\u9002\u5408\u7684365+\u9636\u6bb5\u3002', fitOther: '\u5e74\u9f84\u4e0d\u5728365+\u4e3b\u8981\u8303\u56f4\uff0c\u9700\u8981\u5148\u7531\u533b\u5e08\u8bc4\u4f30\u9002\u5408\u7684\u65b9\u5411\u3002' },\n    evaluate: { badge: '\u73b0\u5728\u5f00\u59cb\u6700\u521a\u597d', title: '\u73b0\u5728\u51c6\u5907\uff0c\u65f6\u95f4\u8fd8\u6765\u5f97\u53ca', desc: '\u5b69\u5b50\u5df2\u6709\u9700\u8981\u7559\u610f\u7684\u6210\u957f\u7ebf\u7d22\uff0c\u8d8a\u65e9\u6574\u7406\uff0c\u8d8a\u6709\u65f6\u95f4\u8c03\u6574\u3002', deadline: '\u5efa\u8bae 30 \u5929\u5185\u5b89\u6392\u54a8\u8be2', urgency: '\u73b0\u5728\u5f00\u59cb\u8bb0\u5f55\u548c\u8c03\u6574\uff0c\u5230\u4e86\u5173\u952e\u671f\u624d\u4e0d\u4f1a\u624b\u5fd9\u811a\u4e71\u3002\u5efa\u8bae 30 \u5929\u5185\u9762\u5bf9\u9762\u4e86\u89e3\u3002', fit: '\u5148\u4e86\u89e3\u5b69\u5b50\u60c5\u51b5\uff0c\u518d\u8854\u63a5365\u5929\u5206\u9636\u6bb5\u8ddf\u8fdb\u3002' },\n    optimise: { badge: '\u73b0\u5728\u84c4\u80fd\u6700\u6709\u5229', title: '\u57fa\u7840\u4e0d\u9519\uff0c\u66f4\u8981\u63d0\u524d\u51c6\u5907', desc: '\u73b0\u5728\u6ca1\u6709\u660e\u663e\u8b66\u8baf\uff0c\u6b63\u9002\u5408\u628a\u5e95\u5b50\u548c\u6210\u957f\u8bb0\u5f55\u5148\u505a\u597d\u3002', deadline: '\u73b0\u5728\u5f00\u59cb\uff0c3\u4e2a\u6708\u540e\u518d\u6bd4\u8f83', urgency: '\u4e0d\u8981\u7b49\u51fa\u73b0\u843d\u5dee\u624d\u5f00\u59cb\u3002\u73b0\u5728\u84c4\u80fd\u5e76\u8bb0\u5f55\uff0c\u4e0b\u4e00\u6b21\u6bd4\u8f83\u624d\u6709\u4f9d\u636e\u3002', fit: '\u9002\u5408\u73b0\u5728\u8fdb\u5165365\u5929\u6210\u957f\u8ddf\u8fdb\uff0c\u63d0\u524d\u51c6\u5907\u4e0b\u4e00\u6b21\u5173\u952e\u671f\u3002' },\n    reviewSignals: '\u5148\u4e86\u89e3\u5b69\u5b50\u7684\u6210\u957f\u4fe1\u53f7', reviewSignalsText: flags => `${flags.join('\uff1b')}\u3002\u5efa\u8bae\u7ed3\u5408\u8fde\u7eed\u8bb0\u5f55\uff0c\u518d\u9762\u5bf9\u9762\u4e86\u89e3\u3002`,\n    risk: {\n      sleep: ['\ud83c\udf19', '\u5148\u7a33\u5b9a\u7761\u7720', '\u8bb0\u5f557\u5929\u5165\u7761\u65f6\u95f4\u3001\u591c\u9192\u548c\u8d77\u5e8a\u7cbe\u795e\u3002', '\u73b0\u5728\u5f00\u59cb\u8bb0\u5f55'], diet: ['\ud83c\udf7d\ufe0f', '\u5148\u987e\u597d\u996e\u98df\u4e0e\u6d88\u5316', '\u8bb0\u5f557\u5929\u80c3\u53e3\u3001\u8179\u80c0\u548c\u6392\u4fbf\u60c5\u51b5\u3002', '\u73b0\u5728\u5f00\u59cb\u8bb0\u5f55'], exercise: ['\ud83c\udfc3', '\u589e\u52a0\u89c4\u5f8b\u6d3b\u52a8', '\u8bb0\u5f55\u4e00\u5468\u6237\u5916\u6d3b\u52a8\u548c\u4e45\u5750\u65f6\u95f4\u3002', '\u73b0\u5728\u5f00\u59cb\u8bb0\u5f55'], stress: ['\ud83d\ude1f', '\u522b\u5ffd\u7565\u5b69\u5b50\u7684\u538b\u529b', '\u7559\u610f\u5b66\u4e1a\u3001\u60c5\u7eea\u548c\u7761\u7720\u53d8\u5316\u3002', '\u54a8\u8be2\u65f6\u4e00\u8d77\u544a\u8bc9\u533b\u5e08'], sick: ['\ud83e\udd27', '\u7ecf\u5e38\u4e0d\u8212\u670d\u8981\u4e00\u8d77\u770b', '\u6574\u7406\u8fd1\u534a\u5e74\u7684\u751f\u75c5\u548c\u6062\u590d\u60c5\u51b5\u3002', '\u54a8\u8be2\u65f6\u4e00\u8d77\u544a\u8bc9\u533b\u5e08']\n    },\n    record: ['\ud83d\udcc8', '\u4ece\u4eca\u5929\u5f00\u59cb\u8bb0\u5f55', '\u56fa\u5b9a\u65b9\u5f0f\u91cf\u8eab\u9ad8\uff0c\u4fdd\u5b58\u5b66\u6821\u4f53\u68c0\u6216\u65e7\u8bb0\u5f55\u3002', '3\u4e2a\u6708\u540e\u518d\u6bd4\u8f83'], report: ['\ud83d\udcc4', '\u67e5\u770b\u5b8c\u6574\u62a5\u544a', '\u5e26\u7740\u540c\u4e00\u4efd\u6210\u957f\u62a5\u544a\u548c\u533b\u5e08\u8ba8\u8bba\uff0c\u66f4\u5feb\u4e86\u89e3\u91cd\u70b9\u3002', '\u4e0b\u4e00\u6b65\uff1a\u9762\u5bf9\u9762\u54a8\u8be2'],\n    habits: { sleep: '\u7ecf\u5e38\u665a\u7761\uff0f\u7761\u7720\u4e0d\u7a33', diet: '\u6311\u98df\uff0f\u80c3\u53e3\u6216\u6392\u4fbf\u56f0\u6270', exercise: '\u6d3b\u52a8\u91cf\u4e0d\u8db3', stress: '\u5b66\u4e1a\u6216\u60c5\u7eea\u538b\u529b\u660e\u663e', sick: '\u7ecf\u5e38\u751f\u75c5\u6216\u4f53\u529b\u6062\u590d\u6162' },\n    concerns: { height: '\u62c5\u5fc3\u8eab\u9ad8\u843d\u540e\u540c\u9f84\u5b69\u5b50', puberty: '\u62c5\u5fc3\u9519\u8fc7\u6210\u957f\u5173\u952e\u65f6\u671f', constitution: '\u60f3\u5148\u6539\u5584\u4f53\u8d28\u4e0e\u6210\u957f\u57fa\u7840', plan: '\u60f3\u5efa\u7acb\u5168\u5e74\u6210\u957f\u7ba1\u7406\u8ba1\u5212' },\n    noFactors: '\u6682\u672a\u89c2\u5bdf\u5230\u4ee5\u4e0a\u60c5\u51b5', defaultConcern: '\u5e0c\u671b\u8fdb\u4e00\u6b65\u4e86\u89e3\u5b69\u5b50\u7684\u6210\u957f\u60c5\u51b5', boostNote: 'V2\u4e0d\u63d0\u4f9b\u56fa\u5b9a\u7a81\u7834\u5398\u7c73\u627f\u8bfa\uff1b\u6b64\u517c\u5bb9\u5b57\u6bb5\u7b49\u540c\u5bb6\u65cf\u9776\u8eab\u9ad8\u53c2\u8003\u4e0a\u6cbf',\n    defaultPriority1Title: '\u4ece\u4eca\u5929\u5f00\u59cb\u8bb0\u5f55', defaultPriority1Text: '\u56fa\u5b9a\u65b9\u5f0f\u91cf\u8eab\u9ad8\uff0c\u4fdd\u5b58\u5b66\u6821\u4f53\u68c0\u6216\u65e7\u8bb0\u5f55\u3002', defaultPriority1Next: '3\u4e2a\u6708\u540e\u518d\u6bd4\u8f83', defaultPriority2Title: '\u5b89\u6392\u9762\u5bf9\u9762\u4e86\u89e3', defaultPriority2Text: '\u5e26\u7740\u8fde\u7eed\u8bb0\u5f55\u4e0e\u533b\u5e08\u8ba8\u8bba\uff0c\u66f4\u5feb\u627e\u51fa\u91cd\u70b9\u3002', defaultPriority2Next: '\u9009\u62e9\u5408\u9002\u65f6\u95f4',\n    stages: [{ key: 'preboost', name: '\u84c4\u80fd\u671f', purpose: '\u8c03\u6574\u5e95\u5b50\uff0c\u4e3a\u5173\u952e\u671f\u63d0\u524d\u51c6\u5907' }, { key: 'boost', name: '\u8f6c\u9aa8\u671f', purpose: '\u628a\u63e13\u6708\uff0f9\u6708\u5173\u952e\u6210\u957f\u671f' }, { key: 'solid', name: '\u56fa\u672c\u671f', purpose: '\u5de9\u56fa\u5e76\u6301\u7eed\u8ddf\u8fdb\u6210\u957f\u53d8\u5316' }],\n    familyNote: '\u5bb6\u65cf\u9776\u8eab\u9ad8\u4ec5\u4f5c\u9057\u4f20\u80cc\u666f\u53c2\u8003\uff0c\u4e0d\u7b49\u4e8e\u6700\u7ec8\u8eab\u9ad8\u9884\u6d4b', interpretation: '\u9700\u7ed3\u5408\u8fde\u7eed\u751f\u957f\u66f2\u7ebf\u3001\u53d1\u80b2\u8bc4\u4f30\u3001\u9aa8\u9f84\u53ca\u5fc5\u8981\u68c0\u67e5',\n    programmeActive: '\u672c\u8f6e\u5df2\u7ecf\u5f00\u59cb\uff0c\u522b\u518d\u9519\u8fc7', programmePrep: month => `\u73b0\u5728\u5f00\u59cb\uff0c\u624d\u8d76\u5f97\u4e0a${month}\u6708`,\n    consult: result => `\u60a8\u597d\uff0c\u6211\u521a\u5b8c\u6210\u513f\u7ae5\u6210\u957f\u6f5c\u529b\u6d4b\u8bd5\uff0c\u7ed3\u679c\u4e3a\u201c${result.badgeText}\u201d\uff0c\u76ee\u524d\u662f\u201c${result.currentPeriodName}\u201d\u3002\u6211\u60f3\u5b89\u6392\u9762\u5bf9\u9762\u54a8\u8be2\uff0c\u8bf7\u534f\u52a9\u6211\u3002`,\n    formBanner: '\u4e13\u5c5e\u6210\u957f\u5efa\u8bae\u5df2\u6574\u7406\u5b8c\u6210', phoneDefault: '\u8bf7\u8f93\u5165\u7535\u8bdd\u53f7\u7801',\n    phone: { '+60': '\u4f8b\u5982\uff1a12-3456789', '+65': '\u4f8b\u5982\uff1a8123-4567', '+86': '\u4f8b\u5982\uff1a138-1234-5678', '+62': '\u4f8b\u5982\uff1a812-3456-7890', '+66': '\u4f8b\u5982\uff1a81-234-5678', '+852': '\u4f8b\u5982\uff1a5123-4567', '+886': '\u4f8b\u5982\uff1a912-345-678' },\n    placeholders: { age: '\u4f8b\u5982\uff1a10.5', height: '\u4f8b\u5982\uff1a138.5', weight: '\u4f8b\u5982\uff1a32.5', father: '\u4f8b\u5982\uff1a172', mother: '\u4f8b\u5982\uff1a160', parent: '\u4f8b\u5982\uff1a\u9648\u5973\u58eb' },\n    countryLabel: '\u56fd\u5bb6\u6216\u5730\u533a\u4ee3\u7801', sending: '\u6b63\u5728\u4fdd\u5b58\u6210\u957f\u5efa\u8bae\u2026', retry: '\u91cd\u65b0\u4fdd\u5b58\u5e76\u67e5\u770b \u2192', network: '\u7f51\u7edc\u6682\u65f6\u4e0d\u7a33\u5b9a\uff0c\u8bf7\u68c0\u67e5\u540e\u91cd\u8bd5\u3002', continueButton: '\u7ee7\u7eed\u67e5\u770b\u6210\u957f\u5efa\u8bae \u2192'\n  }\n};\n\nconst state = {\n  currentStep: 0,\n  submitting: false,\n  answers: { gender: '', age: '', height: '', weight: '', fatherH: '', motherH: '', growth: '', puberty: '', habits: [], worry: '', city: '' },\n  result: {}\n};\nconst totalSteps = 6;\nconst copy = () => COPY[currentLanguage];\n\n\nfunction goToStep(step) {\n  document.querySelectorAll('.cd-step').forEach(el => el.classList.remove('active'));\n  const target = document.querySelector(`.cd-step[data-step=\"${step}\"]`);\n  if (!target) return;\n  target.classList.add('active');\n  state.currentStep = step;\n  updateProgress();\n  document.getElementById('cdQuiz').scrollIntoView({ behavior: 'smooth', block: 'start' });\n  if (step === 7) window.setTimeout(generateResult, 1200);\n  if (step === 9) prepareLeadForm();\n}\n\nfunction updateProgress() {\n  let percent = 0;\n  if (state.currentStep >= 1 && state.currentStep <= 6) percent = (state.currentStep \/ totalSteps) * 90;\n  else if (state.currentStep === 7) percent = 95;\n  else if (state.currentStep >= 8) percent = 100;\n  document.getElementById('progressFill').style.width = `${percent}%`;\n  document.getElementById('progressText').textContent = `${copy().progress[state.currentStep] || ''} \u00b7 ${Math.round(percent)}%`;\n}\n\nfunction selectOption(element, key, value) {\n  element.parentElement.querySelectorAll('.cd-option').forEach(option => option.classList.remove('selected'));\n  element.classList.add('selected');\n  state.answers[key] = value;\n  const button = document.getElementById(`btn${state.currentStep}`);\n  if (button) button.disabled = false;\n  const tip = document.getElementById(`tip${state.currentStep}`);\n  if (tip) tip.classList.add('show');\n}\n\nfunction toggleMulti(element, key, value) {\n  const options = Array.from(document.querySelectorAll('#habitOptions .cd-option'));\n  if (value === 'none') {\n    options.forEach(option => option.classList.toggle('selected', option === element));\n  } else {\n    const noneOption = options.find(option => option.dataset.value === 'none');\n    if (noneOption) noneOption.classList.remove('selected');\n    element.classList.toggle('selected');\n  }\n  state.answers[key] = options.filter(option => option.classList.contains('selected')).map(option => option.dataset.value);\n  document.getElementById('btn5').disabled = state.answers[key].length === 0;\n  document.getElementById('tip5').classList.toggle('show', state.answers[key].length > 0);\n}\n\nfunction setFieldState(fieldId, errorId, valid) {\n  const field = document.getElementById(fieldId);\n  const error = document.getElementById(errorId);\n  if (field) field.classList.toggle('cd-error-field', !valid);\n  if (error) error.classList.toggle('show', !valid);\n}\n\nfunction validateStep1() {\n  const gender = document.getElementById('childGender').value;\n  const age = Number(document.getElementById('childAge').value);\n  const height = Number(document.getElementById('childHeight').value);\n  const weightRaw = document.getElementById('childWeight').value;\n  const weight = weightRaw === '' ? '' : Number(weightRaw);\n  const genderValid = Boolean(gender);\n  const ageValid = Number.isFinite(age) && age >= 3 && age <= 18;\n  const heightValid = Number.isFinite(height) && height >= 80 && height <= 200;\n  const weightValid = weight === '' || (Number.isFinite(weight) && weight >= 10 && weight <= 120);\n  setFieldState('childGender', 'err-gender', genderValid);\n  setFieldState('childAge', 'err-age', ageValid);\n  setFieldState('childHeight', 'err-height', heightValid);\n  setFieldState('childWeight', 'err-weight', weightValid);\n  const valid = genderValid && ageValid && heightValid && weightValid;\n  document.getElementById('btn1').disabled = !valid;\n  if (!valid) return;\n  Object.assign(state.answers, { gender, age, height, weight });\n  document.getElementById('pubertyDesc').textContent = gender === 'girl' ? copy().pubertyGirl : copy().pubertyBoy;\n  document.getElementById('tip1').classList.add('show');\n}\n\nfunction validateStep2() {\n  const fatherH = Number(document.getElementById('fatherHeight').value);\n  const motherH = Number(document.getElementById('motherHeight').value);\n  const fatherValid = Number.isFinite(fatherH) && fatherH >= 140 && fatherH <= 220;\n  const motherValid = Number.isFinite(motherH) && motherH >= 135 && motherH <= 205;\n  setFieldState('fatherHeight', 'err-father', fatherValid);\n  setFieldState('motherHeight', 'err-mother', motherValid);\n  const valid = fatherValid && motherValid;\n  document.getElementById('btn2').disabled = !valid;\n  if (!valid) return;\n  Object.assign(state.answers, { fatherH, motherH });\n  document.getElementById('tip2').classList.add('show');\n}\n\nfunction getGrowthProfile(value) {\n  const levels = { slow: 3, borderline: 2, expected: 0, rapid: 1, unknown: 2 };\n  const key = Object.prototype.hasOwnProperty.call(levels, value) ? value : 'unknown';\n  return { label: copy().growth[key], level: levels[key] };\n}\n\nfunction getPubertyProfile(value) {\n  const levels = { none: 0, starting: 1, established: 2, mature: 3, unknown: 1 };\n  const key = Object.prototype.hasOwnProperty.call(levels, value) ? value : 'unknown';\n  return { label: copy().puberty[key], level: levels[key] };\n}\n\nfunction getMalaysiaDateParts(date = new Date()) {\n  const parts = new Intl.DateTimeFormat('en-CA', {\n    timeZone: 'Asia\/Kuala_Lumpur', year: 'numeric', month: '2-digit', day: '2-digit'\n  }).formatToParts(date).reduce((result, item) => {\n    if (item.type !== 'literal') result[item.type] = Number(item.value);\n    return result;\n  }, {});\n  return { year: parts.year, month: parts.month, day: parts.day };\n}\n\nfunction formatDistance(days) {\n  if (days <= 0) return copy().today;\n  const months = Math.floor(days \/ 30);\n  const restDays = days % 30;\n  if (months === 0) return copy().distanceDays(days);\n  if (restDays === 0) return copy().distanceMonths(months);\n  return copy().distanceMonthsDays(months, restDays);\n}\n\nfunction getProgramPeriod(date = new Date()) {\n  const today = getMalaysiaDateParts(date);\n  const todayUtc = Date.UTC(today.year, today.month - 1, today.day);\n  const inMarchCycle = today.month >= 3 && today.month <= 5;\n  const inSeptemberCycle = today.month >= 9 && today.month <= 11;\n  let nextYear = today.year;\n  let nextMonth;\n  if (today.month < 3) nextMonth = 3;\n  else if (today.month < 9) nextMonth = 9;\n  else { nextMonth = 3; nextYear += 1; }\n  const nextKeyUtc = Date.UTC(nextYear, nextMonth - 1, 1);\n  const daysToNextKey = Math.max(0, Math.ceil((nextKeyUtc - todayUtc) \/ 86400000));\n  const isoDate = `${today.year}-${String(today.month).padStart(2, '0')}-${String(today.day).padStart(2, '0')}`;\n  const testDateText = copy().date(date);\n  const nextKeyDate = `${nextYear}-${String(nextMonth).padStart(2, '0')}-01`;\n  if (inMarchCycle || inSeptemberCycle) {\n    const activeMonth = inMarchCycle ? 3 : 9;\n    return { stageKey: 'boost', periodCode: `boost_${activeMonth}`, currentPeriodName: copy().activePeriodName(activeMonth), testDate: isoDate, testDateText, nextKeyMonth: nextMonth, nextKeyDate, daysToNextKey, distanceText: copy().activeDistance(activeMonth, nextMonth, formatDistance(daysToNextKey)), periodAction: copy().activeAction, joinNowReason: copy().activeJoin, socialNudge: copy().activeSocial };\n  }\n  return { stageKey: 'preboost', periodCode: `preboost_${nextMonth}`, currentPeriodName: copy().prepPeriodName(nextMonth), testDate: isoDate, testDateText, nextKeyMonth: nextMonth, nextKeyDate, daysToNextKey, distanceText: copy().prepDistance(nextMonth, formatDistance(daysToNextKey)), periodAction: copy().prepAction(nextMonth), joinNowReason: copy().prepJoin(nextMonth), socialNudge: copy().prepSocial(nextMonth) };\n}\n\nfunction getDecision(answers) {\n  const growth = getGrowthProfile(answers.growth);\n  const puberty = getPubertyProfile(answers.puberty);\n  const risks = answers.habits.filter(item => item !== 'none');\n  const girl = answers.gender === 'girl';\n  const coreAge = answers.age >= 8 && answers.age <= 16;\n  const earlyPuberty = answers.puberty !== 'none' && answers.puberty !== 'unknown' && answers.age < (girl ? 8 : 9);\n  const laterAge = answers.age >= (girl ? 13 : 15);\n  const flags = [];\n  if (!coreAge) flags.push(copy().flags.age);\n  if (answers.growth === 'slow') flags.push(copy().flags.slow);\n  if (answers.growth === 'unknown') flags.push(copy().flags.records);\n  if (earlyPuberty) flags.push(copy().flags.early);\n  if (answers.puberty === 'mature') flags.push(copy().flags.mature);\n  const urgent = !coreAge || earlyPuberty || answers.growth === 'slow' || answers.puberty === 'mature' || (laterAge && puberty.level >= 2);\n  const evaluate = growth.level >= 2 || puberty.level >= 2 || laterAge || risks.length >= 2 || ['height', 'puberty'].includes(answers.worry);\n  if (urgent) return { actionLevel: 'urgent', phase: 'chase', phaseClass: 'chase', badgeText: copy().urgent.badge, phaseTitle: copy().urgent.title, phaseDesc: copy().urgent.desc, deadline: copy().urgent.deadline, urgencyText: copy().urgent.urgency, programFit: coreAge ? copy().urgent.fitCore : copy().urgent.fitOther, flags };\n  if (evaluate) return { actionLevel: 'evaluate', phase: 'key', phaseClass: 'key', badgeText: copy().evaluate.badge, phaseTitle: copy().evaluate.title, phaseDesc: copy().evaluate.desc, deadline: copy().evaluate.deadline, urgencyText: copy().evaluate.urgency, programFit: copy().evaluate.fit, flags };\n  return { actionLevel: 'optimise', phase: 'gold', phaseClass: 'gold', badgeText: copy().optimise.badge, phaseTitle: copy().optimise.title, phaseDesc: copy().optimise.desc, deadline: copy().optimise.deadline, urgencyText: copy().optimise.urgency, programFit: copy().optimise.fit, flags };\n}\n\nfunction getRiskCards(answers, decision) {\n  const cards = [];\n  if (decision.flags.length) cards.push({ icon: '\ud83d\udd0e', title: copy().reviewSignals, text: copy().reviewSignalsText(decision.flags), next: decision.deadline });\n  answers.habits.filter(item => item !== 'none').forEach(item => {\n    const risk = copy().risk[item];\n    if (risk) cards.push({ icon: risk[0], title: risk[1], text: risk[2], next: risk[3] });\n  });\n  if (!cards.length) { const item = copy().record; cards.push({ icon: item[0], title: item[1], text: item[2], next: item[3] }); }\n  const report = copy().report;\n  cards.push({ icon: report[0], title: report[1], text: report[2], next: report[3] });\n  return cards.slice(0, 2);\n}\n\nfunction getParentContext(answers) {\n  const selected = answers.habits.filter(item => item !== 'none').map(item => copy().habits[item]).filter(Boolean);\n  return { observedFactorsText: selected.length ? selected.join(currentLanguage === 'zh' ? '\u3001' : '; ') : copy().noFactors, parentConcernLabel: copy().concerns[answers.worry] || copy().defaultConcern };\n}\n\nfunction calculateAndShow() { goToStep(7); }\n\nfunction buildResult() {\n  const answers = state.answers;\n  const targetMid = answers.gender === 'boy' ? (answers.fatherH + answers.motherH + 13) \/ 2 : (answers.fatherH + answers.motherH - 13) \/ 2;\n  const targetMin = targetMid - 8.5;\n  const targetMax = targetMid + 8.5;\n  const growth = getGrowthProfile(answers.growth);\n  const puberty = getPubertyProfile(answers.puberty);\n  const decision = getDecision(answers);\n  const period = getProgramPeriod();\n  const risks = getRiskCards(answers, decision).map(item => ({ ...item, tcm: item.next }));\n  const parentContext = getParentContext(answers);\n  return {\n    targetMid, targetMin, targetMax, boostPotential: targetMax, boostPotentialNote: copy().boostNote,\n    phase: decision.phase, phaseClass: decision.phaseClass, phaseTitle: decision.phaseTitle, phaseDesc: decision.phaseDesc, badgeText: decision.badgeText, risks,\n    priority1Title: risks[0] ? risks[0].title : copy().defaultPriority1Title, priority1Text: risks[0] ? risks[0].text : copy().defaultPriority1Text, priority1Next: risks[0] ? risks[0].next : copy().defaultPriority1Next,\n    priority2Title: risks[1] ? risks[1].title : copy().defaultPriority2Title, priority2Text: risks[1] ? risks[1].text : copy().defaultPriority2Text, priority2Next: risks[1] ? risks[1].next : copy().defaultPriority2Next,\n    tcmText: period.joinNowReason, growthLabel: growth.label, pubertyLabel: puberty.label, actionLevel: decision.actionLevel, actionDeadline: decision.deadline, urgencyText: decision.urgencyText, programFit: decision.programFit,\n    testDate: period.testDate, testDateText: period.testDateText, currentProgramStage: period.stageKey, currentPeriodName: period.currentPeriodName, periodCode: period.periodCode, nextKeyMonth: period.nextKeyMonth, nextKeyDate: period.nextKeyDate, daysToNextKey: period.daysToNextKey, distanceText: period.distanceText, periodAction: period.periodAction, joinNowReason: period.joinNowReason, socialNudge: period.socialNudge,\n    observedFactorsText: parentContext.observedFactorsText, parentConcernLabel: parentContext.parentConcernLabel, programStages: copy().stages, medicalFlags: decision.flags, familyTargetNote: copy().familyNote, interpretationLimit: copy().interpretation, reportVersion: REPORT_VERSION[currentLanguage]\n  };\n}\n\nfunction generateResult() {\n  state.result = buildResult();\n  renderResult();\n  goToStep(9);\n}\n\nfunction renderResult() {\n  const result = state.result;\n  document.getElementById('resultBadge').textContent = result.badgeText;\n  document.getElementById('resultBadge').className = `cd-result-badge ${result.phaseClass}`;\n  document.getElementById('resultTitle').textContent = result.phaseTitle;\n  document.getElementById('resultSubtitle').textContent = result.phaseDesc;\n  document.getElementById('urgencyText').textContent = result.urgencyText;\n  document.getElementById('currentPeriodName').textContent = result.currentPeriodName;\n  document.getElementById('testDateText').textContent = result.testDateText;\n  document.getElementById('countdownText').textContent = result.distanceText;\n  document.getElementById('periodActionText').textContent = result.periodAction;\n  document.getElementById('socialNudgeText').textContent = result.socialNudge;\n  ['stagePre', 'stageBoost', 'stageSolid'].forEach(id => document.getElementById(id).classList.remove('active'));\n  document.getElementById(result.currentProgramStage === 'boost' ? 'stageBoost' : 'stagePre').classList.add('active');\n  document.getElementById('summaryHeight').textContent = `${state.answers.height.toFixed(1)} cm`;\n  document.getElementById('summaryGrowth').textContent = result.growthLabel;\n  document.getElementById('summaryTarget').textContent = `${result.targetMin.toFixed(1)}\u2013${result.targetMax.toFixed(1)} cm`;\n  document.getElementById('summaryPuberty').textContent = result.pubertyLabel;\n  document.getElementById('programTitle').textContent = result.currentProgramStage === 'boost' ? copy().programmeActive : copy().programmePrep(result.nextKeyMonth);\n  document.getElementById('programText').textContent = result.joinNowReason;\n  document.getElementById('consultWaLink').href = `https:\/\/wa.me\/60189768952?text=${encodeURIComponent(copy().consult(result))}`;\n  const container = document.getElementById('riskCards');\n  container.innerHTML = '';\n  result.risks.forEach(risk => {\n    const card = document.createElement('article'); card.className = 'cd-risk-card';\n    const title = document.createElement('h4'); title.textContent = `${risk.icon} ${risk.title}`;\n    const text = document.createElement('p'); text.textContent = risk.text;\n    const next = document.createElement('span'); next.textContent = risk.next;\n    card.append(title, text, next); container.appendChild(card);\n  });\n}\n\nfunction prepareLeadForm() {\n  document.getElementById('formBannerText').textContent = copy().formBanner;\n  updatePhonePlaceholder();\n}\n\nfunction updatePhonePlaceholder() {\n  const code = document.getElementById('countryCode').value;\n  document.getElementById('parentPhone').placeholder = copy().phone[code] || copy().phoneDefault;\n}\n\nfunction validatePhone() {\n  const digits = document.getElementById('parentPhone').value.replace(\/\\D\/g, '');\n  const valid = digits.length >= 7 && digits.length <= 15;\n  document.getElementById('phoneGroup').classList.toggle('error', !valid && digits.length > 0);\n  document.getElementById('err-phone').classList.toggle('show', !valid && digits.length > 0);\n  return valid;\n}\n\nfunction togglePrivacyError() {\n  document.getElementById('err-privacy').classList.toggle('show', !document.getElementById('privacyCheck').checked);\n}\n\nfunction createSubmissionId() {\n  if (window.crypto && typeof window.crypto.randomUUID === 'function') return window.crypto.randomUUID();\n  return `hr365-${Date.now()}-${Math.random().toString(16).slice(2)}`;\n}\n\nfunction submitForm() {\n  if (state.submitting) return;\n  const parentName = document.getElementById('parentName').value.trim();\n  const phoneRaw = document.getElementById('parentPhone').value.trim();\n  const phoneValid = validatePhone();\n  const privacy = document.getElementById('privacyCheck').checked;\n  setFieldState('parentName', 'err-pname', parentName.length >= 2);\n  document.getElementById('phoneGroup').classList.toggle('error', !phoneValid);\n  document.getElementById('err-phone').classList.toggle('show', !phoneValid);\n  document.getElementById('err-privacy').classList.toggle('show', !privacy);\n  if (parentName.length < 2 || !phoneValid || !privacy) return;\n\n  state.answers.city = '';\n  state.result = buildResult();\n  const phoneDigits = phoneRaw.replace(\/\\D\/g, '').replace(\/^0+\/, '');\n  const fullPhone = `${document.getElementById('countryCode').value}${phoneDigits}`;\n  const payload = {\n    parentName, phone: fullPhone, whatsapp: fullPhone, contactTime: '', city: '', childName: '', language: currentLanguage,\n    quizAnswers: { ...state.answers, genderLabel: state.answers.gender === 'boy' ? copy().boy : copy().girl },\n    quizResult: state.result, submissionId: createSubmissionId(), reportVersion: REPORT_VERSION[currentLanguage], assessmentDate: state.result.testDate,\n    currentProgramStage: state.result.currentProgramStage, nextKeyMonth: state.result.nextKeyMonth, daysToNextKey: state.result.daysToNextKey,\n    consent: { privacy: true, version: 'natureconceptcm-privacy-2026', capturedAt: new Date().toISOString() }, source: SOURCE_VERSION[currentLanguage], submittedAt: new Date().toISOString()\n  };\n\n  const button = document.getElementById('submitBtn');\n  const status = document.getElementById('submitStatus');\n  state.submitting = true; button.disabled = true; button.textContent = copy().sending; status.textContent = '';\n  const controller = new AbortController();\n  const timeout = window.setTimeout(() => controller.abort(), 15000);\n  fetch(WEBHOOK_URL, { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify(payload), signal: controller.signal })\n    .then(response => { if (!response.ok) throw new Error(`Webhook returned ${response.status}`); renderResult(); goToStep(8); })\n    .catch(error => { console.error('Submission failed', error); status.textContent = copy().network; button.textContent = copy().retry; })\n    .finally(() => { window.clearTimeout(timeout); state.submitting = false; button.disabled = false; });\n}\n\nfunction applyLanguage(language, updateHash = true) {\n  if (!['en', 'zh'].includes(language)) return;\n  currentLanguage = language;\n  const quiz = document.getElementById('cdQuiz');\n  quiz.dataset.language = language;\n  document.documentElement.lang = language === 'zh' ? 'zh-CN' : 'en-MY';\n  document.title = copy().pageTitle;\n  document.querySelectorAll('[data-lang-button]').forEach(button => {\n    const active = button.dataset.langButton === language;\n    button.classList.toggle('active', active);\n    button.setAttribute('aria-pressed', active ? 'true' : 'false');\n  });\n  const gender = document.getElementById('childGender');\n  gender.options[0].textContent = copy().select;\n  gender.options[1].textContent = copy().boy;\n  gender.options[2].textContent = copy().girl;\n  document.getElementById('childAge').placeholder = copy().placeholders.age;\n  document.getElementById('childHeight').placeholder = copy().placeholders.height;\n  document.getElementById('childWeight').placeholder = copy().placeholders.weight;\n  document.getElementById('fatherHeight').placeholder = copy().placeholders.father;\n  document.getElementById('motherHeight').placeholder = copy().placeholders.mother;\n  document.getElementById('parentName').placeholder = copy().placeholders.parent;\n  document.getElementById('countryCode').setAttribute('aria-label', copy().countryLabel);\n  if (state.answers.gender) document.getElementById('pubertyDesc').textContent = state.answers.gender === 'girl' ? copy().pubertyGirl : copy().pubertyBoy;\n  if (Object.keys(state.result).length) { state.result = buildResult(); renderResult(); }\n  if (state.currentStep === 9) prepareLeadForm(); else updatePhonePlaceholder();\n  if (!state.submitting && state.currentStep === 9) document.getElementById('submitBtn').textContent = copy().continueButton;\n  updateProgress();\n  if (updateHash) history.replaceState(null, '', language === 'zh' ? `${location.pathname}${location.search}#zh` : `${location.pathname}${location.search}`);\n}\n\nfunction setLanguage(language) { applyLanguage(language, true); }\nwindow.addEventListener('hashchange', () => applyLanguage(window.location.hash.toLowerCase() === '#zh' ? 'zh' : 'en', false));\napplyLanguage(currentLanguage, false);\n<\/script>\n<\/body>\n<\/html>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u8bda\u5fb7\u4e2d\u533b \u00b7 \u513f\u7ae5\u6210\u957f\u6f5c\u529b\u8bc4\u4f30 \u51c6\u5907\u5f00\u59cb \u00b7 0% \u8bda\u5fb7\u4e2d\u533b\u513f\u79d1\u4e13\u79d1 \u00b7 \u8f6c\u9aa8\u589e\u9ad8 365+ \u5168\u5468\u671f\u7cfb\u7edf 3\u5206\u949f\u4e86\u89e3\u5b69\u5b50\u6210\u957f\u6f5c\u529b\u770b\u770b\u73b0\u5728\u6709\u54ea\u4e9b\u6210\u957f\u7ebf\u7d22\u503c\u5f97\u5173\u6ce8 \u7ed3\u5408\u8eab\u9ad8\u53d8\u5316\u3001\u53d1\u80b2\u9636\u6bb5\u4e0e\u65e5\u5e38\u4e60\u60ef \u6574\u7406\u5b69\u5b50\u5f53\u524d\u7684\u6210\u957f\u9636\u6bb5\u53c2\u8003 3 \u9636\u6bb5\u6210\u957f\u7ba1\u7406 365+ \u5929\u5168\u5e74\u966a\u8dd1 2\u6b21 \u5e74\u5ea6\u5173\u952e\u6210\u957f\u7a97\u53e3 \u7acb\u5373\u514d\u8d39\u6d4b\u8bd5 \u5b8c\u6210\u540e\u53ef\u83b7\u5f97\u9636\u6bb5\u6027\u6210\u957f\u7ba1\u7406\u53c2\u8003 \u514d\u8d23\u58f0\u660e\uff1a\u672c\u8bc4\u6d4b\u4ec5\u4f9b\u5bb6\u957f\u53c2\u8003\u4f7f\u7528\uff0c\u4e0d\u6784\u6210\u533b\u7597\u8bca\u65ad\u6216\u6cbb\u7597\u5efa\u8bae\u3002\u5177\u4f53\u8eab\u9ad8\u589e\u957f\u60c5\u51b5\u56e0\u4eba\u800c\u5f02\uff0c\u9700\u7ecf\u4e13\u4e1a\u533b\u5e08\u9762\u8bca\u8bc4\u4f30\u3002\u8bda\u5fb7\u4e2d\u533b\u4fdd\u7559\u6700\u7ec8\u8be0\u91ca\u6743\u3002 1\u5b69\u5b50\u7684\u57fa\u7840\u4fe1\u606f \u6211\u4eec\u5c06\u7ed3\u5408\u5bb6\u5ead\u8eab\u9ad8\u8d44\u6599\u4e0e\u6210\u957f\u8bb0\u5f55\u6574\u7406\u53c2\u8003 \u5b69\u5b50\u6027\u522b * \u8bf7\u9009\u62e9\u7537\u5b69\u5973\u5b69 \u8bf7\u9009\u62e9\u6027\u522b \u5b69\u5b50\u5e74\u9f84\uff08\u5c81\uff09* \u5e74\u9f84\u5fc5\u987b\u5728 3-18 \u5c81\u4e4b\u95f4 \u5f53\u524d\u8eab\u9ad8\uff08cm\uff09* \u8eab\u9ad8\u5fc5\u987b\u5728 80-200cm \u4e4b\u95f4 \u5f53\u524d\u4f53\u91cd\uff08kg\uff0c\u9009\u586b\uff09 \u4f53\u91cd\u5fc5\u987b\u5728 10-100kg \u4e4b\u95f4 \ud83d\udca1 \u533b\u5b66\u5c0f\u77e5\u8bc6\uff1a\u7537\u5b69\u9aa8\u9f84\u901a\u5e38\u6bd4\u5b9e\u9645\u5e74\u9f84\u665a1-2\u5e74\u95ed\u5408\uff0c\u5973\u5b69\u5219\u65e91-2\u5e74\u3002\u82e5\u5973\u5b698\u5c81\u524d\/\u7537\u5b699\u5c81\u524d\u51fa\u73b0\u7b2c\u4e8c\u6027\u5f81\uff0c\u9700\u8b66\u60d5\u6027\u65e9\u719f\u5bfc\u81f4\u9aa8\u9aba\u63d0\u524d\u95ed\u5408\u3002 \u4e0b\u4e00\u6b65 2\u7236\u6bcd\u8eab\u9ad8\uff08\u9057\u4f20\u6f5c\u529b\uff09 \u9057\u4f20\u56e0\u7d20\u4f1a\u5f71\u54cd\u8eab\u9ad8\u8303\u56f4\uff0c\u7761\u7720\u3001\u8425\u517b\u3001\u8fd0\u52a8\u4e0e\u6574\u4f53\u5065\u5eb7\u4e5f\u4f1a\u5f71\u54cd\u6210\u957f\u8868\u73b0 \u7236\u4eb2\u8eab\u9ad8\uff08cm\uff09* \u7236\u4eb2\u8eab\u9ad8\u5fc5\u987b\u5728 140-220cm \u4e4b\u95f4 \u6bcd\u4eb2\u8eab\u9ad8\uff08cm\uff09* \u6bcd\u4eb2\u8eab\u9ad8\u5fc5\u987b\u5728 140-200cm \u4e4b\u95f4 \ud83d\udca1&hellip;<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_theme","meta":{"_acf_changed":false,"rank_math_title":"","rank_math_description":"","rank_math_focus_keyword":"Height Revive 365+ Assessment","footnotes":"","rank_math_canonical_url":""},"class_list":["post-46518","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/natureconceptcm.com\/zh\/wp-json\/wp\/v2\/pages\/46518","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/natureconceptcm.com\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/natureconceptcm.com\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/natureconceptcm.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/natureconceptcm.com\/zh\/wp-json\/wp\/v2\/comments?post=46518"}],"version-history":[{"count":80,"href":"https:\/\/natureconceptcm.com\/zh\/wp-json\/wp\/v2\/pages\/46518\/revisions"}],"predecessor-version":[{"id":48597,"href":"https:\/\/natureconceptcm.com\/zh\/wp-json\/wp\/v2\/pages\/46518\/revisions\/48597"}],"wp:attachment":[{"href":"https:\/\/natureconceptcm.com\/zh\/wp-json\/wp\/v2\/media?parent=46518"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}