.planner{font-size:16px;line-height:1.6}.planner-header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:90px;border-bottom:1px solid var(--line)}.planner-header nav{display:flex;gap:25px}.planner a{overflow-wrap:anywhere}.planner-header nav a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.planner-intro{max-width:790px;padding:60px 0 40px}.planner h1{font-size:clamp(40px,5vw,67px);line-height:1.08;letter-spacing:-2px;margin:20px 0 25px}.planner .lead{font-size:22px}.planner-intro p:not(.eyebrow){color:var(--muted)}.planner .privacy-note{border-left:3px solid var(--lime);padding-left:16px;font-size:14px}.planner-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:36px;align-items:start}.planner fieldset{border:1px solid var(--line);padding:25px;min-width:0}.planner legend{font-size:21px;font-weight:700;padding:0 10px}.planner legend span{display:block;font-size:12px;font-weight:400;color:var(--muted)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:23px}.fields label{font-size:14px;font-weight:650;display:block}.fields label>span{display:block;font-size:11px;color:var(--muted);font-weight:400}.fields input{display:block;width:100%;box-sizing:border-box;min-height:48px;background:#fffdf5;color:#172a22;border:2px solid #c8cbbf;border-radius:3px;font:inherit;font-size:18px;padding:8px 12px;margin-top:9px}.fields input[aria-invalid=true]{border-color:#f5ab8d}.planner .small-note{font-size:12px}.planner button{min-height:46px;padding:11px 17px;border:1px solid var(--lime);border-radius:3px;background:var(--lime);color:var(--forest);font:inherit;font-size:14px;font-weight:700;cursor:pointer}.planner button.secondary{color:var(--cream);background:transparent;border-color:var(--line)}.planner button:disabled{opacity:.55;cursor:default}.planner .actions{display:flex;gap:12px;flex-wrap:wrap}.planner :focus-visible{outline:3px solid var(--peach);outline-offset:4px}.planner #field-error{font-size:13px;color:#ffcdba;white-space:pre-line}.result-panel{background:var(--panel);padding:30px;border:1px solid var(--line);border-top:3px solid var(--lime);border-radius:4px}.planner h2{font-size:31px;letter-spacing:-1px;line-height:1.15;margin:15px 0 24px}.result-panel p:not(.eyebrow){font-size:13px;color:var(--muted)}#model-result{font-size:15px;margin:20px 0;min-height:90px}#model-result dl{margin:0}#model-result dl>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:12px 0}#model-result dd{margin:0;text-align:right;font-weight:750}#model-result .balance{font-size:20px;color:var(--lime)}.actuals{padding:60px 0}.actuals dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.actuals dl>div{border-top:1px solid var(--line);padding-top:15px}.actuals dt{font-size:13px;font-weight:700}.actuals dd{margin:6px 0;color:var(--muted);font-size:14px}.actuals p:not(.eyebrow){max-width:790px;color:var(--muted);font-size:14px}.actuals>a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.planner-footer{border-top:1px solid var(--line);padding:25px 0;font-size:12px;color:var(--muted)}.notice{border:1px solid var(--line);padding:20px}
@media(max-width:800px){.planner-grid{grid-template-columns:1fr}.planner-intro{padding-top:35px}.actuals dl{grid-template-columns:1fr 1fr}.planner .lead{font-size:19px}.planner-header{flex-wrap:wrap;padding:20px 0;gap:10px}.planner-header nav{gap:20px}.planner .privacy-note{font-size:13px}}@media(max-width:420px){.fields{grid-template-columns:1fr;gap:20px}.planner fieldset,.result-panel{padding:20px}.planner h1{font-size:42px}.actuals dl{grid-template-columns:1fr}.planner-header nav a{font-size:13px}.planner legend{font-size:19px}#model-result .balance{font-size:17px}}
#model-result dt,#model-result dd{min-width:0;overflow-wrap:anywhere}#model-result dd{max-width:60%}
@media(max-width:420px){#model-result dl>div{display:block}#model-result dd{max-width:100%;text-align:left;margin-top:6px}}
@media print{.planner-header,.planner button,.planner-footer,.planner .skip{display:none}.planner-intro{padding:10px 0}.planner-grid{display:block}.planner fieldset,.result-panel{background:white;color:#182820;border:1px solid #888;break-inside:avoid;margin:20px 0}.fields{grid-template-columns:1fr 1fr}.planner p,.planner label>span,.planner legend span,.actuals dd,#model-result .balance{color:#182820!important}.actuals{padding:20px 0}.planner .privacy-note{border-color:#182820}}
