
.calc-head{background:var(--sand);padding:40px 0 36px;border-bottom:1px solid var(--mist)}
.calc-head .wrap{display:grid;gap:14px;max-width:760px}
.calc-head h1{font-size:2rem;font-weight:800}
.calc-head p{color:var(--muted);font-size:1.0625rem;max-width:36em}
.calc{max-width:760px;padding-top:32px;padding-bottom:56px;display:grid;gap:30px}
.form-stack{display:grid;gap:30px}
.calc fieldset{margin:0;padding:0;border:0;display:grid;gap:15px;min-width:0}
.calc legend{padding:0;margin-bottom:6px;font-size:1.25rem;font-weight:800;letter-spacing:.02em}
.calc .lead{color:var(--muted);font-size:.9375rem}
.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;background:var(--white);border:1px solid var(--mist);border-radius:1px;padding:16px;scroll-margin-top:80px}
.row.bad{border-color:#9b1c1c}
.row h3,.row .error-line{grid-column:1/-1}
.row h3{font-size:.875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}
.pair{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:6px}
.pair select{padding:10px 2px 10px 8px}
.field{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;align-content:start}
.field>span,.field>label{font-size:.8125rem;font-weight:600}
.field .hint{font-size:.75rem;color:var(--muted)}
.field .error,.row .error{font-size:.75rem;color:#9b1c1c;font-weight:600}
.calc input,.calc select{font:inherit;font-size:1rem;color:var(--cacao);background:var(--white);border:1px solid var(--mist);border-radius:1px;padding:10px 12px;min-height:44px;width:100%;min-width:0}
.calc input:focus-visible,.calc select:focus-visible{outline:2px solid var(--cacao);outline-offset:0;border-color:var(--cacao)}
.calc input[aria-invalid=true]{border-color:#9b1c1c}
.default-submit{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.btn.ink{background:var(--cacao);color:var(--cream);border-color:var(--cacao)}
.btn.small{min-height:44px;padding:10px 18px;font-size:.875rem}
.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.result{display:grid;gap:18px;background:var(--white);border:2px solid var(--cacao);border-radius:1px;padding:22px;scroll-margin-top:80px}
.result h2{font-size:1.5rem;font-weight:800}
.result .tag{display:inline-block;justify-self:start;padding:2px 10px;border:1px solid var(--cacao);font-size:.75rem;font-weight:700;letter-spacing:.04em}
.lines{width:100%;border-collapse:collapse;font-size:.9375rem}
.lines th,.lines td{padding:8px 0;border-bottom:1px solid var(--mist);text-align:left;vertical-align:top}
.lines td.num,.lines th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:12px}
.lines td small{display:block;color:var(--muted);font-size:.8125rem}
.lines tfoot td{font-weight:800;border-bottom:0}
.big{display:grid;gap:10px}
.big div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.big strong{font-size:1.75rem;font-weight:800;font-variant-numeric:tabular-nums}
.big span{font-weight:600}
.big .per{color:var(--muted);font-size:.9375rem}
.errors{margin:0;padding-left:20px;display:grid;gap:6px;color:#9b1c1c;font-weight:600;font-size:.9375rem}
.cta{display:grid;gap:12px;justify-items:start;border-top:1px solid var(--mist);padding-top:18px}
.cta p{color:var(--muted)}
.fine{font-size:.8125rem;color:var(--muted)}
.help{background:var(--white);border:1px solid var(--mist);border-radius:1px;padding:14px 16px;font-size:.9375rem}
.help summary{cursor:pointer;font-weight:700;min-height:24px}
.help[open] summary{margin-bottom:10px}
.help p+p{margin-top:8px}
.note{font-size:.875rem;font-weight:600;color:#8a3b00;background:#fdecd9;padding:10px 12px;border-radius:1px}
@media (min-width:760px){
  .calc-head h1{font-size:2.5rem}
  .row{grid-template-columns:1.2fr 1fr 1.3fr 1.3fr;align-items:start}
  .pair{grid-template-columns:minmax(0,1fr) 88px;gap:8px}
}
