@font-face{font-family:Aloevera Display;font-weight:500;font-display:swap;src:url(/fonts/AloeveraDisplay-Medium.woff2) format("woff2")}@font-face{font-family:Poppins;font-weight:400;font-display:swap;src:url(/fonts/poppins-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Poppins;font-weight:600;font-display:swap;src:url(/fonts/poppins-latin-600-normal.woff2) format("woff2")}:root{--navy: #000062;--purple: #5e17eb;--purple-on-navy: #ac8bf5;--beige: #f8f4ee;--muted: #454489;--line: #dddbe3;--on-navy-muted: #c9c8e6;--on-navy-line: #3a3a8c;--result: #8fe0b4;--green: #2f7d4f;--blank: #7373c4;--sheet-width: 400px;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--beige);color:var(--navy);font:400 16px/1.5 Poppins,ui-sans-serif,system-ui,sans-serif;font-variant-numeric:tabular-nums}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--purple);outline-offset:2px}.sheet :focus-visible{outline-color:var(--beige)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.link-button{background:none;border:0;padding:0;color:var(--muted);font-size:14px;text-decoration:underline;text-underline-offset:3px}.link-button:hover{color:var(--purple)}.page{display:grid;grid-template-columns:minmax(0,1fr) var(--sheet-width);min-height:100vh}.sheet{order:2}.sheet{background:var(--navy);color:var(--beige);position:sticky;top:0;height:100vh;overflow-y:auto;padding:44px 40px;display:flex;flex-direction:column;justify-content:center}.sheet h2{font:500 20px/1.2 Aloevera Display,Poppins,sans-serif;margin:0 0 22px;color:var(--on-navy-muted)}.sum{display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:8px;margin:0}.sum dt{grid-column:2;font-size:13.5px;color:var(--on-navy-muted)}.sum .operator{grid-column:1;font:500 24px/1.25 Aloevera Display,Poppins,sans-serif;color:var(--purple-on-navy);margin:0}.sum dd:not(.operator){grid-column:2;margin:0 0 16px;font:500 28px/1.25 Aloevera Display,Poppins,sans-serif;white-space:nowrap}.sum dd.blank{color:var(--blank);letter-spacing:-.02em}.sum-result{border-top:2px solid var(--on-navy-line);margin-top:4px;padding-top:16px}.sum-result p{margin:0;font-size:13.5px;color:var(--on-navy-muted)}.sum-result strong{display:block;font:500 44px/1.15 Aloevera Display,Poppins,sans-serif;color:var(--result);white-space:nowrap}.sum-result strong.blank{color:var(--blank)}.sum-result strong.long{font-size:38px}.sum-result strong.longest{font-size:30px}.sum-age-result{margin-top:18px}.sum-age-result p{margin:0;font-size:13.5px;color:var(--on-navy-muted)}.sum-age-result strong{display:block;font:500 34px/1.15 Aloevera Display,Poppins,sans-serif;color:var(--beige);white-space:nowrap}.sum-age-result strong.blank{color:var(--blank)}.sum-age{margin:20px 0 0;font-size:15px;color:var(--beige)}.compact-sum{display:none}.stage{padding:22px clamp(20px,5vw,64px) 48px;min-width:0}.stage>*{max-width:760px;margin-inline:auto}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.logo{height:44px;width:auto;display:block}.home-link{display:inline-block;border-radius:4px}.home-link:focus-visible{outline:2px solid var(--purple);outline-offset:4px}.logo .ink{fill:var(--navy)}.logo .dot{fill:var(--purple)}.stage-top{border-bottom:1.5px solid var(--navy);margin-bottom:26px}.questions{display:flex;gap:0 28px}.questions button{background:none;border:0;border-bottom:4px solid transparent;margin-bottom:-1.5px;padding:6px 0 10px;font-size:15px;line-height:1.3;text-align:left}.questions button:hover{border-bottom-color:var(--line)}.questions button[aria-selected=true]{border-bottom-color:var(--purple);font-weight:600}.questions small{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--purple)}#step h2{font:500 21px/1.25 Aloevera Display,Poppins,sans-serif;margin:30px 0 8px}#step>h2:first-child{margin-top:0}h3{margin:0 0 10px;font:600 16px/1.3 Poppins,sans-serif}.say{margin:0 0 12px;max-width:58ch}.tip{border-left:3px solid var(--purple);padding-left:12px;font-size:14.5px;color:var(--muted);margin:20px 0 0;max-width:58ch}.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 4px}.rates{grid-template-columns:repeat(3,minmax(0,1fr))}.choice{background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;text-align:left}.choice:hover{border-color:var(--purple)}.choice[aria-pressed=true]{border-color:var(--purple);box-shadow:inset 0 0 0 1px var(--purple)}.choice b{display:block;font-weight:600}.choice small{display:block;font-size:13.5px;line-height:1.4;color:var(--muted)}.choice .amount{font:500 22px/1.3 Aloevera Display,Poppins,sans-serif;display:block;margin:2px 0}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:14px 0}.field label{display:block;font-weight:600;font-size:14.5px}.field small{display:block;color:var(--muted);font-size:13px;line-height:1.35;min-height:18px}.input-row{display:flex;align-items:baseline;gap:6px;background:#fff;border:1.5px solid var(--line);border-radius:8px;padding:6px 10px;margin-top:4px}.input-row:focus-within{border-color:var(--purple)}.affix{color:var(--muted)}.input-row input{flex:1;min-width:0;width:100%;border:0;background:none;padding:0;font-size:18px;font-weight:600;outline:none}.field.invalid .input-row{border-color:#b3261e}.error{color:#b3261e;font-size:14px;margin:0 0 10px}#live{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}#live{margin-top:8px}#live>h2{margin:12px 0 -12px}#live>.say{margin:0 0 -8px}#live>.tip,.result-part>.tip,.running{margin:0}.answer-value{margin:0;font:500 clamp(44px,5.6vw,76px)/1.02 "Aloevera Display","Poppins",sans-serif;letter-spacing:-.015em}.answer-value .minor{font-size:.45em;letter-spacing:0}.answer-rest{margin:6px 0 0;font-size:clamp(18px,1.6vw,21px);line-height:1.35;max-width:42em}.answer-note{margin:6px 0 0;font-size:14.5px;color:var(--muted);max-width:60em}.answer-note:empty{display:none}.muted{color:var(--muted);font-weight:400;font-size:13.5px}.result-part{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}#result-rest{margin-top:40px}#growth-chart{min-height:372px}.tweaks{margin-top:28px}.tweak-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;margin-top:10px}.tweak{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 8px}.tweak label{font-size:14px;color:var(--muted)}.tweak output{font-weight:600;font-size:15px;white-space:nowrap}.tweak input[type=range]{grid-column:1 / -1;width:100%;margin:4px 0 0;accent-color:var(--purple);cursor:pointer}.wizard-nav{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}.primary{background:var(--purple);color:#fff;border:0;border-radius:999px;padding:10px 24px;font-weight:600}.primary:hover{background:#4c0fc6}.secondary{background:none;border:1.5px solid var(--purple);color:var(--purple);border-radius:999px;padding:6px 16px;font-weight:600;font-size:14.5px}.secondary:hover{background:var(--purple);color:#fff}.wizard-nav .secondary{padding:9px 20px;margin-right:auto}.swatch{flex:none;width:10px;height:10px;border-radius:2px;display:inline-block}.section-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;margin-bottom:4px}.section-head h3,#step .section-head h2{margin:0}.legend{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px;color:var(--muted)}.legend>span{display:inline-flex;align-items:center;gap:7px}.line-swatch{flex:none;width:16px;height:3px;border-radius:2px;display:inline-block}.tooltip-gap{height:6px}.chart{position:relative}.chart svg{display:block;width:100%;height:auto;touch-action:pan-y}.chart .grid{stroke:var(--line);stroke-width:1}.chart .axis{stroke:var(--navy);stroke-width:1}.chart .tick{fill:var(--muted);font-size:12.5px}.chart .phase-shade{fill:var(--purple);opacity:.06}.chart .phase text{font-size:12.5px;font-weight:600}.chart .phase.build rect{fill:var(--purple)}.chart .phase.build text{fill:var(--purple)}.chart .phase.live rect{fill:#c2410c}.chart .phase.live text{fill:#c2410c}.chart .money-line{fill:none;stroke-width:2.5;stroke-linejoin:round}.chart .column{transition:opacity .12s}.chart .column.dim{opacity:.45}.chart .target{stroke:var(--navy);stroke-width:1.5;stroke-dasharray:6 5}.chart .target-label{fill:var(--navy);font-size:12.5px;font-weight:600}.chart .marker line{stroke-width:1.5;stroke-dasharray:3 4}.chart .marker g{fill:none;stroke:var(--beige);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chart .marker text{font-size:13px;font-weight:600}.chart .marker.freedom line{stroke:var(--purple)}.chart .marker.freedom circle{fill:var(--purple)}.chart .marker.freedom text{fill:var(--purple)}.chart .marker.missed line{stroke:#c2410c}.chart .marker.missed circle{fill:#c2410c}.chart .marker.missed text{fill:#c2410c}.chart .shortfall line{stroke:#c2410c;stroke-width:2;stroke-dasharray:4 4}.chart .shortfall text{fill:#c2410c;font-size:13px;font-weight:600;paint-order:stroke;stroke:var(--beige);stroke-width:4px}.missed{color:#c2410c}.sum-age-result strong.missed{color:#ffb08a}.chart .marker.pension line{stroke:var(--navy)}.chart .marker.pension circle{fill:var(--navy)}.chart .marker.pension text{fill:var(--navy)}.tooltip{position:absolute;top:72px;z-index:3;pointer-events:none;background:#fff;border:1.5px solid var(--navy);border-radius:4px;padding:10px 12px;min-width:220px;font-size:13.5px}.tooltip-title{color:var(--muted)}.tooltip-total{font-size:19px;font-weight:600;margin-bottom:6px}.tooltip-row{display:flex;align-items:center;gap:8px}.tooltip-row strong{margin-left:auto;font-weight:600}.running{color:var(--muted);font-size:15px}.running b{color:var(--navy)}@media(max-width:920px){.page{display:flex;flex-direction:column}.sheet{order:-1;position:sticky;top:0;z-index:2;height:auto;padding:10px 20px;display:block}.sheet h2,.sum,.sum-result,.sum-age-result,.sum-age{display:none}.compact-sum{display:block;margin:0;font-size:15px;line-height:1.35;color:var(--on-navy-muted)}.compact-sum strong{color:var(--result);font-weight:600;white-space:nowrap}.stage{padding-top:16px}.logo{height:36px}.questions{gap:0 18px}.questions button{font-size:14px}.rates{grid-template-columns:minmax(0,1fr)}}@media(max-width:480px){.fields,.choices,.tweak-grid{grid-template-columns:minmax(0,1fr)}.field small{min-height:0}}
