.tool-hero{padding:48px 0 28px}.tool-hero h1{font-size:clamp(38px,5vw,64px);margin:6px 0 18px;max-width:15em}.tool-hero .lede{margin:0}.calc{border-radius:var(--radius);box-shadow:0 30px 60px -28px rgba(27,26,23,.45);display:grid;gap:0;grid-template-columns:1fr 1fr;margin-bottom:28px;overflow:hidden}.calc>div{min-width:0}.calc-in{background:var(--card);padding:34px}.calc-out{background:var(--ink);color:var(--paper);display:flex;flex-direction:column;gap:22px;padding:34px}.calc-in h2,.calc-out h2{font-size:22px;letter-spacing:-.01em;margin:0 0 18px}.calc-out h2{color:#bdb5a6;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.14em;margin:0;text-transform:uppercase}.fld{margin-bottom:20px}.fld label{color:var(--ink);display:block;font-size:14px;font-weight:600;margin-bottom:6px}.fld .hint{color:var(--muted);font-size:13px;line-height:1.45;margin:6px 0 0}.inp{align-items:center;background:#fff;border:1.5px solid var(--line);border-radius:14px;display:flex;transition:border-color .15s}.inp:focus-within{border-color:var(--ink)}.inp span{color:var(--muted);font-weight:600;padding:0 0 0 14px}.inp span.suf{padding:0 14px 0 0}.inp input,.inp select{-moz-appearance:textfield;background:transparent;border:0;color:var(--ink);flex:1;font:500 17px var(--sans);min-width:0;outline:none;padding:13px 14px}.inp input::-webkit-inner-spin-button,.inp input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.row2{display:grid;gap:14px;grid-template-columns:1fr 1fr}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.chip{background:var(--paper);border:1.5px solid var(--line);border-radius:999px;color:var(--ink-2);cursor:pointer;font:600 13.5px var(--sans);padding:8px 13px}.chip:hover,.chip[aria-pressed=true]{background:#fff;border-color:var(--ink);color:var(--ink)}.check{align-items:flex-start;color:var(--ink-2);cursor:pointer;display:flex;font-size:15px;gap:10px;margin:4px 0 18px}.check input{accent-color:var(--coral);height:18px;margin-top:3px;width:18px}.more{border-top:1px solid var(--line);margin-top:4px;padding-top:14px}.more summary{color:var(--ink-2);cursor:pointer;font-size:15px;font-weight:600;list-style:none}.more summary::-webkit-details-marker{display:none}.more summary:before{content:"+ "}.more[open] summary:before{content:"\2013 "}.more[open] summary{margin-bottom:16px}.big{color:var(--paper);font-family:var(--display);font-size:clamp(44px,5.4vw,68px);font-weight:600;letter-spacing:-.03em;line-height:1}.big.neg{color:#ff8d78}.big-sub{color:#d9d2c4;font-size:16px;margin:8px 0 0}.stat-row{border-top:1px solid #3a3731;display:grid;grid-template-columns:1fr 1fr}.stat-row div{padding:16px 0 0}.stat-row div+div{border-left:1px solid #3a3731;padding-left:18px}.stat-row b{color:var(--paper);display:block;font-family:var(--display);font-size:28px;font-weight:600;letter-spacing:-.02em}.stat-row span{color:#bdb5a6;font-size:14px}.bar{background:#3a3731;height:10px;overflow:hidden}.bar,.bar i{border-radius:999px}.bar i{background:var(--sun);display:block;height:100%;transition:width .3s ease}.note-line{color:#d9d2c4;font-size:15px;margin:0}.note-line b{color:var(--paper)}.chart svg{display:block;height:auto;width:100%}.chart .lbl{fill:#bdb5a6;font:500 11px var(--sans)}.bills{display:grid;gap:6px;list-style:none;margin:0;padding:0}.bills li{color:#bdb5a6;display:flex;font-size:15px;gap:12px;justify-content:space-between}.bills li.on{color:var(--paper)}.bills li.on:before{color:var(--sun);content:"\2713";margin-right:8px}.bills li:before{content:"\25CB";margin-right:8px}.bills li span:first-child{flex:1}.feetable{border-collapse:collapse;font-size:15px;width:100%}.feetable td{border-bottom:1px solid #3a3731;color:#d9d2c4;padding:7px 0}.feetable td:last-child{color:var(--paper);font-variant-numeric:tabular-nums;text-align:right}.feetable tr.tot td{border-bottom:0;color:var(--paper);font-weight:700}.prices{display:grid;gap:8px;grid-template-columns:repeat(4,1fr)}.prices div{background:#2a2824;border-radius:12px;padding:10px 8px;text-align:center}.prices b{color:var(--paper);display:block;font-family:var(--display);font-size:21px}.prices span{color:#bdb5a6;font-size:12px}.save{align-items:center;background:var(--sun-2);border-radius:var(--radius);display:grid;gap:40px;grid-template-columns:1.1fr .9fr;margin-bottom:24px;padding:36px}.save h2{font-size:clamp(28px,3vw,38px);margin-bottom:10px}.save p{color:var(--ink-2);margin:0}.save form{display:grid;gap:10px}.save input{background:#fff;border:1.5px solid var(--line);border-radius:14px;color:var(--ink);font:500 16px var(--sans);padding:14px 16px;width:100%}.save input:focus{border-color:var(--ink);outline:none}.save button{background:var(--ink);border:0;border-radius:999px;color:var(--paper);cursor:pointer;font:600 16px/1 var(--sans);padding:17px 24px}.save button:disabled{cursor:wait;opacity:.6}.save .fine{color:var(--ink-2);font-size:12.5px;line-height:1.5;margin:4px 0 0}.save .err{color:var(--coral-ink);font-size:14px;margin:0}.save .done p{margin:0 0 8px}.save .done a{color:var(--ink);font-weight:600}.tool-body{padding:24px 0 96px}.explain{display:grid;gap:48px;grid-template-columns:1fr 1fr;margin-top:64px}.explain>div{min-width:0;overflow-x:auto}.explain h2{font-size:clamp(28px,3vw,40px);margin-bottom:16px}.explain li,.explain p{color:var(--ink-2)}.ref{background:var(--card);border-collapse:collapse;border-radius:16px;font-size:15.5px;overflow:hidden;width:100%}.ref td,.ref th{border-bottom:1px solid var(--line);padding:11px 14px;text-align:right}.ref td:first-child,.ref th:first-child{text-align:left}.ref th{background:var(--paper-2);color:var(--muted);font-size:13px;letter-spacing:.06em;text-transform:uppercase}.ref tr:last-child td{border-bottom:0}.tool-faq{margin-top:64px;max-width:780px}.tool-faq h2{font-size:clamp(28px,3vw,40px);margin-bottom:18px}@media (max-width:900px){.calc,.explain,.save{grid-template-columns:1fr}.calc-in,.calc-out,.save{padding:24px}.explain{gap:28px;margin-top:48px}.save{gap:20px}}@media (max-width:520px){.ref td,.ref th{font-size:14px;padding:9px 8px}.ref th{font-size:11px;letter-spacing:.03em}}@media (max-width:420px){.row2{grid-template-columns:1fr}.prices{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){.bar i{transition:none}}