/* Pricing calculator window (apps/pricecalc.js). Solid surfaces only, prices in the body font at a readable size. */
.pc .pc-h{font-family:var(--display);font-size:clamp(22px,3vw,30px);line-height:1.15;margin:4px 0 6px}
.pc .pc-lede{margin:0 0 18px;max-width:60ch}
.pc-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;align-items:start}
.pc-form fieldset{border:1px solid var(--hair);border-radius:8px;margin:0 0 14px;padding:10px 12px 12px;background:var(--win)}
.pc-form legend{font-family:var(--display);font-weight:700;font-size:14px;padding:0 6px}
.pc-who{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pc-radio{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--hair);border-radius:8px;padding:9px 10px;cursor:pointer;background:var(--paper-2)}
.pc-radio:has(input:checked){border-color:var(--line);box-shadow:2px 2px 0 var(--line);background:var(--lime-soft)}
.pc-radio input{margin-top:3px;accent-color:var(--ink)}
.pc-radio b{display:block;font-size:14.5px}
.pc-radio small{display:block;color:var(--muted);font-size:13px}
.pc-num{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:5px 0;font-size:15px}
.pc-clients{margin:0 0 14px;padding:10px 12px;border:1px solid var(--hair);border-radius:8px;background:var(--win)}
.pc-num input{width:84px;font:inherit;font-variant-numeric:tabular-nums;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--paper-2);color:var(--ink);text-align:right}
.pc-needs label{display:flex;gap:8px;align-items:flex-start;padding:5px 0;font-size:15px;line-height:1.35;cursor:pointer}
.pc-needs input{margin-top:3px;accent-color:var(--ink);flex:none}
.pc-num input:focus-visible,.pc-needs input:focus-visible,.pc-radio input:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.pc-result{position:sticky;top:0}
.pc-result .billing{margin:0 0 12px}
.pc-result .billing .seg.on{background:var(--ink);color:var(--paper)}
.pc-card{border:1px solid var(--line);border-radius:10px;background:var(--win);box-shadow:3px 3px 0 var(--line);padding:16px 18px}
.pc-tag{display:inline-block;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;background:var(--lime);color:var(--lime-ink);border:1px solid var(--line);border-radius:4px;padding:1px 7px}
.pc-plan h3{font-family:var(--display);font-size:24px;margin:8px 0 2px}
.pc-total{display:flex;align-items:baseline;gap:8px;margin:2px 0 6px}
.pc-total .num{font-family:var(--body);font-weight:700;font-size:36px;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.pc-total .per{color:var(--muted);font-size:15px}
.pc-early{margin:0 0 8px;font-size:14.5px}
.pc-lines{width:100%;border-collapse:collapse;margin:6px 0 10px;font-size:14.5px}
.pc-lines th{text-align:left;font-weight:400;padding:4px 0;border-top:1px solid var(--hair)}
.pc-lines td{text-align:right;padding:4px 0;border-top:1px solid var(--hair);font-variant-numeric:tabular-nums;white-space:nowrap}
.pc-clip{margin:0 0 10px}
.pc-cta{margin:4px 0 6px}
.pc-others{margin:14px 0 0;font-size:14.5px}
.pc-others summary{cursor:pointer;font-weight:600}
.pc-others ul{margin:8px 0 0;padding-left:18px}
.pc-others li{margin:3px 0}
.pc-note{margin:14px 0 0}
/* the window, not the screen, decides the layout */
.pc{container-type:inline-size}
@container (max-width:640px){.pc-grid{grid-template-columns:1fr}.pc-result{position:static}}
@container (max-width:400px){.pc-who{grid-template-columns:1fr}}
