#gi-roi-calculator{isolation:isolate;border-radius:var(--radius-xl);background:var(--ink-900);color:var(--on-ink-soft);font-family:var(--font-sans);padding:clamp(28px,5vw,64px);position:relative;overflow:hidden}#gi-roi-calculator .gi-roi-mass{z-index:-1;aspect-ratio:1;background:var(--mint-500);pointer-events:none;border-radius:50%;width:clamp(300px,34vw,480px);position:absolute;top:clamp(-300px,-17vw,-170px);right:clamp(-220px,-12vw,-120px)}#gi-roi-calculator h2{max-width:18em;color:var(--on-ink);font:800 clamp(30px,3.6vw,46px)/1 var(--font-sans);letter-spacing:-.05em;text-wrap:balance;margin:0 0 16px}@media (width<=599.98px){#gi-roi-calculator h2{font-size:clamp(22px,7.4vw,30px)}}@media (width<=899.98px){#gi-roi-calculator{padding-top:140px}#gi-roi-calculator .gi-roi-mass{width:280px;top:-170px;right:-110px}}#gi-roi-calculator .gi-roi-disclaimer{max-width:var(--measure);font:400 14px/1.6 var(--font-sans);color:var(--on-ink-soft);margin:0 0 clamp(32px,4vw,48px)}.gi-calc-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;display:grid}@media (width<=768px){.gi-calc-grid{grid-template-columns:1fr}}.gi-calc-card{border-radius:var(--radius-lg);background:var(--ink-700);padding:24px}.gi-calc-card h3{font:500 12px/1.3 var(--font-mono);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--mint-500);margin:0 0 20px}.gi-slider-group{margin-bottom:18px}.gi-slider-group:last-child{margin-bottom:0}.gi-slider-label{font:400 14px/1.4 var(--font-sans);color:var(--on-ink-soft);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.gi-slider-label label{cursor:pointer;margin:0}.gi-slider-value{text-align:right;min-width:80px;font:500 15px/1 var(--font-mono);color:var(--on-ink)}.gi-range{appearance:none;cursor:pointer;--pct:50%;background:0 0;outline:none;width:100%;height:32px;margin:0}.gi-range::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--mint-500) var(--pct),var(--ink-900) var(--pct));border-radius:2px;height:4px}.gi-range::-moz-range-track{background:var(--ink-900);border-radius:2px;height:4px}.gi-range::-moz-range-progress{background:var(--mint-500);border-radius:2px;height:4px}.gi-range::-webkit-slider-thumb{appearance:none;background:var(--mint-500);border:3px solid var(--ink-700);cursor:pointer;width:20px;height:20px;transition:box-shadow var(--dur-fast) ease;border-radius:50%;margin-top:-8px}.gi-range::-moz-range-thumb{background:var(--mint-500);border:3px solid var(--ink-700);cursor:pointer;width:20px;height:20px;transition:box-shadow var(--dur-fast) ease;border-radius:50%}@media (hover:hover){.gi-range:hover::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--ink-900)}.gi-range:hover::-moz-range-thumb{box-shadow:0 0 0 4px var(--ink-900)}}.gi-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--white),0 0 0 5px var(--mint-500)}.gi-range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px var(--white),0 0 0 5px var(--mint-500)}.gi-range:focus-visible{box-shadow:none;outline:none}@media (prefers-reduced-motion:reduce){.gi-range::-webkit-slider-thumb{transition:none}.gi-range::-moz-range-thumb{transition:none}}.gi-kpi-row{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px;display:grid}@media (width<=768px){.gi-kpi-row{grid-template-columns:1fr}}.gi-kpi{border-radius:var(--radius-lg);background:var(--ink-700);padding:24px}.gi-kpi-value{font:800 clamp(34px,3.6vw,48px)/.9 var(--font-sans);letter-spacing:-.05em;color:var(--mint-500)}.gi-kpi-label{font:500 11px/1.4 var(--font-mono);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--on-ink-soft);margin-top:12px}.gi-chart-container{border-radius:var(--radius-lg);background:var(--ink-700);margin-bottom:28px;padding:24px}.gi-chart-container h3{font:500 12px/1.3 var(--font-mono);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--mint-500);margin:0 0 20px}.gi-bar-wrap{align-items:center;gap:16px;margin-bottom:12px;display:flex}.gi-bar-wrap:last-child{margin-bottom:0}.gi-bar-label{text-align:right;width:88px;font:500 12px/1.2 var(--font-mono);color:var(--on-ink-soft);flex-shrink:0}.gi-bar-track{border-radius:var(--radius-pill);background:var(--ink-900);flex:1;height:36px;position:relative;overflow:hidden}.gi-bar-fill{border-radius:var(--radius-pill);font:500 12px/1 var(--font-mono);color:var(--ink-900);transition:transform var(--dur-slow) var(--ease-fall);justify-content:flex-end;align-items:center;padding-right:14px;display:flex;position:absolute;inset:0;transform:translate(-100%)}.gi-bar-fill.current{background:var(--slate-400)}.gi-bar-fill.gravity{background:var(--mint-500)}@media (prefers-reduced-motion:reduce){.gi-bar-fill{transition:none}}@media (width<=419.98px){.gi-bar-wrap{flex-wrap:wrap;gap:6px 16px}.gi-bar-label{text-align:left;width:100%}}.gi-breakdown{border-collapse:collapse;width:100%;margin-bottom:8px}.gi-breakdown th,.gi-breakdown td{text-align:left;border-bottom:1px solid var(--ink-700);padding:12px 14px}.gi-breakdown th{font:500 11px/1.3 var(--font-mono);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--on-ink-soft)}.gi-breakdown td{font:400 14px/1.4 var(--font-sans);color:var(--on-ink);font-variant-numeric:tabular-nums}.gi-breakdown .gi-savings{color:var(--mint-500);font-weight:600}.gi-cta-box{justify-content:flex-start;padding-top:24px;display:flex}@media (width<=600px){.gi-breakdown,.gi-breakdown thead,.gi-breakdown tbody,.gi-breakdown tr,.gi-breakdown th,.gi-breakdown td{display:block}.gi-breakdown{border-collapse:separate}.gi-breakdown thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.gi-breakdown tr{border-radius:var(--radius-md);background:var(--ink-700);margin-bottom:10px;padding:4px 16px 10px}.gi-breakdown td{text-align:right;border-bottom:none;justify-content:space-between;align-items:baseline;gap:16px;padding:6px 0;display:flex}.gi-breakdown td:first-child{border-bottom:1px solid var(--ink-900);text-align:left;margin-bottom:4px;padding-bottom:8px;font-weight:600}.gi-breakdown td[data-label]:before{content:attr(data-label);font:500 11px/1.3 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--on-ink-soft);text-align:left}}
