:root{--ink:#12382d;--ink-2:#1d4b3e;--leaf:#c7e34a;--paper:#f3f0e8;--white:#fffef8;--muted:#68756f;--line:#d8d8cf;--danger:#b64a3a;--shadow:0 20px 60px rgba(19,50,41,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;border-bottom:1px solid rgba(18,56,45,.15)}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font:700 22px Manrope,sans-serif;letter-spacing:-.5px}.brand-mark{width:34px;height:34px;border-radius:50%;background:var(--ink);display:grid;place-items:center}.brand-mark svg{width:22px;fill:none;stroke:var(--leaf);stroke-width:1.7;stroke-linecap:round}.topbar-meta{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1.4px;display:flex;align-items:center;gap:9px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--leaf);box-shadow:0 0 0 3px rgba(199,227,74,.25)}.shell{width:min(1200px,88vw);margin:0 auto}.intro{padding:56px 0 38px;display:grid;grid-template-columns:1fr 1fr;align-items:end}.eyebrow{grid-column:1/-1;margin:0 0 16px;font-size:12px;letter-spacing:2px;font-weight:700}.intro h1{margin:0;font:600 clamp(42px,5vw,70px)/.98 Manrope,sans-serif;letter-spacing:-3px}.intro h1 em{font-family:Georgia,serif;font-weight:400;color:#567267}.lede{margin:0 0 5px auto;max-width:480px;font-size:18px;line-height:1.6;color:var(--muted)}.calculator{display:grid;grid-template-columns:1fr 1fr;background:var(--white);box-shadow:var(--shadow);border-radius:22px;overflow:hidden;margin-bottom:34px}.input-panel,.results-panel{padding:34px 40px}.results-panel{background:var(--ink);color:white}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.panel-heading>div{display:flex;gap:12px;align-items:center}.panel-heading h2{font:600 19px Manrope,sans-serif;margin:0}.step{font:700 11px Manrope,sans-serif;color:var(--muted);border:1px solid var(--line);padding:5px 7px;border-radius:5px}.step.light{color:var(--leaf);border-color:rgba(255,255,255,.22)}.reset{border:0;background:none;color:var(--muted);text-decoration:underline;text-underline-offset:4px;cursor:pointer;font:600 13px inherit}.input-panel label{display:flex;justify-content:space-between;font-weight:600;font-size:14px;margin:20px 0 8px}.input-panel label span{font-size:11px;color:#8c948f;font-weight:700}.money-input,.plain-input{height:52px;border:1px solid var(--line);border-radius:9px;background:#fff;transition:.2s}.money-input{display:flex;align-items:center}.money-input:focus-within,.plain-input:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(18,56,45,.08);outline:none}.money-input>span{padding-left:15px;font-weight:600;color:#849089}.money-input input{border:0;outline:0;width:100%;height:100%;padding:0 14px;background:transparent;font:600 18px "DM Sans";color:var(--ink)}.plain-input{width:100%;padding:0 14px;font:600 18px "DM Sans";color:var(--ink)}.hint{font-size:11px;color:#8a938e;margin:6px 0 0}.split-fields{display:grid;grid-template-columns:.7fr 1.3fr;gap:16px}.target-row{margin-top:25px;border-top:1px solid var(--line);padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:15px}.target-row label{margin:0}.target-row p{font-size:11px;color:#8a938e;margin:4px 0 0}.percent-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;height:46px;width:100px;background:white}.percent-input input{width:66px;height:100%;border:0;outline:0;background:none;padding-left:12px;font:600 16px inherit;color:var(--ink)}.live-pill{background:var(--leaf);color:var(--ink);padding:5px 9px;border-radius:99px;font-size:10px;font-weight:800;letter-spacing:1px}.verdict{display:flex;align-items:center;gap:11px;background:rgba(199,227,74,.12);border:1px solid rgba(199,227,74,.25);border-radius:9px;padding:12px 14px}.verdict>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--leaf);color:var(--ink);font-weight:800}.verdict small,.verdict strong{display:block}.verdict small{text-transform:uppercase;letter-spacing:1px;color:var(--leaf);font-size:9px;font-weight:800}.verdict strong{font-size:13px;margin-top:2px}.hero-metric{padding:28px 0 24px;border-bottom:1px solid rgba(255,255,255,.15)}.hero-metric p,.metric-grid p,.residual-card p{font-size:10px;letter-spacing:1.4px;font-weight:700;margin:0}.hero-metric div{font:600 clamp(40px,5vw,58px) Manrope,sans-serif;letter-spacing:-2px;margin:5px 0}.hero-metric span,.metric-grid span{color:#aebdb7;font-size:11px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;padding:22px 0;gap:20px}.metric-grid article+article{border-left:1px solid rgba(255,255,255,.15);padding-left:24px}.metric-grid strong{display:block;font:600 26px Manrope;margin:5px 0}.residual-card{background:var(--leaf);color:var(--ink);padding:21px;border-radius:12px}.residual-heading{display:flex;align-items:center;justify-content:space-between}.residual-heading strong{display:block;font:700 29px Manrope;margin-top:5px}.tree-icon{font-size:34px}.divider{height:1px;background:rgba(18,56,45,.22);margin:17px 0}.explanation{font-size:11px!important;line-height:1.5;letter-spacing:0!important;font-weight:500!important}.headroom{display:flex;justify-content:space-between;align-items:center;margin-top:15px;font-size:10px;letter-spacing:1px;font-weight:700}.headroom strong{font-size:14px;letter-spacing:0}.negative{color:var(--danger)!important}.results-panel.is-below .verdict{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.15)}.results-panel.is-below .verdict>span{background:#f2a48e}.results-panel.is-below .verdict small{color:#f2a48e}footer{display:flex;justify-content:space-between;align-items:center;padding:0 0 34px;color:#75807b;font-size:11px;gap:20px}footer p{margin:0}footer span{font-weight:700;letter-spacing:1px;white-space:nowrap}@media(max-width:800px){.shell{width:min(92vw,620px)}.topbar{padding:0 4vw}.topbar-meta{font-size:10px}.intro{grid-template-columns:1fr;padding-top:38px}.intro h1{letter-spacing:-2px}.lede{margin:20px 0 0}.calculator{grid-template-columns:1fr}.input-panel,.results-panel{padding:28px 24px}footer{align-items:flex-start;flex-direction:column}.hero-metric div{font-size:43px}}@media(max-width:420px){.split-fields{grid-template-columns:1fr}.metric-grid{gap:10px}.metric-grid strong{font-size:22px}.residual-heading strong{font-size:25px}}
