:root{--paper:#f6faf7;--mint:#e3f1e9;--mint-deep:#cde7da;--ink:#0e2a23;--ink-soft:#51685f;--green:#149a58;--green-dark:#0e7a45;--green-bright:#43c883;--gold:#c8a04b;--gold-deep:#a9842f;--gold-light:#d9b45c;--line:rgba(14,42,35,.12);--display:"Fraunces",Georgia,serif;--body:"Instrument Sans",system-ui,sans-serif;--mono:"Spline Sans Mono",monospace}.roi-page{font-family:var(--body);background:#e9efea;color:var(--ink);-webkit-font-smoothing:antialiased;padding:32px 16px;min-height:100vh}.bar-print{max-width:794px;margin:0 auto 14px;display:flex;justify-content:flex-end}.print-btn{font-family:var(--body);font-weight:600;font-size:14px;background:var(--green);color:#fff;border:none;border-radius:99px;padding:11px 22px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.print-btn:hover{background:var(--green-dark)}.sheet{width:794px;max-width:100%;margin:0 auto;background:#fff;box-shadow:0 20px 50px rgba(14,42,35,.16);border-radius:8px}.head,.sheet{overflow:hidden}.head{background:radial-gradient(120% 160% at 88% 10%,#1aae66 0,var(--green) 45%,var(--green-dark) 100%);color:#fff;padding:30px 40px 28px;position:relative}.head .grid{position:absolute;inset:0;background-image:radial-gradient(hsla(0,0%,100%,.08) 1px,transparent 1.4px);background-size:22px 22px;opacity:.6}.head .top{justify-content:space-between;position:relative}.head .top,.logo{display:flex;align-items:center}.logo{gap:11px}.logo .mk{width:36px;height:36px;border-radius:11px;background:hsla(0,0%,100%,.16);display:grid;place-items:center}.logo .mk svg{width:36px;height:36px}.logo .nm{font-family:var(--display);font-weight:600;font-size:21px;line-height:1}.logo .ds{font-weight:700;font-size:9px;letter-spacing:.22em;margin-top:3px}.head .ey,.logo .ds{text-transform:uppercase;color:var(--gold-light)}.head .ey{font-family:var(--mono);font-size:11px;letter-spacing:.16em}.head h1{font-family:var(--display);font-weight:600;font-size:30px;margin:16px 0 6px;line-height:1.1}.head h1,.head p{position:relative}.head p{color:hsla(0,0%,100%,.85);font-size:14.5px;max-width:560px}.body{padding:30px 40px 34px}.math{display:grid;grid-template-columns:1fr 30px 1fr 30px 1fr;align-items:center;grid-gap:0;gap:0;margin-bottom:8px}.mcell{text-align:center;padding:18px 10px;border-radius:14px}.mcell .lab{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.mcell .big{font-family:var(--display);font-weight:600;font-size:34px;line-height:1}.mcell .unit{font-size:13px;font-weight:500;margin-top:5px}.m-loss{background:#fbf1e5}.m-loss .big,.m-loss .lab{color:var(--gold-deep)}.m-loss .unit{color:var(--ink-soft)}.m-cost{background:var(--mint)}.m-cost .big,.m-cost .lab{color:var(--green-dark)}.m-cost .unit{color:var(--ink-soft)}.m-gain{background:var(--green);color:#fff}.m-gain .lab{color:hsla(0,0%,100%,.8)}.m-gain .big{color:#fff}.m-gain .unit{color:hsla(0,0%,100%,.85)}.op{font-family:var(--display);font-size:26px}.note-row,.op{color:var(--ink-soft);text-align:center}.note-row{font-size:12px;margin:6px 0 24px}.viz{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin-bottom:24px}.viz h3{font-family:var(--body);font-size:13px;font-weight:600;margin-bottom:18px;color:var(--ink)}.vrow{display:flex;align-items:center;gap:14px;margin-bottom:14px}.vrow:last-child{margin-bottom:0}.vrow .vlab{width:150px;font-size:13px;color:var(--ink-soft);flex:none}.vrow .vlab b{display:block;color:var(--ink);font-weight:600;font-size:13.5px}.vtrack{flex:1 1;height:30px;background:#fff;border-radius:8px;overflow:hidden;position:relative;border:1px solid var(--line)}.vfill{height:100%;border-radius:7px;display:flex;align-items:center;padding:0 12px;font-weight:700;font-size:13px;color:#fff;white-space:nowrap}.vf-loss{background:linear-gradient(90deg,var(--gold-light),var(--gold-deep));width:100%}.vf-cost{background:var(--green);width:6.5%}.vf-cost-lbl{margin-left:10px;font-weight:700;font-size:13px;color:var(--green-dark)}.viz .foot,.vrow.cost{align-items:center}.viz .foot{font-size:12px;color:var(--ink-soft);margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);display:flex;gap:8px}.viz .foot b{color:var(--green-dark)}.payback{display:flex;align-items:center;gap:16px;background:var(--ink);color:#fff;border-radius:16px;padding:20px 24px;margin-bottom:24px}.payback .pn{font-family:var(--display);font-weight:600;font-size:40px;color:var(--gold-light);line-height:1;flex:none}.payback .pt{font-size:14px;line-height:1.5;color:hsla(0,0%,100%,.9)}.payback .pt b{color:#fff}.cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;margin-bottom:8px}.box h4{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--green-dark);margin-bottom:12px}.assume li{display:flex;justify-content:space-between;font-size:13px;padding:7px 0;border-bottom:1px solid var(--line);list-style:none}.assume li:last-child{border-bottom:none}.assume li span{color:var(--ink-soft)}.assume li b{font-family:var(--mono);font-size:12.5px}.incl li{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--ink-soft);list-style:none;margin-bottom:9px}.incl li svg{flex:none;width:16px;height:16px;color:var(--green);margin-top:2px}.cta{background:var(--mint);border-top:1px solid var(--mint-deep);padding:22px 40px;display:flex;justify-content:space-between;align-items:center;gap:16px}.cta .l b{font-family:var(--display);font-weight:600;font-size:18px;display:block}.cta .l span{font-size:13px;color:var(--ink-soft)}.cta .r{text-align:right;font-size:13px}.cta .r .demo{display:inline-flex;align-items:center;gap:8px;background:var(--green);color:#fff;font-weight:600;border-radius:99px;padding:11px 20px;text-decoration:none;font-size:14px}.cta .r .url{display:block;margin-top:8px;font-family:var(--mono);font-size:12px;color:var(--green-dark)}@media print{.roi-page{background:#fff;padding:0}.bar-print{display:none}.sheet{box-shadow:none;border-radius:0;width:100%}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media (max-width:680px){.math{grid-template-columns:1fr;gap:10px}.op{display:none}.cols{grid-template-columns:1fr}.cta{flex-direction:column;align-items:flex-start}.cta .r{text-align:left}}