.pricing-calculator{margin-top:30px;padding:clamp(20px,4vw,34px);border:1px solid var(--line2);border-radius:14px;background:var(--bg2)}
.pricing-calculator h2{font-size:clamp(28px,3.2vw,42px);margin-bottom:12px}
.pricing-calculator form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:22px}
.pricing-calculator label{display:block;font-size:16px;font-weight:600;margin-bottom:6px}
.pricing-calculator input{display:block;width:100%;min-height:50px;padding:0 14px;border:1.5px solid var(--line2);border-radius:6px;background:var(--bg);color:var(--ink);font:18px/1.4 var(--sans)}
.pricing-calculator input:focus-visible{outline:2px solid var(--terra);outline-offset:3px}
.pricing-calculator input[aria-invalid="true"]{border-color:#8a3f2c;box-shadow:inset 3px 0 0 #8a3f2c}
.pricing-calculator button{min-height:50px;cursor:pointer;font-family:var(--sans)}
.pricing-calculator .hint,.pricing-calculator .error,.pricing-calculator .result-detail{font-size:15px;line-height:1.5}
.pricing-calculator .hint{margin:7px 0 0;color:var(--ink3)}
.pricing-calculator .error{min-height:1.5em;margin:6px 0 0;color:#8a3f2c;font-weight:600}
.pricing-calculator .result{margin:24px 0 0;padding-top:20px;border-top:1px solid var(--line)}
.pricing-calculator .result-label{margin:0 0 4px;color:var(--ink3);font-size:14px}
.pricing-calculator output{display:block;font:400 clamp(38px,5vw,58px)/1 var(--disp);letter-spacing:-.02em}
.pricing-calculator .result-detail{margin:10px 0 0;color:var(--ink2);max-width:58ch}
.pricing-calculator .formula{margin:20px 0 0;color:var(--ink3);font-size:14px}
@media (max-width:560px){.pricing-calculator form{grid-template-columns:1fr}.pricing-calculator button{width:100%}}
