*{box-sizing:border-box}body{margin:0;background:#f6f7f8;color:#20242a;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}.wrap{max-width:1120px;margin:auto;padding:48px 24px 72px}header{max-width:780px;margin-bottom:32px}.eyebrow{font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;margin:0 0 6px}h1{font-size:clamp(2rem,5vw,3.3rem);line-height:1.05;margin:0 0 18px}.intro{font-size:1.15rem;color:#515862}.calculator,.results,.explain{background:white;border:1px solid #d9dde2;border-radius:12px;padding:30px;margin-top:24px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px}label{font-weight:700}label span{display:block;font-weight:400;color:#68707b;font-size:.9rem;margin:4px 0 8px;min-height:42px}input{width:100%;padding:12px 13px;border:1px solid #adb5bd;border-radius:7px;font:inherit;background:#fff}input:focus{outline:2px solid #222;outline-offset:1px}.suffix{display:flex;align-items:center;gap:10px}.suffix b{font-size:.9rem;white-space:nowrap}button{margin-top:28px;padding:13px 22px;border:0;border-radius:7px;background:#20242a;color:white;font-weight:700;font-size:1rem;cursor:pointer}button:hover{opacity:.9}.hidden{display:none}.result-head{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;text-align:center;padding-bottom:24px}.result-head small{display:block;color:#68707b;font-weight:700}.result-head strong{display:block;font-size:2rem;margin-top:4px}.arrow{font-size:2rem}.gain{border-top:1px solid #e2e5e8;border-bottom:1px solid #e2e5e8;padding:24px 0;margin-bottom:24px;text-align:center}.gain span{display:block}.gain strong{font-size:2.4rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:right;padding:13px 10px;border-bottom:1px solid #e5e7ea}th:first-child,td:first-child{text-align:left}.explain{background:transparent;border:0;padding:18px 0}.explain h2{margin-bottom:8px}.note{font-size:.92rem;color:#68707b}@media(max-width:720px){.wrap{padding:30px 16px}.fields{grid-template-columns:1fr}label span{min-height:auto}.calculator,.results{padding:22px 18px}.result-head{gap:10px}.result-head strong{font-size:1.5rem}.gain strong{font-size:1.8rem}}
/* Contextual field help: hover on desktop, click/tap everywhere */
.info{position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin:0 0 0 5px;padding:0;border:1px solid #8b949e;border-radius:50%;background:#fff;color:#4f5964;font-size:.75rem;font-weight:800;line-height:1;vertical-align:2px;cursor:help}
.info:hover,.info:focus-visible,.info.open{opacity:1;background:#20242a;color:#fff}
.info:focus-visible{outline:2px solid #20242a;outline-offset:2px}
.info .tip{display:none;position:absolute;z-index:20;left:50%;bottom:calc(100% + 10px);width:min(330px,80vw);padding:14px 15px;border:1px solid #cfd4da;border-radius:9px;background:#20242a;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18);font-size:.86rem;font-weight:400;line-height:1.45;text-align:left;transform:translateX(-50%);min-height:0;margin:0}
.info .tip strong{display:block;margin:0 0 3px;color:#fff;font-size:.82rem}
.info .tip strong:not(:first-child){margin-top:10px}
.info:hover .tip,.info:focus .tip,.info.open .tip{display:block}
@media(max-width:720px){.info .tip{position:fixed;left:16px;right:16px;bottom:20px;width:auto;transform:none}.info:hover .tip{display:none}.info.open .tip,.info:focus .tip{display:block}}

/* Make percentage-entry semantics explicit */
.percent-suffix b{font-size:1rem;min-width:18px}

/* Dynamic ROI diagnosis */
.diagnosis h3{margin:28px 0 6px;font-size:1.05rem}.diagnosis-summary{font-size:1.08rem;max-width:900px}.diagnosis-intro{margin-top:0;color:#515862}.target-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 8px}.target{background:#fff;border:1px solid #d9dde2;border-radius:9px;padding:16px}.target small{display:block;color:#68707b;font-weight:700;font-size:.72rem}.target strong{display:block;font-size:1.45rem;margin:4px 0}.target span{display:block;color:#68707b;font-size:.82rem}.recommendations{max-width:940px}.recommendations p{margin:10px 0}.recommendations strong{color:#20242a}@media(max-width:800px){.target-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.target-grid{grid-template-columns:1fr}}
