<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Brian Juzefyk — SpaceX Position & Margin Strategy</title> <style> :root{ color-scheme: light; --navy:#0c315e; --navy-2:#082947; --ink:#1c2530; --muted:#5b6472; --line:#e3e7ee; --bg:#eef1f6; --card:#ffffff; --ice:#cadcfc; --teal:#0f6e56; --teal-bg:#e1f5ee; --teal-line:#9fe1cb; --amber:#854f0b; --amber-bg:#faeeda; --amber-line:#efc07a; --red:#a4342a; --red-bg:#fcebeb; --red-line:#f0a3a3; --blue:#185fa5; --blue-bg:#e6f1fb; } *{box-sizing:border-box;} body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);} .wrap{max-width:1040px;margin:0 auto;padding:0 24px 64px;} .slide-num{position:absolute;top:18px;right:22px;font-size:11px;color:var(--muted);letter-spacing:.04em;} header.top{position:relative;background:linear-gradient(180deg,var(--navy),var(--navy-2));color:#fff;padding:56px 24px 44px;} header.top .inner{max-width:1040px;margin:0 auto;} header.top h1{margin:0 0 10px;font-size:28px;font-weight:600;} header.top p{margin:0;color:#c9d6e8;font-size:15px;max-width:680px;} .badge{display:inline-block;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.25);border-radius:20px;padding:3px 12px;font-size:12px;margin-bottom:14px;letter-spacing:.02em;} .slide{position:relative;background:var(--card);border-radius:16px;border:1px solid var(--line);padding:28px 30px 30px;margin-top:26px;} h2{font-size:19px;font-weight:600;color:var(--navy);margin:0 0 4px;} .sub{color:var(--muted);font-size:13px;margin:0 0 18px;max-width:740px;} .footnote{color:var(--muted);font-size:12px;margin-top:14px;font-style:italic;} .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;} .card{background:#f7f9fc;border:1px solid var(--line);border-radius:12px;padding:16px 18px;} .card .label{font-size:12px;color:var(--muted);margin-bottom:6px;} .card .value{font-size:22px;font-weight:600;color:var(--navy);} .card .note{font-size:12px;color:var(--muted);margin-top:4px;} .card.flag{background:var(--red-bg);border-color:var(--red-line);} .card.flag .value{color:var(--red);} .card.win{background:var(--teal-bg);border-color:var(--teal-line);} .card.win .value{color:var(--teal);} table{width:100%;border-collapse:collapse;background:var(--card);border-radius:12px;overflow:hidden;border:1px solid var(--line);font-size:14px;} th,td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--line);} th{background:#f0f3f7;color:var(--navy);font-weight:600;font-size:13px;} tr:last-child td{border-bottom:none;} td.num{text-align:right;font-variant-numeric:tabular-nums;} .center-table th, .center-table td{text-align:center;} .pill-good{color:var(--teal);font-weight:600;} .pill-bad{color:var(--red);font-weight:600;} .slider-box{background:#f7f9fc;border:1px solid var(--line);border-radius:12px;padding:20px 22px;} .slider-row{display:flex;align-items:center;gap:16px;margin-bottom:18px;} .slider-row label{font-size:13px;color:var(--muted);min-width:160px;} input[type=range]{flex:1;accent-color:var(--navy);} .slider-val{font-weight:600;color:var(--navy);min-width:44px;text-align:right;} .check-row{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-size:13px;color:var(--ink);} .check-row input{width:16px;height:16px;accent-color:var(--teal);} .kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:8px;} .kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;} .kpi .l{font-size:11px;color:var(--muted);} .kpi .v{font-size:17px;font-weight:600;color:var(--navy);} .calc-box{background:#fff;border:1px solid var(--teal-line);border-radius:10px;padding:16px 18px;margin-top:16px;} .calc-box .headline{font-size:15px;font-weight:600;color:var(--navy);margin-bottom:10px;} .calc-verdict{font-size:13px;font-weight:600;padding:8px 12px;border-radius:8px;margin-top:10px;} .calc-verdict.pass{background:var(--teal-bg);color:var(--teal);} .calc-verdict.fail{background:var(--red-bg);color:var(--red);} .chart-wrap{position:relative;height:280px;margin-top:18px;} .chart-wrap.tall{height:320px;} .chart-wrap.short{height:240px;} .two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;} .three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;align-items:center;} @media(max-width:760px){.two-col{grid-template-columns:1fr;} .three-col{grid-template-columns:1fr;}} .panel{border-radius:12px;padding:18px 20px;border:1px solid var(--line);} .panel.benefit{background:var(--teal-bg);border-color:var(--teal-line);} .panel.risk{background:var(--red-bg);border-color:var(--red-line);} .panel h3{margin:0 0 10px;font-size:15px;font-weight:600;} .panel.benefit h3{color:var(--teal);} .panel.risk h3{color:var(--red);} .panel ul{margin:0;padding-left:18px;font-size:13.5px;line-height:1.6;color:var(--ink);} .panel li{margin-bottom:8px;} .foot{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);font-size:11.5px;color:var(--muted);line-height:1.6;} .legend{display:flex;gap:18px;font-size:12px;color:var(--muted);margin-top:8px;flex-wrap:wrap;} .legend span{display:flex;align-items:center;gap:6px;} .dot{width:10px;height:10px;border-radius:3px;display:inline-block;} .stackbar{height:34px;border-radius:8px;overflow:hidden;display:flex;border:1px solid var(--line);margin-top:10px;} .stackbar .seg{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff;} .donut-cap{text-align:center;font-size:13px;color:var(--muted);margin-top:8px;} .waterfall-box{background:#f7f9fc;border:1px solid var(--line);border-radius:12px;padding:4px 18px;margin-top:16px;} .wf-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;} .wf-row:last-child{border-bottom:none;} .wf-plus{color:var(--teal);font-weight:600;} .wf-minus{color:var(--red);font-weight:600;} .wf-total{font-weight:600;font-size:16px;color:var(--navy);padding-top:15px;} .slider-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;} @media(max-width:760px){.slider-grid{grid-template-columns:1fr;}} </style> </head> <body> <header class="top"> <div class="inner"> <span class="badge">Client review draft — internal use</span> <h1>Brian Juzefyk — SpaceX position & margin strategy</h1> <p>Evaluating the consolidation of the remaining SpaceX shares, a 30% sale to reduce concentration, and the potential use of margin and tax-loss harvesting to improve portfolio flexibility and after-tax outcomes. All sale proceeds are assumed to remain invested; no assets are withdrawn from the account.</p> </div> </header> <div class="wrap"> <section class="slide"> <span class="slide-num">01</span> <h2>Current position</h2> <p class="sub">Brian holds 58,220 total SpaceX shares, modeled at a flat $144/share. 19,794 have already been transferred into this brokerage; the remaining 38,426 are still held at Morgan Stanley.</p> <div class="cards"> <div class="card"> <div class="label">Total SpaceX shares</div> <div class="value">58,220</div> <div class="note">$144 / share, $4 / share cost basis</div> </div> <div class="card"> <div class="label">Already moved here</div> <div class="value">19,794 sh.</div> <div class="note" id="s01_movedValue">≈ $2,850,336 market value</div> </div> <div class="card"> <div class="label">Remaining at Morgan Stanley</div> <div class="value">38,426 sh.</div> <div class="note" id="s01_remainingValue">≈ $5,533,344 market value</div> </div> <div class="card"> <div class="label">Combined account if fully moved</div> <div class="value" id="s01_combinedValue">≈ $8.69M</div> <div class="note">Other assets + full SpaceX position</div> </div> </div> <div class="stackbar"> <div class="seg" style="width:34%;background:#185fa5;">19,794 sh. — moved (34%)</div> <div class="seg" style="width:66%;background:#7f9fce;">38,426 sh. — remaining (66%)</div> </div> </section> <section class="slide"> <span class="slide-num">02</span> <h2>The decision framework</h2> <p class="sub">Only assets custodied in this account are available as collateral for borrowing here. Retaining the remaining 38,426 shares at Morgan Stanley therefore limits the borrowing capacity available within this account.</p> <table class="center-table"> <tr><th style="text-align:center;">Question</th><th style="text-align:center;">Leave remaining shares at Morgan Stanley</th><th style="text-align:center;">Move remaining shares here</th></tr> <tr><td>Eligible as collateral in this account</td><td class="pill-bad">No — only the 19,794 already here</td><td class="pill-good">Yes — all 58,220 shares</td></tr> <tr><td>Margin capacity unlocked (30% cap)</td><td id="s02_capToday">≈ $947,340</td><td class="pill-good" id="s02_capAfterMove">≈ $2,607,344</td></tr> <tr><td>Incremental capacity from moving</td><td>—</td><td class="pill-good" id="s02_incremental">+ ≈ $1,660,004</td></tr> <tr><td>Reporting / oversight</td><td>Split across two custodians</td><td>Unified household view here</td></tr> </table> <p class="footnote">Figures above reflect full consolidation only. The following sections layer in Brian's planned sale of 30% of the total position.</p> </section> <section class="slide"> <span class="slide-num">03</span> <h2>Illustrative tax impact of a 30% sale</h2> <p class="sub">Brian's modeled cost basis in SpaceX is $4 per share. The illustrative effective tax rate combines the federal long-term capital gains rate, the 3.8% net investment income tax, and California's top marginal rate, where capital gains do not receive a preferential state rate.</p> <div class="cards"> <div class="card"> <div class="label">Shares sold (30% of 58,220)</div> <div class="value">17,466 sh.</div> <div class="note" id="s03_grossProceeds">≈ $2,515,104 gross proceeds at $144/share</div> </div> <div class="card"> <div class="label">Cost basis on shares sold</div> <div class="value" id="s03_costBasis">≈ $69,864</div> <div class="note">$4/share × 17,466 shares</div> </div> <div class="card"> <div class="label">Taxable capital gain</div> <div class="value" id="s03_gain">≈ $2,445,240</div> <div class="note">Proceeds less cost basis</div> </div> <div class="card flag"> <div class="label">Capital gains tax owed (37.1%)</div> <div class="value" id="s03_tax">≈ $907,184</div> <div class="note">20% federal LTCG + 3.8% NIIT + 13.3% California</div> </div> <div class="card"> <div class="label">After-tax proceeds</div> <div class="value" id="s03_afterTax">≈ $1,607,920</div> <div class="note">Reinvested into a diversified bucket — nothing withdrawn</div> </div> <div class="card"> <div class="label">Remaining SpaceX shares</div> <div class="value">40,754 sh.</div> <div class="note" id="s03_remaining">≈ $5,868,576 market value</div> </div> </div> <p class="footnote">Assumes long-term treatment and Brian's top marginal bracket in both jurisdictions. Illustrative only — actual liability depends on his full tax picture and is not tax advice.</p> </section> <section class="slide"> <span class="slide-num">04</span> <h2>Funding the tax obligation while preserving the harvesting base</h2> <p class="sub">Under this illustration, the full pre-tax sale proceeds are invested in the direct-indexed portfolio to maximize the assets available for tax-loss harvesting. Rather than withholding part of the proceeds for taxes, a separate margin draw equal to the estimated tax obligation funds a money-market reserve until payment is due. This structure is intended to preserve the harvesting base without requiring a later sale to raise tax liquidity.</p> <div class="cards"> <div class="card"> <div class="label">Pre-tax proceeds invested in direct index</div> <div class="value" id="s04_grossProceeds">$2,515,104</div> <div class="note">The full amount — nothing held back here</div> </div> <div class="card flag"> <div class="label">Capital gains tax due</div> <div class="value" id="s04_taxDue">$907,184</div> <div class="note">Reference — from the prior section</div> </div> <div class="card"> <div class="label">Tax-reserve margin draw</div> <div class="value" id="s04_reserveDraw">$907,184</div> <div class="note">Sized to match the tax bill exactly</div> </div> <div class="card win"> <div class="label">Reserve balance after 1 year @ 4%</div> <div class="value" id="s04_reserveBalance">$943,471</div> <div class="note">Still fully covers the tax bill, with room to spare</div> </div> </div> <div class="waterfall-box"> <div class="wf-row"><span>Money-market income on the reserve (4%)</span><span class="wf-plus" id="s04_mmIncome">+$0</span></div> <div class="wf-row"><span>Margin interest on the reserve draw (4.75%)</span><span class="wf-minus" id="s04_loanInterest">-$0</span></div> <div class="wf-row wf-total"><span>Net carry cost of the reserve</span><span id="s04_netCarry">$0</span></div> </div> <div class="chart-wrap short"><canvas id="reserveChart" role="img" aria-label="Bar chart comparing the capital gains tax due against the money market reserve balance after one year"></canvas></div> <div class="waterfall-box" style="margin-top:20px;"> <div class="wf-row"><span>TLH benefit using pre-tax proceeds as the base</span><span class="wf-plus" id="s04_tlhPretax">+$0</span></div> <div class="wf-row"><span>TLH benefit if only after-tax proceeds were invested</span><span class="wf-minus" id="s04_tlhAftertax">-$0</span></div> <div class="wf-row"><span>Extra TLH benefit from investing pre-tax</span><span class="wf-plus" id="s04_tlhGain">+$0</span></div> <div class="wf-row"><span>Less: net carry cost of the reserve</span><span class="wf-minus" id="s04_carryAgain">-$0</span></div> <div class="wf-row wf-total"><span>Net advantage of this structure</span><span id="s04_netAdvantage">$0</span></div> </div> <p class="footnote">This dedicated tax-reserve draw uses the same margin capacity discussed elsewhere in this analysis — the move%/utilization% figures in the following sections don't net this reserve out, so read this section as illustrating the mechanic and its own economics, not as additive to the capacity numbers shown elsewhere. Assumes the reserve is held for a full year before the tax payment is due; a shorter holding period (e.g., quarterly estimated payments) would scale both the money-market income and the margin interest down proportionally, leaving a similar net carry cost as a percentage but a smaller dollar amount. Money-market yield and margin rate are both modeling assumptions, not guarantees.</p> </section> <section class="slide"> <span class="slide-num">05</span> <h2>Incremental costs — separate decisions, separate economics</h2> <p class="sub">The advisory fee and margin interest are driven by different decisions. The incremental advisory fee applies only to assets transferred from Morgan Stanley, while margin interest applies only to amounts actually borrowed. Either decision can be evaluated independently.</p> <h3 style="font-size:15px;font-weight:600;color:var(--navy);margin:8px 0 4px;">Advisory fee — triggered only by moving shares</h3> <p class="sub">The marginal 0.50% tier applies to the value of shares newly moved into this brokerage, whether or not margin is ever used.</p> <div class="chart-wrap short"><canvas id="feeChart" role="img" aria-label="Bar chart of added annual advisory fee by percentage of remaining shares moved from Morgan Stanley"></canvas></div> <table class="center-table" style="margin-top:14px;"> <thead><tr><th>% of remaining shares moved</th><th>Shares moved from Morgan Stanley</th><th>Value moved</th><th>Added advisory fee (0.50%)</th></tr></thead> <tbody id="feeTableBody"></tbody> </table> <h3 style="font-size:15px;font-weight:600;color:var(--navy);margin:24px 0 4px;">Margin interest — triggered only by using margin</h3> <p class="sub">4.75% interest on whatever is actually borrowed (the negotiated rate: federal funds rate + 1%), scaling with utilization. No advisory fee is attached to this — that's the separate cost above. "Margin capacity" below is simply the collateral base × the 30% policy cap — the most that could ever be borrowed at each move level.</p> <div class="chart-wrap tall"><canvas id="interestChart" role="img" aria-label="Grouped bar chart of margin interest cost by percentage of remaining shares moved from Morgan Stanley and by margin utilization level"></canvas></div> <table class="center-table" style="margin-top:14px;"> <thead><tr><th>% of remaining shares moved</th><th>Collateral base</th><th>Margin capacity (30% cap)</th><th>0% utilization</th><th>10% utilization</th><th>20% utilization</th><th>30% utilization</th></tr></thead> <tbody id="interestTableBody"></tbody> </table> <p class="footnote">"Collateral base" = other assets + SpaceX shares held in this brokerage at $144/share. No sale is assumed in this section — it isolates the moving and margin decisions from each other.</p> </section> <section class="slide"> <span class="slide-num">06</span> <h2>Tax-loss harvesting: illustrative after-tax benefit</h2> <p class="sub">The base case: sell 30% of SpaceX, move no additional shares, use no margin — the direct-indexed portfolio for tax-loss harvesting is funded only by the <b>$2,515,104 in pre-tax sale proceeds</b>. Transferring additional shares and using margin can further expand the assets available for harvesting because borrowed proceeds are also assumed to be invested in the direct-indexed portfolio.</p> <div class="cards"> <div class="card win"> <div class="label">Base case: 0% moved, 0% margin</div> <div class="value" id="s06_base">+ $93,310</div> <div class="note">TLH on sale proceeds alone</div> </div> <div class="card win"> <div class="label">Illustrative high-utilization scenario: 100% moved, 30% margin</div> <div class="value" id="s06_best">+ $179,946</div> <div class="note">Sale proceeds + full margin utilization</div> </div> <div class="card"> <div class="label">After-tax proceeds, no TLH at all</div> <div class="value" id="s06_noTlh">$1,607,920</div> <div class="note">Reference point with no harvesting</div> </div> <div class="card win"> <div class="label">After-tax proceeds, base case with TLH</div> <div class="value" id="s06_baseAfterTax">$1,701,230</div> <div class="note">0% moved, 0% margin</div> </div> </div> <div class="chart-wrap tall"><canvas id="tlhChart" role="img" aria-label="Grouped bar chart of tax loss harvesting savings by percentage of remaining shares moved from Morgan Stanley and by margin utilization level"></canvas></div> <table class="center-table" style="margin-top:18px;"> <thead><tr><th>% of remaining shares moved</th><th>Shares here after sale</th><th>Collateral base</th><th>TLH savings @ 0%</th><th>TLH savings @ 10%</th><th>TLH savings @ 20%</th><th>TLH savings @ 30%</th></tr></thead> <tbody id="tlhTableBody"></tbody> </table> <p class="footnote">Assumes the 30% sale is executed from whatever SpaceX shares already sit in this brokerage; at 0% additional shares moved, that means selling 17,466 of the 19,794 shares already here, leaving 2,328 shares plus the reinvested proceeds as the base. "Collateral base" and "TLH savings" both include the reinvested after-tax proceeds and any SpaceX shares held here, but the direct-indexed harvesting base itself is proceeds (pre-tax) + margin drawn — not the collateral base. This can be a large offset, but it is not guaranteed: it assumes ~10% of the direct-indexed base generates realized losses, and the benefit is front-loaded, typically shrinking in later years as the available tax-lot inventory is used up.</p> </section> <section class="slide"> <span class="slide-num">07</span> <h2>Portfolio concentration across the strategy</h2> <p class="sub">Consolidation initially increases SpaceX's percentage of assets held in this account. The modeled 30% sale and diversified reinvestment subsequently reduce single-stock concentration relative to the starting position.</p> <div class="three-col"> <div> <div class="chart-wrap short"><canvas id="donutToday" role="img" aria-label="Donut chart showing SpaceX and other holdings percentages of the account today"></canvas></div> <div class="donut-cap">Today</div> </div> <div> <div class="chart-wrap short"><canvas id="donutMoved" role="img" aria-label="Donut chart showing SpaceX and other holdings percentages after moving all remaining shares, before any sale"></canvas></div> <div class="donut-cap">After moving, before selling</div> </div> <div> <div class="chart-wrap short"><canvas id="donutSold" role="img" aria-label="Donut chart showing SpaceX and other holdings percentages after moving and selling 30 percent"></canvas></div> <div class="donut-cap">After moving + selling 30%</div> </div> </div> </section> <section class="slide"> <span class="slide-num">08</span> <h2>Scenario analysis: incremental economics of consolidation and margin</h2> <p class="sub">The base case is fixed: sell 30% of SpaceX, transfer no additional shares, and use no margin. The base case includes its own modeled tax-loss-harvesting benefit from the sale proceeds and is shown for reference only. The controls below isolate the <b>incremental</b> economics of transferring additional shares and/or using margin. Adjust the transfer percentage, margin utilization, tax-loss-harvesting rate, and assumed return to test alternative scenarios.</p> <div class="slider-box"> <p class="sub" style="margin:0 0 16px;max-width:none;"><b>Interactive scenario tool:</b> move the sliders to compare alternative assumptions. All outputs update automatically and remain illustrative.</p> <div class="slider-grid"> <div class="slider-row"> <label for="nb_move">% of remaining shares moved</label> <input type="range" id="nb_move" min="0" max="100" step="5" value="100"> <span class="slider-val"><span id="nb_moveOut">100</span>%</span> </div> <div class="slider-row"> <label for="nb_util">Margin utilization</label> <input type="range" id="nb_util" min="0" max="30" step="1" value="30"> <span class="slider-val"><span id="nb_utilOut">30</span>%</span> </div> <div class="slider-row"> <label for="nb_tlh">TLH harvest rate</label> <input type="range" id="nb_tlh" min="0" max="20" step="1" value="10"> <span class="slider-val"><span id="nb_tlhOut">10</span>%</span> </div> <div class="slider-row"> <label for="nb_return">Assumed annual return</label> <input type="range" id="nb_return" min="0" max="20" step="1" value="9"> <span class="slider-val"><span id="nb_returnOut">9</span>%</span> </div> </div> <div class="kpi-grid" style="margin-top:16px;"> <div class="kpi"><div class="l">Shares moved from Morgan Stanley</div><div class="v" id="nb_sharesMoved">—</div></div> <div class="kpi"><div class="l">Collateral base</div><div class="v" id="nb_base">—</div></div> <div class="kpi"><div class="l">Amount borrowed</div><div class="v" id="nb_borrowed">—</div></div> <div class="kpi"><div class="l">Base case TLH benefit (reference only)</div><div class="v" id="nb_baseTlh">—</div></div> </div> <div class="waterfall-box"> <div class="wf-row"><span>Return on borrowed capital</span><span class="wf-plus" id="wfReturn">+$0</span></div> <div class="wf-row"><span>Margin interest cost</span><span class="wf-minus" id="wfInterest">-$0</span></div> <div class="wf-row"><span>Advisory fee cost (from moving shares)</span><span class="wf-minus" id="wfFee">-$0</span></div> <div class="wf-row"><span>Incremental TLH benefit (beyond base case)</span><span class="wf-plus" id="wfTlh">+$0</span></div> <div class="wf-row wf-total"><span>Incremental net benefit vs. base case</span><span id="wfNet">$0</span></div> </div> <div class="calc-box"> <div class="headline">Breakeven calculator</div> <div class="kpi-grid"> <div class="kpi"><div class="l">Breakeven return needed</div><div class="v" id="nb_breakeven">—</div></div> <div class="kpi"><div class="l">Net benefit at assumed return</div><div class="v" id="nb_netAtAssumed">—</div></div> </div> <div class="calc-verdict" id="nb_verdict">—</div> </div> </div> <div class="chart-wrap"><canvas id="nb_chart" role="img" aria-label="Bar chart of incremental net benefit at assumed returns of 0, 5, 7, 10, 15 and 20 percent, given the current slider settings"></canvas></div> <div class="legend"> <span><span class="dot" style="background:#199e70"></span>Net gain vs. base case</span> <span><span class="dot" style="background:#e24b4a"></span>Net cost vs. base case</span> </div> <p class="footnote">Everything here is measured against the base case (sell 30%, move nothing further, use no margin) — that base case's own TLH benefit is shown for reference but netted out of every figure above, so a net benefit of $0 means "no better or worse than just doing the base case." The 30% SpaceX sale, its capital gains tax, and the after-tax reinvested proceeds are held constant across every slider combination; the advisory fee (0.50%) and margin rate (4.75%) are also fixed. Tax-loss harvesting is a one-time year-one benefit, consistent with the rest of this analysis.</p> </section> <section class="slide two-col"> <div class="panel benefit"> <h3>Potential strategic benefits</h3> <ul> <li>Creates a path to diversify a concentrated single-stock position while preserving flexibility around the timing and amount of any sale; transferring shares itself is not modeled as a taxable event.</li> <li>The advisory fee only shows up if shares are actually moved from Morgan Stanley; margin interest only shows up if margin is actually drawn — the two costs are independent, and doing neither costs nothing.</li> <li>Because the modeled direct-indexed strategy includes the full pre-tax sale proceeds in the harvesting base, the illustrative year-one tax benefit can be meaningful and increases as additional margin capital is invested.</li> <li>Selling 30% of the position and reinvesting diversified also reduces concentration risk in this account.</li> <li>The scenario analysis allows the transfer and borrowing decisions to be evaluated separately, including scenarios in which margin is used against assets already custodied in the account.</li> </ul> </div> <div class="panel risk"> <h3>Key considerations and risks</h3> <ul> <li>The estimated $907,184 capital gains tax arises from the modeled sale and is independent of how the proceeds are subsequently invested or whether margin is used. Timing of tax payments should be confirmed with the client's tax advisor.</li> <li>The modeled tax-loss-harvesting benefit is front-loaded and depends on market conditions, tax-lot availability, realized gains, and the implementation of the direct-indexing strategy. The 10% harvest rate is an illustration, not an expectation or guarantee.</li> <li>The breakeven return changes with margin utilization, financing costs, advisory fees, and realized tax-loss-harvesting benefits. Outcomes below the modeled breakeven reduce the incremental economic benefit.</li> <li>The 4.75% rate is pegged to the federal funds rate plus 1% — if the Fed raises rates, this negotiated rate rises with it, along with the break-even bar.</li> <li>Actual capital gains tax owed depends on Brian's full tax situation and is not guaranteed to match the 37.1% assumption used here.</li> </ul> </div> </section> <div class="foot"> Figures are illustrative and for internal discussion only — not a recommendation, offer, or guarantee of any specific outcome. All SpaceX shares are modeled at a flat $144/share and a $4/share cost basis for consistency; this may differ from custodian-reported or actual transaction values. The capital gains tax assumption (37.1% — 20% federal LTCG + 3.8% NIIT + 13.3% California top marginal rate) assumes long-term treatment and Brian's top marginal bracket in both jurisdictions; it is illustrative only, not tax advice, and actual liability should be confirmed with his tax advisor. The tax-loss harvesting assumption (≈10% of a direct-indexed base — the full pre-tax sale proceeds plus any margin drawn — harvested as realized losses, taxed at the same 37.1% rate) is an illustrative planning assumption, not a guarantee; harvestable losses depend on market conditions, the mechanics of a specific direct-indexing mandate, and typically diminish over time. All sale proceeds are assumed reinvested — no assets are withdrawn from the account. Margin cost-of-capital is modeled as a flat 4.75% interest rate on amounts actually borrowed (Brian's special negotiated rate: federal funds rate + 1%), with no advisory fee attached. The 0.50% advisory fee (the marginal tier of Brian's tiered advisory schedule once total assets exceed $5M) is a separate cost that applies only to the value of shares actually moved into this brokerage from Morgan Stanley, regardless of whether margin is ever used. Both rates are modeling assumptions and actual terms vary, with margin rates typically variable. The 30% cap is a firm policy assumption for this analysis, not a regulatory limit — actual maintenance requirements are set by the lender and can exceed this figure, especially against a concentrated, single-stock position. This analysis assumes the remaining shares are unrestricted and can be transferred and sold freely. Margin borrowing involves risk of loss, including the potential for a margin call or forced liquidation. This material does not constitute tax, legal, or investment advice; consult Brian's tax and legal advisors before acting. </div> </div> <script src="https://cdn.jsdelivr.net/npm/chart.js@4.5.0/dist/chart.umd.js" integrity="sha384-iU8HYtnGQ8Cy4zl7gbNMOhsDTTKX02BTXptVP/vqAWIaTfM7isw76iyZCsjL2eVi" crossorigin="anonymous"></script> <script> // ---- Core model constants ---- var otherAssets = 307465; var price = 144; var costBasisPerShare = 4; var totalShares = 58220; var movedShares = 19794; var remainingShares = totalShares - movedShares; // 38426 var sharesSold = Math.round(totalShares * 0.30); // 17466 var remainingAfterSale = totalShares - sharesSold; var movedValue = movedShares * price; var totalSpaceXValue = totalShares * price; var combinedIfFullyMoved = otherAssets + totalSpaceXValue; var knownAccountToday = otherAssets + movedValue; var capToday = knownAccountToday * 0.30; var capAfterMove = combinedIfFullyMoved * 0.30; var grossProceeds = sharesSold * price; var costBasisSold = sharesSold * costBasisPerShare; var capitalGain = grossProceeds - costBasisSold; var taxRate = 0.371; var grossTax = capitalGain * taxRate; var afterTaxProceeds = grossProceeds - grossTax; var remainingSpaceXAfterSaleValue = remainingAfterSale * price; var postSaleAUM = otherAssets + remainingSpaceXAfterSaleValue + afterTaxProceeds; var marginRate = 0.0475; // special negotiated rate: federal funds rate + 1% — applies only when margin is drawn var marginalFeeRate = 0.005; // advisory fee marginal tier — applies only to assets moved from Morgan Stanley var tlhHarvestRate = 0.10; function fmt(n){ return '$' + Math.round(n).toLocaleString('en-US'); } function fmtK(v){ return (v < 0 ? '-$' : '$') + Math.abs(Math.round(v/1000)) + 'k'; } function fmtSigned(n){ return (n < 0 ? '-$' : '+$') + Math.abs(Math.round(n)).toLocaleString('en-US'); } // ---- Slide 01 ---- document.getElementById('s01_movedValue').textContent = '≈ ' + fmt(movedValue) + ' market value'; document.getElementById('s01_remainingValue').textContent = '≈ ' + fmt(remainingShares*price) + ' market value'; document.getElementById('s01_combinedValue').textContent = '≈ $' + (combinedIfFullyMoved/1000000).toFixed(2) + 'M'; // ---- Slide 02 ---- document.getElementById('s02_capToday').textContent = '≈ ' + fmt(capToday); document.getElementById('s02_capAfterMove').textContent = '≈ ' + fmt(capAfterMove); document.getElementById('s02_incremental').textContent = '+ ≈ ' + fmt(capAfterMove - capToday); // ---- Slide 03 ---- document.getElementById('s03_grossProceeds').textContent = '≈ ' + fmt(grossProceeds) + ' gross proceeds at $144/share'; document.getElementById('s03_costBasis').textContent = '≈ ' + fmt(costBasisSold); document.getElementById('s03_gain').textContent = '≈ ' + fmt(capitalGain); document.getElementById('s03_tax').textContent = '≈ ' + fmt(grossTax); document.getElementById('s03_afterTax').textContent = '≈ ' + fmt(afterTaxProceeds); document.getElementById('s03_remaining').textContent = '≈ ' + fmt(remainingSpaceXAfterSaleValue) + ' market value'; // ---- Slide 04: funding the tax bill with a money-market reserve ---- var moneyMarketRate = 0.04; var taxReserve = grossTax; var mmIncome = taxReserve * moneyMarketRate; var loanInterest = taxReserve * marginRate; var netCarry = mmIncome - loanInterest; var reserveBalance = taxReserve * (1 + moneyMarketRate); var tlhPretaxBase = grossProceeds * tlhHarvestRate * taxRate; var tlhAftertaxBase = afterTaxProceeds * tlhHarvestRate * taxRate; var tlhGainFromPretax = tlhPretaxBase - tlhAftertaxBase; var netAdvantage = tlhGainFromPretax + netCarry; document.getElementById('s04_grossProceeds').textContent = fmt(grossProceeds); document.getElementById('s04_taxDue').textContent = fmt(taxReserve); document.getElementById('s04_reserveDraw').textContent = fmt(taxReserve); document.getElementById('s04_reserveBalance').textContent = fmt(reserveBalance); document.getElementById('s04_mmIncome').textContent = fmtSigned(mmIncome); document.getElementById('s04_loanInterest').textContent = '-' + fmt(loanInterest); var s04NetCarryEl = document.getElementById('s04_netCarry'); s04NetCarryEl.textContent = fmtSigned(netCarry); s04NetCarryEl.style.color = netCarry >= 0 ? 'var(--teal)' : 'var(--red)'; document.getElementById('s04_tlhPretax').textContent = fmtSigned(tlhPretaxBase); document.getElementById('s04_tlhAftertax').textContent = '-' + fmt(tlhAftertaxBase); document.getElementById('s04_tlhGain').textContent = fmtSigned(tlhGainFromPretax); document.getElementById('s04_carryAgain').textContent = '-' + fmt(Math.abs(netCarry)); var s04NetAdvantageEl = document.getElementById('s04_netAdvantage'); s04NetAdvantageEl.textContent = fmtSigned(netAdvantage); s04NetAdvantageEl.style.color = netAdvantage >= 0 ? 'var(--teal)' : 'var(--red)'; new Chart(document.getElementById('reserveChart'), { type: 'bar', data: { labels: ['Capital gains tax due', 'Reserve balance after 1 year'], datasets: [{ label: 'Amount', data: [Math.round(taxReserve), Math.round(reserveBalance)], backgroundColor: ['#a4342a', '#199e70'], borderRadius: 6, maxBarThickness: 90 }] }, options: { responsive: true, maintainAspectRatio: false, plugins: { legend: { display: false }, tooltip: { callbacks: { label: function(ctx){ return fmt(ctx.parsed.y); } } } }, scales: { x: { grid: { display: false } }, y: { ticks: { callback: fmtK }, grid: { color: '#e1e0d9' }, title: { display: true, text: '$' } } } } }); // ---- Slide 05: two independent cost drivers ---- var moveFractions = [0, 0.25, 0.50, 1.00]; var utilLevels = [0, 10, 20, 30]; var utilPalette = ['#e6f1fb', '#7f9fce', '#185fa5', '#0b2545']; var moveScenarios = moveFractions.map(function(f){ var sharesFromMS = Math.round(remainingShares * f); var movedThisSliceValue = sharesFromMS * price; var totalInAccount = movedShares + sharesFromMS; var totalValue = totalInAccount * price; var base = otherAssets + totalValue; var addedFee = movedThisSliceValue * marginalFeeRate; var interestCosts = utilLevels.map(function(u){ return base * (u/100) * marginRate; }); return { f: f, sharesFromMS: sharesFromMS, movedThisSliceValue: movedThisSliceValue, base: base, addedFee: addedFee, interestCosts: interestCosts }; }); new Chart(document.getElementById('feeChart'), { type: 'bar', data: { labels: moveScenarios.map(function(s){ return (s.f*100).toFixed(0) + '% moved'; }), datasets: [{ label: 'Added advisory fee', data: moveScenarios.map(function(s){ return Math.round(s.addedFee); }), backgroundColor: utilPalette, borderRadius: 6, maxBarThickness: 80 }] }, options: { responsive: true, maintainAspectRatio: false, plugins: { legend: { display: false }, tooltip: { callbacks: { label: function(ctx){ return fmt(ctx.parsed.y); } } } }, scales: { x: { grid: { display: false } }, y: { ticks: { callback: fmtK }, grid: { color: '#e1e0d9' }, title: { display: true, text: 'Added annual advisory fee, $' } } } } }); var feeTableBody = document.getElementById('feeTableBody'); moveScenarios.forEach(function(s){ var tr = document.createElement('tr'); tr.innerHTML = '<td>' + (s.f*100).toFixed(0) + '%</td>' + '<td>' + s.sharesFromMS.toLocaleString('en-US') + ' sh.</td>' + '<td>' + fmt(s.movedThisSliceValue) + '</td>' + '<td>' + fmt(s.addedFee) + '</td>'; feeTableBody.appendChild(tr); }); new Chart(document.getElementById('interestChart'), { type: 'bar', data: { labels: moveScenarios.map(function(s){ return (s.f*100).toFixed(0) + '% of remaining shares moved'; }), datasets: utilLevels.map(function(u, i){ return { label: u + '% utilization', data: moveScenarios.map(function(s){ return Math.round(s.interestCosts[i]); }), backgroundColor: utilPalette[i], borderRadius: 4, maxBarThickness: 32 }; }) }, options: { responsive: true, maintainAspectRatio: false, plugins: { legend: { display: true, position: 'top', align: 'end', labels: { boxWidth: 10, boxHeight: 10, color: '#5b6472', font: { size: 12 } } }, tooltip: { callbacks: { label: function(ctx){ return ctx.dataset.label + ': ' + fmt(ctx.parsed.y); } } } }, scales: { x: { grid: { display: false } }, y: { ticks: { callback: fmtK }, grid: { color: '#e1e0d9' }, title: { display: true, text: 'Margin interest cost, $' } } } } }); var interestTableBody = document.getElementById('interestTableBody'); moveScenarios.forEach(function(s){ var tr = document.createElement('tr'); tr.innerHTML = '<td>' + (s.f*100).toFixed(0) + '%</td>' + '<td>' + fmt(s.base) + '</td>' + '<td class="pill-good">' + fmt(s.base*0.30) + '</td>' + '<td>' + fmt(s.interestCosts[0]) + '</td>' + '<td>' + fmt(s.interestCosts[1]) + '</td>' + '<td>' + fmt(s.interestCosts[2]) + '</td>' + '<td>' + fmt(s.interestCosts[3]) + '</td>'; interestTableBody.appendChild(tr); }); // ---- Slide 06: TLH by move % and utilization (direct-index base = pre-tax proceeds + margin) ---- var saleMoveScenarios = moveFractions.map(function(f){ var sharesFromMS = Math.round(remainingShares * f); var sharesHereAfterSale = (movedShares + sharesFromMS) - sharesSold; var shareValue = sharesHereAfterSale * price; var base = otherAssets + shareValue + afterTaxProceeds; var borrowedByUtil = utilLevels.map(function(u){ return base * (u/100); }); var tlhBaseByUtil = borrowedByUtil.map(function(b){ return grossProceeds + b; }); var tlhSavingsByUtil = tlhBaseByUtil.map(function(tb){ return tb * tlhHarvestRate * taxRate; }); return { f: f, sharesHereAfterSale: sharesHereAfterSale, base: base, borrowedByUtil: borrowedByUtil, tlhSavingsByUtil: tlhSavingsByUtil }; }); var baseCaseTlh = saleMoveScenarios[0].tlhSavingsByUtil[0]; // 0% moved, 0% utilization var bestCaseTlh = saleMoveScenarios[saleMoveScenarios.length-1].tlhSavingsByUtil[utilLevels.length-1]; // 100% moved, 30% utilization var baseCaseNetTax = grossTax - baseCaseTlh; var baseCaseAfterTax = grossProceeds - baseCaseNetTax; document.getElementById('s06_base').textContent = '+ ' + fmt(baseCaseTlh); document.getElementById('s06_best').textContent = '+ ' + fmt(bestCaseTlh); document.getElementById('s06_noTlh').textContent = fmt(afterTaxProceeds); document.getElementById('s06_baseAfterTax').textContent = fmt(baseCaseAfterTax); new Chart(document.getElementById('tlhChart'), { type: 'bar', data: { labels: saleMoveScenarios.map(function(s){ return (s.f*100).toFixed(0) + '% of remaining shares moved'; }), datasets: utilLevels.map(function(u, i){ return { label: u + '% utilization', data: saleMoveScenarios.map(function(s){ return Math.round(s.tlhSavingsByUtil[i]); }), backgroundColor: utilPalette[i], borderRadius: 4, maxBarThickness: 32 }; }) }, options: { responsive: true, maintainAspectRatio: false, plugins: { legend: { display: true, position: 'top', align: 'end', labels: { boxWidth: 10, boxHeight: 10, color: '#5b6472', font: { size: 12 } } }, tooltip: { callbacks: { label: function(ctx){ return ctx.dataset.label + ': ' + fmt(ctx.parsed.y); } } } }, scales: { x: { grid: { display: false } }, y: { ticks: { callback: fmtK }, grid: { color: '#e1e0d9' }, title: { display: true, text: 'Tax-loss harvesting savings, $' } } } } }); var tlhTableBody = document.getElementById('tlhTableBody'); saleMoveScenarios.forEach(function(s){ var tr = document.createElement('tr'); tr.innerHTML = '<td>' + (s.f*100).toFixed(0) + '%</td>' + '<td>' + s.sharesHereAfterSale.toLocaleString('en-US') + ' sh.</td>' + '<td>' + fmt(s.base) + '</td>' + '<td class="pill-good">' + fmtSigned(s.tlhSavingsByUtil[0]) + '</td>' + '<td class="pill-good">' + fmtSigned(s.tlhSavingsByUtil[1]) + '</td>' + '<td class="pill-good">' + fmtSigned(s.tlhSavingsByUtil[2]) + '</td>' + '<td class="pill-good">' + fmtSigned(s.tlhSavingsByUtil[3]) + '</td>'; tlhTableBody.appendChild(tr); }); // ---- Slide 07: concentration donuts ---- function makeDonut(id, spacexPct){ new Chart(document.getElementById(id), { type: 'doughnut', data: { labels: ['SpaceX', 'Other holdings'], datasets: [{ data: [spacexPct, 100 - spacexPct], backgroundColor: ['#0b2545', '#cadcfc'], borderColor: '#ffffff', borderWidth: 2 }] }, options: { responsive: true, maintainAspectRatio: false, cutout: '62%', plugins: { legend: { display: true, position: 'bottom', labels: { boxWidth: 10, boxHeight: 10, color: '#5b6472', font: { size: 12 } } }, tooltip: { callbacks: { label: function(ctx){ return ctx.label + ': ' + ctx.parsed + '%'; } } } } } }); } makeDonut('donutToday', Math.round(movedValue/knownAccountToday*100)); makeDonut('donutMoved', Math.round(totalSpaceXValue/combinedIfFullyMoved*100)); makeDonut('donutSold', Math.round(remainingSpaceXAfterSaleValue/postSaleAUM*100)); // ---- Slide 08: full net-benefit calculator, every variable adjustable ---- var nbMove = document.getElementById('nb_move'); var nbUtil = document.getElementById('nb_util'); var nbTlh = document.getElementById('nb_tlh'); var nbReturn = document.getElementById('nb_return'); var nbInputs = [nbMove, nbUtil, nbTlh, nbReturn]; var nbMoveOut = document.getElementById('nb_moveOut'); var nbUtilOut = document.getElementById('nb_utilOut'); var nbTlhOut = document.getElementById('nb_tlhOut'); var nbReturnOut = document.getElementById('nb_returnOut'); var nbSharesMoved = document.getElementById('nb_sharesMoved'); var nbBase = document.getElementById('nb_base'); var nbBorrowed = document.getElementById('nb_borrowed'); var nbBaseTlh = document.getElementById('nb_baseTlh'); var wfReturn = document.getElementById('wfReturn'); var wfInterest = document.getElementById('wfInterest'); var wfFee = document.getElementById('wfFee'); var wfTlh = document.getElementById('wfTlh'); var wfNet = document.getElementById('wfNet'); var nbBreakeven = document.getElementById('nb_breakeven'); var nbNetAtAssumed = document.getElementById('nb_netAtAssumed'); var nbVerdict = document.getElementById('nb_verdict'); var nbChart; function computeNetBenefit(movePctVal, utilPctVal, tlhRateVal, returnPct){ var sharesFromMS = Math.round(remainingShares * (movePctVal/100)); var movedThisSliceValue = sharesFromMS * price; var sharesHereAfterSale = (movedShares + sharesFromMS) - sharesSold; var shareValue = sharesHereAfterSale * price; var base = otherAssets + shareValue + afterTaxProceeds; var borrowed = base * (utilPctVal/100); var interestCost = borrowed * marginRate; var feeCost = movedThisSliceValue * marginalFeeRate; var harvestFrac = tlhRateVal/100; var baseCaseTlh = grossProceeds * harvestFrac * taxRate; // reference only — the base case's own TLH benefit var incrementalTlh = borrowed * harvestFrac * taxRate; // the ADDED TLH from margining, beyond the base case var returnOnCapital = borrowed * (returnPct/100); var netBenefit = returnOnCapital - interestCost - feeCost + incrementalTlh; var breakevenPct = borrowed > 0 ? (((interestCost + feeCost) / borrowed) - harvestFrac * taxRate) * 100 : null; return { sharesFromMS: sharesFromMS, base: base, borrowed: borrowed, interestCost: interestCost, feeCost: feeCost, baseCaseTlh: baseCaseTlh, incrementalTlh: incrementalTlh, returnOnCapital: returnOnCapital, netBenefit: netBenefit, breakevenPct: breakevenPct }; } function renderNetBenefit(){ var movePctVal = parseFloat(nbMove.value); var utilPctVal = parseFloat(nbUtil.value); var tlhRateVal = parseFloat(nbTlh.value); var returnPct = parseFloat(nbReturn.value); nbMoveOut.textContent = movePctVal; nbUtilOut.textContent = utilPctVal; nbTlhOut.textContent = tlhRateVal; nbReturnOut.textContent = returnPct; var r = computeNetBenefit(movePctVal, utilPctVal, tlhRateVal, returnPct); nbSharesMoved.textContent = r.sharesFromMS.toLocaleString('en-US') + ' sh.'; nbBase.textContent = fmt(r.base); nbBorrowed.textContent = fmt(r.borrowed); nbBaseTlh.textContent = fmt(r.baseCaseTlh); wfReturn.textContent = fmtSigned(r.returnOnCapital); wfInterest.textContent = '-' + fmt(r.interestCost); wfFee.textContent = '-' + fmt(r.feeCost); wfTlh.textContent = fmtSigned(r.incrementalTlh); wfNet.textContent = fmtSigned(r.netBenefit); wfNet.style.color = r.netBenefit >= 0 ? 'var(--teal)' : 'var(--red)'; nbNetAtAssumed.textContent = fmtSigned(r.netBenefit); if(r.breakevenPct === null){ nbBreakeven.textContent = 'n/a'; if(r.netBenefit >= 0){ nbVerdict.className = 'calc-verdict pass'; nbVerdict.textContent = 'No margin is drawn, so the return assumption has no effect — incremental net benefit is fixed at ' + fmtSigned(r.netBenefit) + '.'; } else { nbVerdict.className = 'calc-verdict fail'; nbVerdict.textContent = 'No margin is drawn, so there\'s no return to offset the advisory fee from moving shares — incremental net benefit is fixed at ' + fmtSigned(r.netBenefit) + '.'; } } else { nbBreakeven.textContent = r.breakevenPct.toFixed(1) + '%'; if(returnPct >= r.breakevenPct){ nbVerdict.className = 'calc-verdict pass'; nbVerdict.textContent = 'At ' + returnPct + '% assumed return, the modeled return is ' + (returnPct - r.breakevenPct).toFixed(1) + ' percentage points above the ' + r.breakevenPct.toFixed(1) + '% breakeven level. The resulting incremental value is shown above.'; } else { nbVerdict.className = 'calc-verdict fail'; nbVerdict.textContent = 'At ' + returnPct + '% assumed return, the modeled return is ' + (r.breakevenPct - returnPct).toFixed(1) + ' percentage points below the ' + r.breakevenPct.toFixed(1) + '% breakeven level. The resulting incremental value is shown above.'; } } var returnsRange = [0, 0.05, 0.07, 0.10, 0.15, 0.20]; var chartLabels = returnsRange.map(function(x){ return (x*100).toFixed(0) + '%'; }); var chartData = returnsRange.map(function(x){ var rr = computeNetBenefit(movePctVal, utilPctVal, tlhRateVal, x*100); return Math.round(rr.netBenefit); }); var chartColors = chartData.map(function(v){ return v >= 0 ? '#199e70' : '#e24b4a'; }); if(nbChart){ nbChart.data.datasets[0].data = chartData; nbChart.data.datasets[0].backgroundColor = chartColors; nbChart.update(); } else { nbChart = new Chart(document.getElementById('nb_chart'), { type: 'bar', data: { labels: chartLabels, datasets: [{ label: 'Net benefit', data: chartData, backgroundColor: chartColors, borderRadius: 4, maxBarThickness: 40 }] }, options: { responsive: true, maintainAspectRatio: false, plugins: { legend: { display: false }, tooltip: { callbacks: { label: function(ctx){ return (ctx.parsed.y < 0 ? '-$' : '$') + Math.abs(ctx.parsed.y).toLocaleString('en-US'); } } } }, scales: { x: { title: { display: true, text: 'Assumed annual return on borrowed capital' }, grid: { display: false } }, y: { title: { display: true, text: 'Net benefit / (cost), $' }, ticks: { callback: fmtK }, grid: { color: '#e1e0d9' } } } } }); } } nbInputs.forEach(function(el){ el.addEventListener('input', renderNetBenefit); }); renderNetBenefit(); </script> </body> </html>