:root{--ink:#142936;--muted:#5b7078;--paper:#f3f5f2;--line:#d5dfdb;--teal:#087c70;--navy:#173c53;--gold:#a96b16;--mint:#e1efea}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 "Helvetica Neue",Arial,sans-serif}a{color:var(--teal)}header,footer{max-width:1300px;margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}header{border-bottom:1px solid var(--line)}.brand{font-size:28px;font-weight:750;letter-spacing:-.065em;color:var(--ink);text-decoration:none;line-height:1}.brand span{color:var(--teal)}.brand small{display:block;font-size:13px;font-weight:400;letter-spacing:0;margin-top:8px}.back{font-size:13px;text-decoration:none}main{max-width:1300px;margin:auto;padding:0 32px}.intro{display:flex;align-items:center;position:relative;min-height:280px;padding:38px 0 34px;gap:28px}.intro>div{flex:1}.hero-art{width:230px;height:220px;object-fit:contain}.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:750;text-transform:uppercase;color:var(--teal);margin:0 0 12px}h1{font-size:clamp(40px,4.5vw,64px);line-height:1.03;letter-spacing:-.055em;font-weight:500;margin:0 0 18px}h2{font-size:25px;line-height:1.16;letter-spacing:-.035em;margin:0 0 14px;font-weight:550}h3{font-size:17px;margin:0 0 14px}.lede{max-width:750px;font-size:19px;line-height:1.5;color:var(--muted);margin:0 0 17px}.badge,.pill{display:inline-block;font-size:11px;line-height:1.5;font-weight:650;padding:6px 10px;border-radius:8px;background:var(--mint);color:var(--teal);margin:0}.workspace{display:grid;grid-template-columns:350px minmax(0,1fr);gap:24px;align-items:start}.inputs{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.form-head,.section-heading{display:flex;justify-content:space-between;align-items:start;gap:15px}.form-head h2{font-size:23px}.form-head button{border:0;background:none;text-decoration:underline;color:var(--teal);padding:3px;font-size:12px;cursor:pointer}.hint,small{font-size:12px;line-height:1.55;color:var(--muted)}.hint{margin:7px 0 15px}small{display:block;margin:6px 0 0}label{display:block;font-size:12px;font-weight:650;line-height:1.4;margin-bottom:7px}input,select,button{font:inherit}input[type=text],select{width:100%;border:1px solid #b6c7c0;border-radius:7px;padding:10px;background:white;color:var(--ink);min-height:43px;font-size:15px}input[type=text]{min-width:0}.input-wrap{position:relative}.input-wrap span{position:absolute;left:10px;top:9px;color:var(--muted);font-size:15px}.input-wrap:has(span) input{padding-left:25px}input:disabled{background:#eef1ee;color:#82918e}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px}.field label{min-height:34px}.person{padding-top:24px;margin-top:24px;border-top:1px solid var(--line)}.person details{margin-top:16px}.person h3{font-weight:650;font-size:17px}.check{display:flex;align-items:flex-start;gap:9px;font-weight:400;margin:15px 0;font-size:12px}.check input{accent-color:var(--teal);flex-shrink:0;margin:2px 0 0;width:16px;height:16px}.optional{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.optional .field{margin-top:16px}.optional .field label{min-height:0}.save-note{font-size:11px;color:var(--muted);margin:22px 0 0}summary{font-size:13px;font-weight:650;cursor:pointer;color:var(--teal);padding:7px 0}details[open]>summary{margin-bottom:12px}.results{display:grid;gap:20px}.panel{background:#fff;padding:26px;border:1px solid var(--line);border-radius:18px}.story{background:var(--navy);color:white;border:0}.story .eyebrow{color:#a9ded5}.story h2{font-family:Georgia,serif;font-size:34px;line-height:1.14;font-weight:400;letter-spacing:-.025em}.story>p:not(.eyebrow){color:#d9e5e2;font-size:14px;max-width:620px}.milestones{display:flex;gap:18px;flex-wrap:wrap;border-top:1px solid #537180;padding-top:17px;margin-top:20px}.milestones div{flex:1;min-width:130px}.milestones strong{display:block;font-size:20px}.milestones span{display:block;color:#c6dcd6;font-size:11px}.strategy .section-heading{flex-wrap:wrap;gap:0;margin-bottom:16px}.strategy h2{font-size:20px;margin-bottom:8px}.strategy-fields{display:grid;grid-template-columns:1fr 1.2fr;gap:15px}.strategy-fields #amount-wrap{grid-column:1/-1}.strategy .field label{min-height:0}.strategy details{margin-top:14px}.strategy summary span{font-weight:400;color:var(--muted);margin-left:6px}.strategy details .fields{max-width:400px}.chart-panel .section-heading{align-items:center}.chart-panel h2{font-size:25px;margin:0}.chart-panel .section-heading select{font-size:12px;width:auto;min-height:36px}.chart-panel .eyebrow{font-size:10px;margin-bottom:6px}.legend{display:flex;gap:15px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:22px 0 4px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:16px;height:3px;display:inline-block}.navy{background:var(--navy)}.gold{background:var(--gold)}.legend .teal{height:10px;background:#dfefea}#chart svg{display:block;width:100%;height:auto;min-height:220px;overflow:visible}#chart text{font:11px Arial,sans-serif;fill:#526873}.year-picker{display:flex;gap:14px;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:8px}.year-picker label{margin:0;white-space:nowrap}.year-picker select{width:auto;min-width:170px}.year-heading{margin-top:22px;margin-bottom:12px}.year-heading h3{font-size:18px;margin-bottom:3px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:17px 0}.metric{background:#f1f5f1;border-radius:10px;padding:14px}.metric span{display:block;font-size:11px;line-height:1.35;color:var(--muted)}.metric strong{display:block;font-size:25px;font-weight:550;letter-spacing:-.04em;line-height:1.25;margin:6px 0}.metric small{font-size:11px}.math{display:grid;grid-template-columns:1fr auto;gap:6px 18px;font-size:12px;margin:20px 0}.math dt,.math dd{margin:0}.math dd{text-align:right;font-variant-numeric:tabular-nums}.math .total{border-top:1px solid var(--line);padding-top:8px;margin-top:4px;font-weight:700}.notice{padding:12px 14px;background:#fbf1df;border-left:3px solid var(--gold);border-radius:4px;font-size:12px;line-height:1.55}.table-scroll{overflow:auto;max-height:420px}table{border-collapse:collapse;font-size:11px;width:100%;min-width:650px;font-variant-numeric:tabular-nums}caption{text-align:left;color:var(--muted);padding:10px 0}th,td{text-align:right;padding:10px 8px;border-bottom:1px solid var(--line)}th:first-child,td:first-child{text-align:left}th{background:var(--paper);position:sticky;top:0}tr.selected{background:var(--mint)}.explain{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;padding:60px 0 38px}.explain h2,.market-note h2{font-family:Georgia,serif;font-size:31px;letter-spacing:-.02em;font-weight:400}.explain p,.explain li,.market-note p{font-size:14px;color:var(--muted)}.explain li{margin-bottom:12px}.explain ul{padding-left:19px;margin:0}.assumption-card{padding:27px;background:#e8eeea;border-radius:16px}.assumption-card details p{font-size:12px}.market-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0}.market-note>p{max-width:790px}.market-note .eyebrow{font-size:11px;color:var(--teal)}.disclaimer{font-size:12px;line-height:1.65;color:var(--muted);max-width:980px;margin:28px 0}footer{font-size:12px;border-top:1px solid var(--line);color:var(--muted)}footer a{text-decoration:none;font-weight:700}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}:focus-visible{outline:3px solid #198b7c;outline-offset:3px}@media(max-width:1050px){.workspace{grid-template-columns:300px minmax(0,1fr);gap:18px}.inputs,.panel{padding:20px}.metrics{grid-template-columns:1fr}.metric{display:grid;grid-template-columns:1fr auto;align-items:center}.metric small{grid-column:1/-1}.metric strong{margin:0}.hero-art{width:180px}.chart-panel .section-heading{flex-wrap:wrap}.explain{gap:30px}}@media(max-width:760px){header,footer{padding:20px}main{padding:0 18px}.brand{font-size:25px}.brand small{font-size:11px}.back{font-size:11px}.intro{padding:32px 0 28px;min-height:0}.hero-art{display:none}.lede{font-size:17px}.workspace{grid-template-columns:1fr}.inputs{padding:22px}.person{padding-top:20px;margin-top:20px}.person .fields{gap:17px}.results{gap:16px}.story h2{font-size:30px}.panel{padding:22px 18px}.strategy-fields{gap:12px}.explain{grid-template-columns:1fr;gap:22px;padding:40px 0 28px}.metrics{grid-template-columns:1fr}.legend{gap:10px;font-size:10px}.section-heading{gap:10px}footer{align-items:flex-start;font-size:10px}.milestones{gap:14px}.milestones div{min-width:105px}.milestones strong{font-size:18px}.assumption-card{padding:22px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.budget-inputs .field{margin:16px 0}.budget-inputs .field label{min-height:0}.cash-plan{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0 10px;margin:18px 0}.cash-plan .metric{background:#e5f0eb}.cash-plan h3{margin-bottom:8px}.optional details{margin:18px 0}.optional .fields .field label{min-height:34px}

.person>summary{font-size:16px;padding:0}.person>summary small{font-weight:400;color:var(--muted);margin:8px 0 0}.person[open]>summary{margin-bottom:20px}.budget-inputs h3{font-size:21px}.budget-inputs #spending{font-size:24px;min-height:54px}.budget-inputs .input-wrap:has(#spending) span{top:15px}.strategy>h2{margin-bottom:8px}

#chart svg{cursor:crosshair}#chart .rmd-marker{stroke:#85551c;stroke-width:2;stroke-dasharray:6 4}#chart .rmd-label{fill:#85551c;font-weight:700}.chart-readout{background:#edf3f1;border-left:3px solid var(--navy);border-radius:5px;padding:12px 14px;font-size:13px;min-height:66px;margin:12px 0 5px;font-variant-numeric:tabular-nums}

#chart .chart-tooltip rect{fill:#173c53;stroke:#fff;stroke-width:1}#chart .chart-tooltip text{fill:#fff;font-size:11px}#chart .chart-tooltip .chart-tooltip-value{font-size:21px;font-weight:700}
