{"id":12734,"date":"2026-08-31T14:30:47","date_gmt":"2026-08-31T09:00:47","guid":{"rendered":"https:\/\/flowersmfd.in\/?page_id=12734"},"modified":"2026-08-31T14:58:02","modified_gmt":"2026-08-31T09:28:02","slug":"retirement-planner","status":"publish","type":"page","link":"https:\/\/www.flowersmfd.in\/ta\/retirement-planner\/","title":{"rendered":"Retirement Planner"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"12734\" class=\"elementor elementor-12734\" data-elementor-settings=\"{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"aux-parallax-section elementor-element elementor-element-b7e2d35 e-con-full e-flex e-con e-parent\" data-id=\"b7e2d35\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-adbf819 elementor-widget elementor-widget-html\" data-id=\"adbf819\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t\r\n<div id=\"flowers-retirement-planner-v2\">\r\n\r\n<style>\r\n#flowers-retirement-planner-v2{\r\n  --blue:#0066d6;\r\n  --navy:#12304a;\r\n  --green:#239447;\r\n  --light:#f5f9fd;\r\n  --border:#dce7f1;\r\n  --text:#17324a;\r\n  --muted:#66788a;\r\n  width:100%;\r\n  max-width:1100px;\r\n  margin:0 auto;\r\n  color:var(--text);\r\n  font-family:inherit;\r\n}\r\n\r\n#flowers-retirement-planner-v2 *{\r\n  box-sizing:border-box;\r\n}\r\n\r\n#flowers-retirement-planner-v2 input,\r\n#flowers-retirement-planner-v2 button{\r\n  font:inherit;\r\n}\r\n\r\n\/* HEADER *\/\r\n\r\n#flowers-retirement-planner-v2 .frp-header{\r\n  text-align:center;\r\n  margin-bottom:24px;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-title{\r\n  margin:0 0 7px;\r\n  color:var(--navy);\r\n  font-size:clamp(26px,4vw,36px);\r\n  line-height:1.2;\r\n  font-weight:700;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-subtitle{\r\n  margin:0;\r\n  color:var(--muted);\r\n  font-size:15px;\r\n  line-height:1.55;\r\n}\r\n\r\n\/* MAIN *\/\r\n\r\n#flowers-retirement-planner-v2 .frp-main{\r\n  display:grid;\r\n  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);\r\n  gap:20px;\r\n  align-items:start;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-panel{\r\n  min-width:0;\r\n  padding:23px;\r\n  border:1px solid var(--border);\r\n  border-radius:14px;\r\n  background:#fff;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-result-panel{\r\n  background:var(--light);\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-panel-title{\r\n  margin:0 0 18px;\r\n  color:var(--navy);\r\n  font-size:20px;\r\n  line-height:1.35;\r\n  font-weight:700;\r\n}\r\n\r\n\/* INPUTS *\/\r\n\r\n#flowers-retirement-planner-v2 .frp-field{\r\n  margin-bottom:19px;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-label-row{\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:space-between;\r\n  gap:12px;\r\n  margin-bottom:8px;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-label{\r\n  color:var(--navy);\r\n  font-size:14px;\r\n  font-weight:600;\r\n  line-height:1.4;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-input{\r\n  width:145px;\r\n  min-height:43px;\r\n  padding:7px 10px;\r\n  border:1px solid var(--border);\r\n  border-radius:9px;\r\n  background:#fff;\r\n  color:var(--navy);\r\n  text-align:right;\r\n  font-size:16px;\r\n  font-weight:600;\r\n  outline:none;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-input:focus{\r\n  border-color:var(--blue);\r\n  box-shadow:0 0 0 3px rgba(0,102,214,.12);\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-range{\r\n  display:block;\r\n  width:100%;\r\n  height:8px;\r\n  margin:5px 0 7px;\r\n  padding:0;\r\n  accent-color:var(--blue);\r\n  cursor:pointer;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-range-labels{\r\n  display:flex;\r\n  justify-content:space-between;\r\n  gap:10px;\r\n  color:var(--muted);\r\n  font-size:11px;\r\n}\r\n\r\n\/* BUTTON *\/\r\n\r\n#flowers-retirement-planner-v2 .frp-calculate{\r\n  width:100%;\r\n  min-height:50px;\r\n  margin-top:6px;\r\n  padding:10px 16px;\r\n  border:0;\r\n  border-radius:9px;\r\n  background:var(--blue);\r\n  color:#fff;\r\n  cursor:pointer;\r\n  font-size:15px;\r\n  font-weight:700;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-calculate:hover{\r\n  filter:brightness(.96);\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-status{\r\n  min-height:20px;\r\n  margin-top:9px;\r\n  color:#8a6500;\r\n  font-size:12px;\r\n}\r\n\r\n\/* RESULTS *\/\r\n\r\n#flowers-retirement-planner-v2 .frp-result-label{\r\n  margin-bottom:5px;\r\n  color:var(--muted);\r\n  font-size:13px;\r\n  font-weight:600;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-result-value{\r\n  margin:0 0 18px;\r\n  color:var(--navy);\r\n  font-size:clamp(30px,5vw,44px);\r\n  line-height:1.12;\r\n  font-weight:800;\r\n  overflow-wrap:anywhere;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-result-grid{\r\n  display:grid;\r\n  grid-template-columns:1fr 1fr;\r\n  gap:9px;\r\n  margin-bottom:12px;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-card{\r\n  min-width:0;\r\n  padding:14px;\r\n  border:1px solid var(--border);\r\n  border-radius:10px;\r\n  background:#fff;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-card-label{\r\n  margin-bottom:5px;\r\n  color:var(--muted);\r\n  font-size:12px;\r\n  line-height:1.4;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-card-value{\r\n  color:var(--navy);\r\n  font-size:18px;\r\n  line-height:1.3;\r\n  font-weight:700;\r\n  overflow-wrap:anywhere;\r\n}\r\n\r\n\/* FUNDING OPTIONS *\/\r\n\r\n#flowers-retirement-planner-v2 .frp-funding{\r\n  margin-bottom:12px;\r\n  padding:16px;\r\n  border:1px solid #cfe1f2;\r\n  border-radius:10px;\r\n  background:#fff;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-funding-title{\r\n  margin:0 0 12px;\r\n  color:var(--navy);\r\n  font-size:14px;\r\n  font-weight:700;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-funding-grid{\r\n  display:grid;\r\n  grid-template-columns:1fr 1fr;\r\n  gap:10px;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-funding-option{\r\n  min-width:0;\r\n  padding:12px;\r\n  border:1px solid var(--border);\r\n  border-radius:9px;\r\n  background:var(--light);\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-funding-label{\r\n  margin-bottom:4px;\r\n  color:var(--muted);\r\n  font-size:11px;\r\n  line-height:1.4;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-funding-value{\r\n  color:var(--green);\r\n  font-size:20px;\r\n  line-height:1.3;\r\n  font-weight:800;\r\n  overflow-wrap:anywhere;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-funding-note{\r\n  margin-top:10px;\r\n  color:var(--muted);\r\n  font-size:11px;\r\n  line-height:1.5;\r\n}\r\n\r\n\/* STATUS CARD *\/\r\n\r\n#flowers-retirement-planner-v2 .frp-status-card{\r\n  display:none;\r\n  margin-bottom:12px;\r\n  padding:13px 15px;\r\n  border-radius:10px;\r\n  background:#fff;\r\n  border:1px solid var(--border);\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-status-title{\r\n  color:var(--navy);\r\n  font-size:13px;\r\n  font-weight:700;\r\n  margin-bottom:4px;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-status-text{\r\n  color:var(--muted);\r\n  font-size:12px;\r\n  line-height:1.5;\r\n}\r\n\r\n\/* CHART *\/\r\n\r\n#flowers-retirement-planner-v2 .frp-chart-wrap{\r\n  display:none;\r\n  padding:13px;\r\n  border:1px solid var(--border);\r\n  border-radius:10px;\r\n  background:#fff;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-chart-title{\r\n  margin:0 0 8px;\r\n  color:var(--navy);\r\n  font-size:13px;\r\n  font-weight:700;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-chart{\r\n  display:block;\r\n  width:100%;\r\n  height:190px;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-chart-note{\r\n  margin:7px 0 0;\r\n  color:var(--muted);\r\n  font-size:11px;\r\n  line-height:1.45;\r\n}\r\n\r\n\/* DISCLAIMER *\/\r\n\r\n#flowers-retirement-planner-v2 .frp-disclaimer{\r\n  margin-top:16px;\r\n  padding:0;\r\n  color:var(--muted);\r\n  font-size:11px;\r\n  line-height:1.65;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-disclaimer strong{\r\n  color:var(--navy);\r\n}\r\n\r\n\/* CTA *\/\r\n\r\n#flowers-retirement-planner-v2 .frp-cta{\r\n  margin-top:18px;\r\n  padding:20px 23px;\r\n  border:1px solid var(--border);\r\n  border-radius:14px;\r\n  background:var(--light);\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-cta-title{\r\n  margin:0 0 6px;\r\n  color:var(--navy);\r\n  font-size:18px;\r\n  font-weight:700;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-cta-text{\r\n  margin:0;\r\n  color:var(--muted);\r\n  font-size:13px;\r\n  line-height:1.6;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-cta-buttons{\r\n  display:flex;\r\n  flex-wrap:wrap;\r\n  gap:8px;\r\n  margin-top:13px;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-cta-button{\r\n  display:inline-flex;\r\n  min-height:45px;\r\n  align-items:center;\r\n  justify-content:center;\r\n  padding:8px 17px;\r\n  border-radius:9px;\r\n  background:var(--blue);\r\n  color:#fff!important;\r\n  text-decoration:none!important;\r\n  font-size:14px;\r\n  font-weight:700;\r\n}\r\n\r\n#flowers-retirement-planner-v2 .frp-cta-button.secondary{\r\n  border:1px solid var(--blue);\r\n  background:#fff;\r\n  color:var(--blue)!important;\r\n}\r\n\r\n\/* TABLET *\/\r\n\r\n@media(max-width:900px){\r\n\r\n  #flowers-retirement-planner-v2 .frp-main{\r\n    grid-template-columns:1fr;\r\n  }\r\n\r\n}\r\n\r\n\/* MOBILE *\/\r\n\r\n@media(max-width:600px){\r\n\r\n  #flowers-retirement-planner-v2 .frp-panel{\r\n    padding:16px;\r\n  }\r\n\r\n  #flowers-retirement-planner-v2 .frp-title{\r\n    font-size:25px;\r\n  }\r\n\r\n  #flowers-retirement-planner-v2 .frp-subtitle{\r\n    font-size:13px;\r\n  }\r\n\r\n  #flowers-retirement-planner-v2 .frp-panel-title{\r\n    font-size:18px;\r\n  }\r\n\r\n  \/* Keep label and value on the same line *\/\r\n  #flowers-retirement-planner-v2 .frp-label-row{\r\n    flex-direction:row;\r\n    align-items:center;\r\n    gap:8px;\r\n    margin-bottom:6px;\r\n  }\r\n\r\n  #flowers-retirement-planner-v2 .frp-label{\r\n    flex:1;\r\n    min-width:0;\r\n    font-size:13px;\r\n  }\r\n\r\n  #flowers-retirement-planner-v2 .frp-input{\r\n    width:105px;\r\n    min-width:105px;\r\n    min-height:38px;\r\n    padding:6px 8px;\r\n    text-align:right;\r\n    font-size:14px;\r\n  }\r\n\r\n  #flowers-retirement-planner-v2 .frp-field{\r\n    margin-bottom:15px;\r\n  }\r\n\r\n  #flowers-retirement-planner-v2 .frp-range{\r\n    height:8px;\r\n    margin-top:3px;\r\n    margin-bottom:5px;\r\n  }\r\n\r\n  #flowers-retirement-planner-v2 .frp-range-labels{\r\n    font-size:10px;\r\n  }\r\n\r\n  #flowers-retirement-planner-v2 .frp-result-grid{\r\n    grid-template-columns:1fr;\r\n  }\r\n\r\n  #flowers-retirement-planner-v2 .frp-result-value{\r\n    font-size:33px;\r\n  }\r\n\r\n  #flowers-retirement-planner-v2 .frp-card{\r\n    padding:12px;\r\n  }\r\n\r\n  #flowers-retirement-planner-v2 .frp-card-label{\r\n    font-size:11px;\r\n  }\r\n\r\n  #flowers-retirement-planner-v2 .frp-card-value{\r\n    font-size:17px;\r\n  }\r\n\r\n  #flowers-retirement-planner-v2 .frp-funding-grid{\r\n    grid-template-columns:1fr;\r\n  }\r\n\r\n  #flowers-retirement-planner-v2 .frp-funding{\r\n    padding:13px;\r\n  }\r\n\r\n  #flowers-retirement-planner-v2 .frp-funding-value{\r\n    font-size:19px;\r\n  }\r\n\r\n  #flowers-retirement-planner-v2 .frp-chart{\r\n    height:175px;\r\n  }\r\n\r\n  #flowers-retirement-planner-v2 .frp-chart-note{\r\n    font-size:10px;\r\n  }\r\n\r\n  #flowers-retirement-planner-v2 .frp-disclaimer{\r\n    font-size:10px;\r\n  }\r\n\r\n  #flowers-retirement-planner-v2 .frp-cta{\r\n    padding:16px;\r\n  }\r\n\r\n  #flowers-retirement-planner-v2 .frp-cta-buttons{\r\n    flex-direction:column;\r\n  }\r\n\r\n  #flowers-retirement-planner-v2 .frp-cta-button{\r\n    width:100%;\r\n  }\r\n\r\n}\r\n<\/style>\r\n\r\n\r\n<!-- HEADER -->\r\n\r\n<div class=\"frp-header\">\r\n\r\n  <h2 class=\"frp-title\">\r\n    \ud83c\udfd6\ufe0f Retirement Planner\r\n  <\/h2>\r\n\r\n  <p class=\"frp-subtitle\">\r\n    Estimate how much you may need for retirement and how you could work towards it.\r\n  <\/p>\r\n\r\n<\/div>\r\n\r\n\r\n<!-- MAIN -->\r\n\r\n<div class=\"frp-main\">\r\n\r\n\r\n<!-- INPUT PANEL -->\r\n\r\n<section class=\"frp-panel\">\r\n\r\n  <h3 class=\"frp-panel-title\">\r\n    Your Retirement Plan\r\n  <\/h3>\r\n\r\n\r\n  <!-- CURRENT AGE -->\r\n\r\n  <div class=\"frp-field\">\r\n\r\n    <div class=\"frp-label-row\">\r\n\r\n      <label\r\n        class=\"frp-label\"\r\n        for=\"frp2-current-age\">\r\n        Current Age\r\n      <\/label>\r\n\r\n      <input\r\n        id=\"frp2-current-age\"\r\n        class=\"frp-input\"\r\n        type=\"text\"\r\n        inputmode=\"numeric\"\r\n        value=\"35\">\r\n\r\n    <\/div>\r\n\r\n    <input\r\n      id=\"frp2-current-age-range\"\r\n      class=\"frp-range\"\r\n      type=\"range\"\r\n      min=\"18\"\r\n      max=\"70\"\r\n      value=\"35\">\r\n\r\n    <div class=\"frp-range-labels\">\r\n      <span>18<\/span>\r\n      <span>70<\/span>\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n\r\n  <!-- RETIREMENT AGE -->\r\n\r\n  <div class=\"frp-field\">\r\n\r\n    <div class=\"frp-label-row\">\r\n\r\n      <label\r\n        class=\"frp-label\"\r\n        for=\"frp2-retirement-age\">\r\n        Retirement Age\r\n      <\/label>\r\n\r\n      <input\r\n        id=\"frp2-retirement-age\"\r\n        class=\"frp-input\"\r\n        type=\"text\"\r\n        inputmode=\"numeric\"\r\n        value=\"60\">\r\n\r\n    <\/div>\r\n\r\n    <input\r\n      id=\"frp2-retirement-age-range\"\r\n      class=\"frp-range\"\r\n      type=\"range\"\r\n      min=\"40\"\r\n      max=\"75\"\r\n      value=\"60\">\r\n\r\n    <div class=\"frp-range-labels\">\r\n      <span>40<\/span>\r\n      <span>75<\/span>\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n\r\n  <!-- MONTHLY EXPENSE -->\r\n\r\n  <div class=\"frp-field\">\r\n\r\n    <div class=\"frp-label-row\">\r\n\r\n      <label\r\n        class=\"frp-label\"\r\n        for=\"frp2-expense\">\r\n        Current Monthly Expenses\r\n      <\/label>\r\n\r\n      <input\r\n        id=\"frp2-expense\"\r\n        class=\"frp-input\"\r\n        type=\"text\"\r\n        inputmode=\"numeric\"\r\n        value=\"\u20b950,000\">\r\n\r\n    <\/div>\r\n\r\n    <input\r\n      id=\"frp2-expense-range\"\r\n      class=\"frp-range\"\r\n      type=\"range\"\r\n      min=\"10000\"\r\n      max=\"1000000\"\r\n      step=\"1000\"\r\n      value=\"50000\">\r\n\r\n    <div class=\"frp-range-labels\">\r\n      <span>\u20b910,000<\/span>\r\n      <span>\u20b910 Lakh<\/span>\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n\r\n  <!-- EXISTING SAVINGS -->\r\n\r\n  <div class=\"frp-field\">\r\n\r\n    <div class=\"frp-label-row\">\r\n\r\n      <label\r\n        class=\"frp-label\"\r\n        for=\"frp2-savings\">\r\n        Existing Retirement Savings\r\n      <\/label>\r\n\r\n      <input\r\n        id=\"frp2-savings\"\r\n        class=\"frp-input\"\r\n        type=\"text\"\r\n        inputmode=\"numeric\"\r\n        value=\"\u20b95,00,000\">\r\n\r\n    <\/div>\r\n\r\n    <input\r\n      id=\"frp2-savings-range\"\r\n      class=\"frp-range\"\r\n      type=\"range\"\r\n      min=\"0\"\r\n      max=\"50000000\"\r\n      step=\"10000\"\r\n      value=\"500000\">\r\n\r\n    <div class=\"frp-range-labels\">\r\n      <span>\u20b90<\/span>\r\n      <span>\u20b95 Crore<\/span>\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n\r\n  <!-- INFLATION -->\r\n\r\n  <div class=\"frp-field\">\r\n\r\n    <div class=\"frp-label-row\">\r\n\r\n      <label\r\n        class=\"frp-label\"\r\n        for=\"frp2-inflation\">\r\n        Expected Inflation\r\n      <\/label>\r\n\r\n      <input\r\n        id=\"frp2-inflation\"\r\n        class=\"frp-input\"\r\n        type=\"text\"\r\n        inputmode=\"decimal\"\r\n        value=\"6%\">\r\n\r\n    <\/div>\r\n\r\n    <input\r\n      id=\"frp2-inflation-range\"\r\n      class=\"frp-range\"\r\n      type=\"range\"\r\n      min=\"3\"\r\n      max=\"10\"\r\n      step=\"0.5\"\r\n      value=\"6\">\r\n\r\n    <div class=\"frp-range-labels\">\r\n      <span>3%<\/span>\r\n      <span>10%<\/span>\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n\r\n  <!-- PRE RETIREMENT RETURN -->\r\n\r\n  <div class=\"frp-field\">\r\n\r\n    <div class=\"frp-label-row\">\r\n\r\n      <label\r\n        class=\"frp-label\"\r\n        for=\"frp2-pre-return\">\r\n        Expected Return Before Retirement\r\n      <\/label>\r\n\r\n      <input\r\n        id=\"frp2-pre-return\"\r\n        class=\"frp-input\"\r\n        type=\"text\"\r\n        inputmode=\"decimal\"\r\n        value=\"12%\">\r\n\r\n    <\/div>\r\n\r\n    <input\r\n      id=\"frp2-pre-return-range\"\r\n      class=\"frp-range\"\r\n      type=\"range\"\r\n      min=\"4\"\r\n      max=\"20\"\r\n      step=\"0.5\"\r\n      value=\"12\">\r\n\r\n    <div class=\"frp-range-labels\">\r\n      <span>4%<\/span>\r\n      <span>20%<\/span>\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n\r\n  <!-- POST RETIREMENT RETURN -->\r\n\r\n  <div class=\"frp-field\">\r\n\r\n    <div class=\"frp-label-row\">\r\n\r\n      <label\r\n        class=\"frp-label\"\r\n        for=\"frp2-post-return\">\r\n        Expected Return During Retirement\r\n      <\/label>\r\n\r\n      <input\r\n        id=\"frp2-post-return\"\r\n        class=\"frp-input\"\r\n        type=\"text\"\r\n        inputmode=\"decimal\"\r\n        value=\"8%\">\r\n\r\n    <\/div>\r\n\r\n    <input\r\n      id=\"frp2-post-return-range\"\r\n      class=\"frp-range\"\r\n      type=\"range\"\r\n      min=\"3\"\r\n      max=\"15\"\r\n      step=\"0.5\"\r\n      value=\"8\">\r\n\r\n    <div class=\"frp-range-labels\">\r\n      <span>3%<\/span>\r\n      <span>15%<\/span>\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n\r\n  <!-- LIFE EXPECTANCY -->\r\n\r\n  <div class=\"frp-field\">\r\n\r\n    <div class=\"frp-label-row\">\r\n\r\n      <label\r\n        class=\"frp-label\"\r\n        for=\"frp2-life\">\r\n        Life Expectancy\r\n      <\/label>\r\n\r\n      <input\r\n        id=\"frp2-life\"\r\n        class=\"frp-input\"\r\n        type=\"text\"\r\n        inputmode=\"numeric\"\r\n        value=\"85\">\r\n\r\n    <\/div>\r\n\r\n    <input\r\n      id=\"frp2-life-range\"\r\n      class=\"frp-range\"\r\n      type=\"range\"\r\n      min=\"70\"\r\n      max=\"100\"\r\n      value=\"85\">\r\n\r\n    <div class=\"frp-range-labels\">\r\n      <span>70<\/span>\r\n      <span>100<\/span>\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n\r\n  <button\r\n    type=\"button\"\r\n    class=\"frp-calculate\"\r\n    id=\"frp2-calculate\">\r\n    Calculate My Retirement Plan\r\n  <\/button>\r\n\r\n  <div\r\n    class=\"frp-status\"\r\n    id=\"frp2-status\"\r\n    aria-live=\"polite\">\r\n  <\/div>\r\n\r\n<\/section>\r\n\r\n\r\n<!-- RESULTS -->\r\n\r\n<section\r\n  class=\"frp-panel frp-result-panel\"\r\n  aria-live=\"polite\">\r\n\r\n  <div class=\"frp-result-label\">\r\n    Estimated Retirement Corpus Needed\r\n  <\/div>\r\n\r\n  <div\r\n    class=\"frp-result-value\"\r\n    id=\"frp2-corpus\">\r\n    \u2014\r\n  <\/div>\r\n\r\n\r\n  <div class=\"frp-result-grid\">\r\n\r\n    <div class=\"frp-card\">\r\n\r\n      <div class=\"frp-card-label\">\r\n        Monthly Expense at Retirement\r\n      <\/div>\r\n\r\n      <div\r\n        class=\"frp-card-value\"\r\n        id=\"frp2-retirement-expense\">\r\n        \u2014\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n\r\n    <div class=\"frp-card\">\r\n\r\n      <div class=\"frp-card-label\">\r\n        Existing Savings at Retirement\r\n      <\/div>\r\n\r\n      <div\r\n        class=\"frp-card-value\"\r\n        id=\"frp2-future-savings\">\r\n        \u2014\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n\r\n    <div class=\"frp-card\">\r\n\r\n      <div class=\"frp-card-label\">\r\n        Retirement Years\r\n      <\/div>\r\n\r\n      <div\r\n        class=\"frp-card-value\"\r\n        id=\"frp2-retirement-years\">\r\n        \u2014\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n\r\n    <div class=\"frp-card\">\r\n\r\n      <div class=\"frp-card-label\">\r\n        Estimated Shortfall\r\n      <\/div>\r\n\r\n      <div\r\n        class=\"frp-card-value\"\r\n        id=\"frp2-shortfall\">\r\n        \u2014\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n\r\n  <!-- FUNDING OPTIONS -->\r\n\r\n  <div class=\"frp-funding\">\r\n\r\n    <div class=\"frp-funding-title\">\r\n      How could you work towards the shortfall?\r\n    <\/div>\r\n\r\n\r\n    <div class=\"frp-funding-grid\">\r\n\r\n      <div class=\"frp-funding-option\">\r\n\r\n        <div class=\"frp-funding-label\">\r\n          Estimated Monthly SIP Required\r\n        <\/div>\r\n\r\n        <div\r\n          class=\"frp-funding-value\"\r\n          id=\"frp2-required-sip\">\r\n          \u2014\r\n        <\/div>\r\n\r\n      <\/div>\r\n\r\n\r\n      <div class=\"frp-funding-option\">\r\n\r\n        <div class=\"frp-funding-label\">\r\n          Estimated Lumpsum Required Today\r\n        <\/div>\r\n\r\n        <div\r\n          class=\"frp-funding-value\"\r\n          id=\"frp2-required-lumpsum\">\r\n          \u2014\r\n        <\/div>\r\n\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n\r\n    <div class=\"frp-funding-note\">\r\n      These are alternative illustrations for working towards the estimated shortfall.\r\n      They are not recommendations or guaranteed outcomes.\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n\r\n  <!-- STATUS -->\r\n\r\n  <div\r\n    class=\"frp-status-card\"\r\n    id=\"frp2-status-card\">\r\n\r\n    <div\r\n      class=\"frp-status-title\"\r\n      id=\"frp2-status-title\">\r\n    <\/div>\r\n\r\n    <div\r\n      class=\"frp-status-text\"\r\n      id=\"frp2-status-text\">\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n\r\n  <!-- CHART -->\r\n\r\n  <div\r\n    class=\"frp-chart-wrap\"\r\n    id=\"frp2-chart-wrap\">\r\n\r\n    <div class=\"frp-chart-title\">\r\n      Estimated Retirement Planning Journey\r\n    <\/div>\r\n\r\n    <svg\r\n      id=\"frp2-chart\"\r\n      class=\"frp-chart\"\r\n      viewBox=\"0 0 640 190\"\r\n      role=\"img\"\r\n      aria-label=\"Estimated retirement savings growth\">\r\n    <\/svg>\r\n\r\n    <p class=\"frp-chart-note\">\r\n      Illustrative projection based on the selected assumptions. Actual investment returns may vary.\r\n    <\/p>\r\n\r\n  <\/div>\r\n\r\n<\/section>\r\n\r\n<\/div>\r\n\r\n\r\n<!-- DISCLAIMER \u2014 IMMEDIATELY BELOW CALCULATOR -->\r\n\r\n<div class=\"frp-disclaimer\">\r\n\r\n  <strong>Illustration only:<\/strong>\r\n  This calculator uses assumptions about inflation, investment returns,\r\n  retirement age, life expectancy and expenses. Actual results may differ.\r\n  Mutual fund investments are subject to market risks and returns are not guaranteed.\r\n  This calculator is for educational purposes and does not constitute investment advice.\r\n\r\n<\/div>\r\n\r\n\r\n<!-- CTA -->\r\n\r\n<section class=\"frp-cta\">\r\n\r\n  <h3 class=\"frp-cta-title\">\r\n    \ud83c\udf38 Is your retirement plan on track?\r\n  <\/h3>\r\n\r\n  <p class=\"frp-cta-text\">\r\n    A retirement plan should consider your goals, existing investments,\r\n    expected expenses and changing market conditions.\r\n  <\/p>\r\n\r\n  <div class=\"frp-cta-buttons\">\r\n\r\n    <a\r\n      class=\"frp-cta-button\"\r\n      href=\"\/contact\/\">\r\n      Talk to Flowers MFD\r\n    <\/a>\r\n\r\n    <a class=\"frp-cta-button secondary\" href=\"https:\/\/wa.me\/919677738141\" target=\"_blank\" rel=\"noopener nofollow\">\r\n      Chat on WhatsApp\r\n    <\/a>\r\n\r\n  <\/div>\r\n\r\n<\/section>\r\n\r\n\r\n<script>\r\n(function(){\r\n\r\n\"use strict\";\r\n\r\n\r\nconst root =\r\n  document.getElementById(\r\n    \"flowers-retirement-planner-v2\"\r\n  );\r\n\r\n\r\nif(\r\n  !root ||\r\n  root.dataset.initialized === \"1\"\r\n){\r\n\r\n  return;\r\n\r\n}\r\n\r\n\r\nroot.dataset.initialized = \"1\";\r\n\r\n\r\nconst $ =\r\n  selector =>\r\n    root.querySelector(\r\n      selector\r\n    );\r\n\r\n\r\n\/* FIELD DEFINITIONS *\/\r\n\r\nconst fields = {\r\n\r\n  currentAge:{\r\n    input:$(\"#frp2-current-age\"),\r\n    range:$(\"#frp2-current-age-range\"),\r\n    min:18,\r\n    max:70\r\n  },\r\n\r\n  retirementAge:{\r\n    input:$(\"#frp2-retirement-age\"),\r\n    range:$(\"#frp2-retirement-age-range\"),\r\n    min:40,\r\n    max:75\r\n  },\r\n\r\n  expense:{\r\n    input:$(\"#frp2-expense\"),\r\n    range:$(\"#frp2-expense-range\"),\r\n    min:10000,\r\n    max:1000000\r\n  },\r\n\r\n  savings:{\r\n    input:$(\"#frp2-savings\"),\r\n    range:$(\"#frp2-savings-range\"),\r\n    min:0,\r\n    max:50000000\r\n  },\r\n\r\n  inflation:{\r\n    input:$(\"#frp2-inflation\"),\r\n    range:$(\"#frp2-inflation-range\"),\r\n    min:3,\r\n    max:10\r\n  },\r\n\r\n  preReturn:{\r\n    input:$(\"#frp2-pre-return\"),\r\n    range:$(\"#frp2-pre-return-range\"),\r\n    min:4,\r\n    max:20\r\n  },\r\n\r\n  postReturn:{\r\n    input:$(\"#frp2-post-return\"),\r\n    range:$(\"#frp2-post-return-range\"),\r\n    min:3,\r\n    max:15\r\n  },\r\n\r\n  life:{\r\n    input:$(\"#frp2-life\"),\r\n    range:$(\"#frp2-life-range\"),\r\n    min:70,\r\n    max:100\r\n  }\r\n\r\n};\r\n\r\n\r\n\/* HELPERS *\/\r\n\r\nfunction clamp(\r\n  value,\r\n  min,\r\n  max\r\n){\r\n\r\n  return Math.min(\r\n    max,\r\n    Math.max(\r\n      min,\r\n      value\r\n    )\r\n  );\r\n\r\n}\r\n\r\n\r\nfunction numberFrom(\r\n  value\r\n){\r\n\r\n  if(\r\n    typeof value !== \"string\"\r\n  ){\r\n\r\n    return NaN;\r\n\r\n  }\r\n\r\n  return Number(\r\n    value\r\n      .replace(\r\n        \/,\/g,\r\n        \"\"\r\n      )\r\n      .replace(\r\n        \/[\u20b9%a-zA-Z\\s]\/g,\r\n        \"\"\r\n      )\r\n  );\r\n\r\n}\r\n\r\n\r\nfunction money(\r\n  value\r\n){\r\n\r\n  if(\r\n    !Number.isFinite(value)\r\n  ){\r\n\r\n    return \"\u20b90\";\r\n\r\n  }\r\n\r\n  return (\r\n    \"\u20b9\" +\r\n    Math.round(\r\n      value\r\n    ).toLocaleString(\r\n      \"en-IN\"\r\n    )\r\n  );\r\n\r\n}\r\n\r\n\r\nfunction percent(\r\n  value\r\n){\r\n\r\n  const n =\r\n    Number(value);\r\n\r\n  return (\r\n    Number.isInteger(n)\r\n      ? n\r\n      : n.toFixed(1)\r\n  ) + \"%\";\r\n\r\n}\r\n\r\n\r\nfunction setField(\r\n  key,\r\n  value\r\n){\r\n\r\n  const f =\r\n    fields[key];\r\n\r\n\r\n  value =\r\n    clamp(\r\n      Number(value),\r\n      f.min,\r\n      f.max\r\n    );\r\n\r\n\r\n  f.range.value =\r\n    String(value);\r\n\r\n\r\n  if(\r\n    key === \"expense\" ||\r\n    key === \"savings\"\r\n  ){\r\n\r\n    f.input.value =\r\n      money(value);\r\n\r\n  }\r\n  else if(\r\n    key === \"inflation\" ||\r\n    key === \"preReturn\" ||\r\n    key === \"postReturn\"\r\n  ){\r\n\r\n    f.input.value =\r\n      percent(value);\r\n\r\n  }\r\n  else{\r\n\r\n    f.input.value =\r\n      Math.round(value);\r\n\r\n  }\r\n\r\n}\r\n\r\n\r\n\/* RANGE \u2194 INPUT *\/\r\n\r\nObject.keys(fields)\r\n.forEach(\r\n  function(key){\r\n\r\n    const f =\r\n      fields[key];\r\n\r\n\r\n    f.range.addEventListener(\r\n      \"input\",\r\n      function(){\r\n\r\n        setField(\r\n          key,\r\n          this.value\r\n        );\r\n\r\n      }\r\n    );\r\n\r\n\r\n    f.input.addEventListener(\r\n      \"focus\",\r\n      function(){\r\n\r\n        this.select();\r\n\r\n      }\r\n    );\r\n\r\n\r\n    f.input.addEventListener(\r\n      \"blur\",\r\n      function(){\r\n\r\n        const n =\r\n          numberFrom(\r\n            this.value\r\n          );\r\n\r\n\r\n        if(\r\n          Number.isFinite(n)\r\n        ){\r\n\r\n          setField(\r\n            key,\r\n            n\r\n          );\r\n\r\n        }\r\n        else{\r\n\r\n          setField(\r\n            key,\r\n            f.range.value\r\n          );\r\n\r\n        }\r\n\r\n      }\r\n    );\r\n\r\n\r\n    f.input.addEventListener(\r\n      \"keydown\",\r\n      function(event){\r\n\r\n        if(\r\n          event.key === \"Enter\"\r\n        ){\r\n\r\n          event.preventDefault();\r\n\r\n          this.blur();\r\n\r\n        }\r\n\r\n      }\r\n    );\r\n\r\n  }\r\n);\r\n\r\n\r\n\/*\r\nMONTHLY RATE\r\n\r\nConverts annual effective return\r\nto an equivalent monthly compound rate.\r\n*\/\r\n\r\nfunction monthlyRate(\r\n  annual\r\n){\r\n\r\n  if(\r\n    annual === 0\r\n  ){\r\n\r\n    return 0;\r\n\r\n  }\r\n\r\n\r\n  return Math.pow(\r\n    1 + annual,\r\n    1 \/ 12\r\n  ) - 1;\r\n\r\n}\r\n\r\n\r\n\/*\r\nSIP FUTURE VALUE\r\n\r\nBeginning-of-month contribution.\r\n*\/\r\n\r\nfunction sipFutureValue(\r\n  monthly,\r\n  annual,\r\n  months\r\n){\r\n\r\n  if(\r\n    months <= 0\r\n  ){\r\n\r\n    return 0;\r\n\r\n  }\r\n\r\n\r\n  const r =\r\n    monthlyRate(\r\n      annual\r\n    );\r\n\r\n\r\n  if(\r\n    r === 0\r\n  ){\r\n\r\n    return monthly * months;\r\n\r\n  }\r\n\r\n\r\n  return (\r\n    monthly *\r\n    (\r\n      (\r\n        Math.pow(\r\n          1+r,\r\n          months\r\n        ) - 1\r\n      ) \/ r\r\n    ) *\r\n    (1+r)\r\n  );\r\n\r\n}\r\n\r\n\r\n\/*\r\nRETIREMENT CORPUS\r\n\r\nUses the real return after inflation.\r\n\r\nThis calculates the present-value-equivalent\r\ncorpus required at retirement for the\r\ninflation-adjusted retirement expenses.\r\n*\/\r\n\r\nfunction retirementCorpus(\r\n  annualExpense,\r\n  inflation,\r\n  postReturn,\r\n  retirementYears\r\n){\r\n\r\n  if(\r\n    retirementYears <= 0\r\n  ){\r\n\r\n    return 0;\r\n\r\n  }\r\n\r\n\r\n  const realReturn =\r\n    (\r\n      (1 + postReturn) \/\r\n      (1 + inflation)\r\n    ) - 1;\r\n\r\n\r\n  if(\r\n    Math.abs(realReturn) < 0.0000001\r\n  ){\r\n\r\n    return (\r\n      annualExpense *\r\n      retirementYears\r\n    );\r\n\r\n  }\r\n\r\n\r\n  return (\r\n    annualExpense *\r\n    (\r\n      1 -\r\n      Math.pow(\r\n        1 + realReturn,\r\n        -retirementYears\r\n      )\r\n    ) \/\r\n    realReturn\r\n  );\r\n\r\n}\r\n\r\n\r\n\/*\r\nMAIN CALCULATION\r\n*\/\r\n\r\nfunction calculate(){\r\n\r\n  const currentAge =\r\n    Number(\r\n      fields.currentAge.range.value\r\n    );\r\n\r\n\r\n  const retirementAge =\r\n    Number(\r\n      fields.retirementAge.range.value\r\n    );\r\n\r\n\r\n  const life =\r\n    Number(\r\n      fields.life.range.value\r\n    );\r\n\r\n\r\n  const currentExpense =\r\n    numberFrom(\r\n      fields.expense.input.value\r\n    );\r\n\r\n\r\n  const currentSavings =\r\n    numberFrom(\r\n      fields.savings.input.value\r\n    );\r\n\r\n\r\n  const inflation =\r\n    numberFrom(\r\n      fields.inflation.input.value\r\n    ) \/ 100;\r\n\r\n\r\n  const preReturn =\r\n    numberFrom(\r\n      fields.preReturn.input.value\r\n    ) \/ 100;\r\n\r\n\r\n  const postReturn =\r\n    numberFrom(\r\n      fields.postReturn.input.value\r\n    ) \/ 100;\r\n\r\n\r\n  if(\r\n    retirementAge <= currentAge\r\n  ){\r\n\r\n    return {\r\n      error:\r\n        \"Retirement age must be higher than your current age.\"\r\n    };\r\n\r\n  }\r\n\r\n\r\n  if(\r\n    life <= retirementAge\r\n  ){\r\n\r\n    return {\r\n      error:\r\n        \"Life expectancy should be higher than your retirement age.\"\r\n    };\r\n\r\n  }\r\n\r\n\r\n  if(\r\n    currentExpense <= 0\r\n  ){\r\n\r\n    return {\r\n      error:\r\n        \"Please enter your current monthly expenses.\"\r\n    };\r\n\r\n  }\r\n\r\n\r\n  const yearsToRetirement =\r\n    retirementAge -\r\n    currentAge;\r\n\r\n\r\n  const retirementYears =\r\n    life -\r\n    retirementAge;\r\n\r\n\r\n  \/*\r\n  Monthly expense required\r\n  at retirement after inflation.\r\n  *\/\r\n\r\n  const retirementMonthlyExpense =\r\n    currentExpense *\r\n    Math.pow(\r\n      1 + inflation,\r\n      yearsToRetirement\r\n    );\r\n\r\n\r\n  const retirementAnnualExpense =\r\n    retirementMonthlyExpense *\r\n    12;\r\n\r\n\r\n  \/*\r\n  Required corpus at retirement.\r\n  *\/\r\n\r\n  const corpus =\r\n    retirementCorpus(\r\n      retirementAnnualExpense,\r\n      inflation,\r\n      postReturn,\r\n      retirementYears\r\n    );\r\n\r\n\r\n  \/*\r\n  Existing savings projected\r\n  to retirement.\r\n  *\/\r\n\r\n  const futureSavings =\r\n    currentSavings *\r\n    Math.pow(\r\n      1 + preReturn,\r\n      yearsToRetirement\r\n    );\r\n\r\n\r\n  \/*\r\n  Remaining funding gap.\r\n  *\/\r\n\r\n  const shortfall =\r\n    Math.max(\r\n      0,\r\n      corpus -\r\n      futureSavings\r\n    );\r\n\r\n\r\n  \/*\r\n  MONTHLY SIP REQUIRED\r\n\r\n  Beginning-of-month SIP assumption.\r\n  *\/\r\n\r\n  const months =\r\n    yearsToRetirement *\r\n    12;\r\n\r\n\r\n  let requiredSIP =\r\n    0;\r\n\r\n\r\n  if(\r\n    shortfall > 0\r\n  ){\r\n\r\n    const r =\r\n      monthlyRate(\r\n        preReturn\r\n      );\r\n\r\n\r\n    if(\r\n      r === 0\r\n    ){\r\n\r\n      requiredSIP =\r\n        shortfall \/\r\n        months;\r\n\r\n    }\r\n    else{\r\n\r\n      requiredSIP =\r\n        shortfall \/\r\n        (\r\n          (\r\n            Math.pow(\r\n              1+r,\r\n              months\r\n            ) - 1\r\n          ) \/ r\r\n        );\r\n\r\n    }\r\n\r\n  }\r\n\r\n\r\n  \/*\r\n  LUMPSUM REQUIRED TODAY\r\n\r\n  This is the amount needed today\r\n  to grow to the remaining shortfall\r\n  by retirement.\r\n  *\/\r\n\r\n  let requiredLumpsum =\r\n    0;\r\n\r\n\r\n  if(\r\n    shortfall > 0\r\n  ){\r\n\r\n    requiredLumpsum =\r\n      shortfall \/\r\n      Math.pow(\r\n        1 + preReturn,\r\n        yearsToRetirement\r\n      );\r\n\r\n  }\r\n\r\n\r\n  return {\r\n\r\n    currentAge,\r\n\r\n    retirementAge,\r\n\r\n    life,\r\n\r\n    yearsToRetirement,\r\n\r\n    retirementYears,\r\n\r\n    currentExpense,\r\n\r\n    retirementMonthlyExpense,\r\n\r\n    currentSavings,\r\n\r\n    futureSavings,\r\n\r\n    corpus,\r\n\r\n    shortfall,\r\n\r\n    requiredSIP,\r\n\r\n    requiredLumpsum,\r\n\r\n    inflation,\r\n\r\n    preReturn,\r\n\r\n    postReturn\r\n\r\n  };\r\n\r\n}\r\n\r\n\r\n\/* CHART *\/\r\n\r\nfunction drawChart(\r\n  data\r\n){\r\n\r\n  const W = 640;\r\n\r\n  const H = 190;\r\n\r\n  const L = 48;\r\n\r\n  const R = 15;\r\n\r\n  const T = 20;\r\n\r\n  const B = 30;\r\n\r\n\r\n  const PW =\r\n    W - L - R;\r\n\r\n  const PH =\r\n    H - T - B;\r\n\r\n\r\n  const totalYears =\r\n    data.yearsToRetirement;\r\n\r\n\r\n  const points = [];\r\n\r\n\r\n  \/*\r\n  Projection using the calculated\r\n  monthly SIP plus projected existing\r\n  savings.\r\n  *\/\r\n\r\n  const stepMonths =\r\n    Math.max(\r\n      1,\r\n      Math.ceil(\r\n        totalYears *\r\n        12 \/\r\n        60\r\n      )\r\n    );\r\n\r\n\r\n  for(\r\n    let month = 0;\r\n    month <= totalYears * 12;\r\n    month += stepMonths\r\n  ){\r\n\r\n    const sipValue =\r\n      sipFutureValue(\r\n        data.requiredSIP,\r\n        data.preReturn,\r\n        month\r\n      );\r\n\r\n\r\n    const existingValue =\r\n      data.currentSavings *\r\n      Math.pow(\r\n        1 + data.preReturn,\r\n        month \/ 12\r\n      );\r\n\r\n\r\n    points.push({\r\n\r\n      year:\r\n        month \/ 12,\r\n\r\n      value:\r\n        sipValue +\r\n        existingValue\r\n\r\n    });\r\n\r\n  }\r\n\r\n\r\n  \/*\r\n  Ensure final retirement point\r\n  is included exactly.\r\n  *\/\r\n\r\n  points.push({\r\n\r\n    year:\r\n      totalYears,\r\n\r\n    value:\r\n      data.requiredSIP > 0\r\n        ? data.corpus\r\n        : data.futureSavings\r\n\r\n  });\r\n\r\n\r\n  const max =\r\n    Math.max(\r\n      data.corpus,\r\n      ...points.map(\r\n        p => p.value\r\n      ),\r\n      1\r\n    );\r\n\r\n\r\n  const x =\r\n    year =>\r\n      L +\r\n      (\r\n        year \/\r\n        totalYears\r\n      ) *\r\n      PW;\r\n\r\n\r\n  const y =\r\n    value =>\r\n      T +\r\n      PH -\r\n      (\r\n        value \/\r\n        max\r\n      ) *\r\n      PH;\r\n\r\n\r\n  const path =\r\n    points\r\n      .map(\r\n        function(\r\n          p,\r\n          index\r\n        ){\r\n\r\n          return (\r\n            index === 0\r\n              ? \"M\"\r\n              : \"L\"\r\n          ) +\r\n          \" \" +\r\n          x(\r\n            p.year\r\n          ).toFixed(2) +\r\n          \" \" +\r\n          y(\r\n            p.value\r\n          ).toFixed(2);\r\n\r\n        }\r\n      )\r\n      .join(\" \");\r\n\r\n\r\n  $(\"#frp2-chart\")\r\n    .innerHTML = `\r\n\r\n      <line\r\n        x1=\"${L}\"\r\n        y1=\"${T+PH}\"\r\n        x2=\"${W-R}\"\r\n        y2=\"${T+PH}\"\r\n        stroke=\"#dce7f1\"\r\n        stroke-width=\"1\"\/>\r\n\r\n      <line\r\n        x1=\"${L}\"\r\n        y1=\"${T+PH\/2}\"\r\n        x2=\"${W-R}\"\r\n        y2=\"${T+PH\/2}\"\r\n        stroke=\"#edf2f6\"\r\n        stroke-width=\"1\"\/>\r\n\r\n      <path\r\n        d=\"${path}\"\r\n        fill=\"none\"\r\n        stroke=\"#0066d6\"\r\n        stroke-width=\"3\"\/>\r\n\r\n      <circle\r\n        cx=\"${x(totalYears)}\"\r\n        cy=\"${y(\r\n          data.requiredSIP > 0\r\n            ? data.corpus\r\n            : data.futureSavings\r\n        )}\"\r\n        r=\"4\"\r\n        fill=\"#0066d6\"\/>\r\n\r\n      <text\r\n        x=\"${L}\"\r\n        y=\"${H-8}\"\r\n        fill=\"#66788a\"\r\n        font-size=\"11\">\r\n        Today\r\n      <\/text>\r\n\r\n      <text\r\n        x=\"${W-R}\"\r\n        y=\"${H-8}\"\r\n        text-anchor=\"end\"\r\n        fill=\"#66788a\"\r\n        font-size=\"11\">\r\n        Retirement\r\n      <\/text>\r\n\r\n      <text\r\n        x=\"${L}\"\r\n        y=\"13\"\r\n        fill=\"#66788a\"\r\n        font-size=\"11\">\r\n        Estimated corpus\r\n      <\/text>\r\n\r\n    `;\r\n\r\n}\r\n\r\n\r\n\/* RENDER *\/\r\n\r\nfunction render(\r\n  data\r\n){\r\n\r\n  if(\r\n    data.error\r\n  ){\r\n\r\n    $(\"#frp2-status\")\r\n      .textContent =\r\n      data.error;\r\n\r\n    return;\r\n\r\n  }\r\n\r\n\r\n  $(\"#frp2-status\")\r\n    .textContent =\r\n    \"\";\r\n\r\n\r\n  $(\"#frp2-corpus\")\r\n    .textContent =\r\n    money(\r\n      data.corpus\r\n    );\r\n\r\n\r\n  $(\"#frp2-retirement-expense\")\r\n    .textContent =\r\n    money(\r\n      data.retirementMonthlyExpense\r\n    );\r\n\r\n\r\n  $(\"#frp2-future-savings\")\r\n    .textContent =\r\n    money(\r\n      data.futureSavings\r\n    );\r\n\r\n\r\n  $(\"#frp2-retirement-years\")\r\n    .textContent =\r\n    data.retirementYears +\r\n    \" years\";\r\n\r\n\r\n  $(\"#frp2-shortfall\")\r\n    .textContent =\r\n    money(\r\n      data.shortfall\r\n    );\r\n\r\n\r\n  $(\"#frp2-required-sip\")\r\n    .textContent =\r\n    money(\r\n      data.requiredSIP\r\n    );\r\n\r\n\r\n  $(\"#frp2-required-lumpsum\")\r\n    .textContent =\r\n    money(\r\n      data.requiredLumpsum\r\n    );\r\n\r\n\r\n  const statusCard =\r\n    $(\"#frp2-status-card\");\r\n\r\n\r\n  if(\r\n    data.shortfall <= 0\r\n  ){\r\n\r\n    $(\"#frp2-status-title\")\r\n      .textContent =\r\n      \"Potentially on track\";\r\n\r\n\r\n    $(\"#frp2-status-text\")\r\n      .textContent =\r\n      \"Based on these assumptions, your projected existing savings could cover the estimated retirement corpus. This is only an illustration.\";\r\n\r\n  }\r\n  else{\r\n\r\n    $(\"#frp2-status-title\")\r\n      .textContent =\r\n      \"Potential funding gap\";\r\n\r\n\r\n    $(\"#frp2-status-text\")\r\n      .textContent =\r\n      \"Based on these assumptions, additional savings may be required to work towards the estimated retirement corpus.\";\r\n\r\n  }\r\n\r\n\r\n  statusCard.style.display =\r\n    \"block\";\r\n\r\n\r\n  $(\"#frp2-chart-wrap\")\r\n    .style.display =\r\n    \"block\";\r\n\r\n\r\n  drawChart(\r\n    data\r\n  );\r\n\r\n}\r\n\r\n\r\n\/* CALCULATE *\/\r\n\r\n$(\"#frp2-calculate\")\r\n  .addEventListener(\r\n    \"click\",\r\n    function(){\r\n\r\n      render(\r\n        calculate()\r\n      );\r\n\r\n    }\r\n  );\r\n\r\n\r\n})();\r\n<\/script>\r\n\r\n<\/div>\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>&#x1f3d6;&#xfe0f; Retirement Planner Estimate how much you may need for retirement and how you could work towards it. Your Retirement Plan Current Age 18 70 Retirement Age 40 75 Current Monthly Expenses \u20b910,000 \u20b910 Lakh Existing Retirement Savings \u20b90 \u20b95 Crore Expected Inflation 3% 10% Expected Return Before Retirement 4% 20% Expected Return During Retirement [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-12734","page","type-page","status-publish","hentry"],"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"boopathi.giri","author_link":"https:\/\/www.flowersmfd.in\/ta\/author\/boopathi-giri\/"},"rttpg_comment":0,"rttpg_category":null,"rttpg_excerpt":"&#x1f3d6;&#xfe0f; Retirement Planner Estimate how much you may need for retirement and how you could work towards it. Your Retirement Plan Current Age 18 70 Retirement Age 40 75 Current Monthly Expenses \u20b910,000 \u20b910 Lakh Existing Retirement Savings \u20b90 \u20b95 Crore Expected Inflation 3% 10% Expected Return Before Retirement 4% 20% Expected Return During Retirement&hellip;","_links":{"self":[{"href":"https:\/\/www.flowersmfd.in\/ta\/wp-json\/wp\/v2\/pages\/12734","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.flowersmfd.in\/ta\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.flowersmfd.in\/ta\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.flowersmfd.in\/ta\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.flowersmfd.in\/ta\/wp-json\/wp\/v2\/comments?post=12734"}],"version-history":[{"count":3,"href":"https:\/\/www.flowersmfd.in\/ta\/wp-json\/wp\/v2\/pages\/12734\/revisions"}],"predecessor-version":[{"id":12748,"href":"https:\/\/www.flowersmfd.in\/ta\/wp-json\/wp\/v2\/pages\/12734\/revisions\/12748"}],"wp:attachment":[{"href":"https:\/\/www.flowersmfd.in\/ta\/wp-json\/wp\/v2\/media?parent=12734"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}