
.calc-dek{max-width:60ch; margin-top:26px; font:400 clamp(17px, 1.6vw, 19.5px)/1.6 var(--sans); color:var(--muted);}
.calc{display:grid; grid-template-columns:minmax(0, 1fr); gap:20px; margin:clamp(36px, 5vw, 56px) 0 clamp(56px, 7vw, 96px);}
@media (min-width:900px){ .calc{grid-template-columns:minmax(0, 1fr) minmax(0, 1.05fr); gap:28px; align-items:start;} }
.calc-form,.calc-out{border:1px solid var(--line-2); border-radius:var(--r-card); background:var(--raise); padding:clamp(20px, 3vw, 32px);}
.calc-form{display:grid; gap:20px; align-content:start;}
.calc-k{margin:0 0 4px; font:500 11px/1.3 var(--mono); letter-spacing:.16em; text-transform:uppercase; color:var(--mega-h);}
.calc-field{display:grid; gap:7px;}
.calc-field label,.calc-check{font:500 15px/1.35 var(--sans); color:var(--head);}
.calc-hint{font:400 13.5px/1.5 var(--sans); color:var(--muted);}
.calc-input{position:relative; display:flex; align-items:center;}
.calc-input .unit{position:absolute; font:500 16px/1 var(--mono); color:var(--faint); pointer-events:none;}
.calc-input .unit.pre{left:14px;}
.calc-input .unit.post{right:14px;}
.calc-field input[type="text"],.calc-field select{
  width:100%; min-height:50px; padding:12px 14px; border:1px solid var(--line-2); border-radius:var(--r-btn);
  background:var(--canvas); color:var(--head); font:500 17px/1.2 var(--mono); font-variant-numeric:tabular-nums;
  transition:border-color .2s ease, box-shadow .2s ease;}
.calc-input .pre ~ input{padding-left:30px;}
.calc-input input:has(~ .post){padding-right:40px;}
.calc-field select{font-family:var(--sans); appearance:none; -webkit-appearance:none; padding-right:40px;
  background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);
  background-position:calc(100% - 20px) 50%, calc(100% - 15px) 50%; background-size:5px 5px; background-repeat:no-repeat;}
.calc-field input:focus-visible,.calc-field select:focus-visible{outline:none; border-color:var(--brass); box-shadow:0 0 0 3px rgba(215,165,68,.28);}
.calc-check{display:flex; gap:10px; align-items:flex-start; font-weight:400; color:var(--text); cursor:pointer;}
.calc-check input{width:18px; height:18px; margin:2px 0 0; accent-color:var(--brass); flex:none;}
.calc-more{border-top:1px solid var(--line); padding-top:18px;}
.calc-more > summary{cursor:pointer; list-style:none; font:500 14.5px/1.4 var(--sans); color:var(--head);}
.calc-more > summary::-webkit-details-marker{display:none;}
.calc-more > summary::after{content:" +"; color:var(--brass);}
.calc-more[open] > summary::after{content:" −";}
.calc-more > div{display:grid; gap:20px; margin-top:18px;}
.calc-out{position:sticky; top:96px;}
.calc-big{margin:6px 0 4px; font:600 clamp(44px, 6vw, 68px)/1 var(--serif); letter-spacing:-.02em; color:var(--head); font-variant-numeric:tabular-nums;}
.calc-big-unit{font:500 .36em/1 var(--sans); letter-spacing:0; color:var(--muted);}
.calc-big-sub{margin:0 0 22px; font:400 15px/1.5 var(--sans); color:var(--muted);}
.calc-rows{margin:0; padding:0; list-style:none; border-top:1px solid var(--line);}
.calc [hidden]{display:none !important;}
.calc-rows li{display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--line);
  font:400 15px/1.4 var(--sans); color:var(--text);}
.calc-rows li b{font:500 15.5px/1.4 var(--mono); color:var(--head); font-variant-numeric:tabular-nums; white-space:nowrap;}
.calc-rows li.is-total{color:var(--head); font-weight:500;}
.calc-rows li.is-total b{color:var(--brass);}
.calc-note{margin:16px 0 0; font:400 14px/1.55 var(--sans); color:var(--muted);}
.calc-note strong{color:var(--head); font-weight:500;}
.calc-pay{margin-top:22px; padding:18px 18px 16px; border-radius:12px; background:var(--raise-2); border:1px solid var(--line);}
.calc-pay p{margin:0;}
.calc-pay .calc-note{margin-top:12px;}
.calc-pay .calc-k{margin-bottom:8px;}
.calc-pay-amt{font:600 30px/1.1 var(--serif); color:var(--head); font-variant-numeric:tabular-nums;}
.calc-pay-when{margin-top:4px !important; font:400 14.5px/1.5 var(--sans); color:var(--muted);}
.calc-sched{margin:14px 0 0; padding:0; list-style:none;}
.calc-sched li{display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-top:1px solid var(--line); font:400 14.5px/1.4 var(--sans); color:var(--text);}
.calc-sched li b{font:500 14.5px/1.4 var(--mono); color:var(--head);}
.calc-cta{display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; margin-top:22px;}
.calc-cta span{font:400 13.5px/1.45 var(--sans); color:var(--muted);}
.calc-hub{list-style:none; margin:clamp(36px, 5vw, 56px) 0 clamp(56px, 7vw, 96px); padding:0; display:grid;
  grid-template-columns:repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap:20px;}
.calc-hub a{display:flex; flex-direction:column; gap:10px; height:100%; padding:clamp(22px, 3vw, 30px); text-decoration:none;
  border:1px solid var(--line-2); border-radius:var(--r-card); background:var(--raise); color:var(--text);
  transition:border-color .25s ease, transform .4s var(--ease-out);}
.calc-hub a:hover{border-color:var(--brass); transform:translateY(-2px);}
.calc-hub b{font:500 clamp(22px, 2.4vw, 27px)/1.15 var(--serif); color:var(--head);}
.calc-hub span{font:400 15px/1.55 var(--sans); color:var(--muted);}
.calc-hub i{margin-top:auto; padding-top:8px; font:500 12px/1 var(--mono); letter-spacing:.12em; text-transform:uppercase; font-style:normal; color:var(--brass);}
.calc-body{max-width:68ch; margin:0 auto; font-size:17px;}
@media (min-width:1100px){ .calc-body{font-size:18px;} }
@media (prefers-reduced-motion:reduce){ .calc-hub a{transition:none;} .calc-hub a:hover{transform:none;} }
.calc-embed-note{margin-top:22px; color:var(--muted); font-size:15px;} .calc-embed-note a{color:var(--head);}
