/* Pricing sections (plan cards, value facts, calculators, price promise). Markup from tools/pricing.mjs.
   Works on the dark-navy software pages (body.night) and, with .pz-light, on the light hand-written pages. */
.pz{--pz-fg:var(--fg,#e6edf7);--pz-muted:var(--muted,rgba(230,237,247,.72));--pz-line:rgba(230,237,247,.14);--pz-card:rgba(255,255,255,.035);--pz-glow:rgba(170,198,255,.16);--pz-hi:#dfe9ff;--pz-win:#9ee6c2;--pz-mono:var(--mono,ui-monospace,"SFMono-Regular","Cascadia Mono",Menlo,Consolas,monospace)}
.pz-light{--pz-fg:#123a5e;--pz-muted:rgba(18,58,94,.74);--pz-line:rgba(18,58,94,.16);--pz-card:rgba(255,255,255,.7);--pz-glow:rgba(45,98,140,.14);--pz-hi:#0d2438;--pz-win:#2f7d5b}
.pz{color:var(--pz-fg)}
.pz-pk,.pz-name{font-family:var(--pz-mono);font-size:.68rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--pz-muted)}

/* plan cards */
.pz-grid{display:grid;gap:clamp(14px,2vw,22px);grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));align-items:stretch}
.pz-grid.n1{grid-template-columns:minmax(0,440px)}
.pz-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:clamp(24px,2.6vw,34px);border-radius:22px;background:var(--pz-card);border:1px solid var(--pz-line);transition:transform .5s cubic-bezier(.2,.7,.1,1),box-shadow .5s}
.pz-card:hover{transform:translateY(-3px)}
.pz-card.featured{background:linear-gradient(160deg,rgba(207,224,255,.10),rgba(207,224,255,.02) 60%);border-color:transparent;box-shadow:0 0 0 1px rgba(207,224,255,.42),0 24px 60px rgba(0,0,0,.28),0 0 60px var(--pz-glow)}
.pz-light .pz-card.featured{background:#fff;box-shadow:0 0 0 1px rgba(45,98,140,.45),0 24px 60px rgba(13,36,56,.12)}
.pz-card.featured .pz-name{color:var(--pz-hi)}
.pz-for{font-size:1.02rem;min-height:1.6em}
.pz-price{display:flex;align-items:flex-end;gap:12px;margin-top:14px}
.pz-amt{font-size:clamp(2.6rem,4.6vw,3.4rem);font-weight:200;line-height:1;letter-spacing:-.01em;color:var(--pz-hi)}
.pz-per{font-size:.82rem;line-height:1.3;color:var(--pz-muted);padding-bottom:5px}
.pz-alt{font-size:.92rem;color:var(--pz-muted);min-height:1.5em}
.pz-alt b{font-weight:400;color:var(--pz-fg)}
.pz-save{display:inline-block;margin-left:6px;padding:2px 9px 0;border-radius:99px;border:1px solid currentColor;font-family:var(--pz-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pz-win);white-space:nowrap}
.pz-feats{list-style:none;margin:16px 0 22px;padding-top:16px;border-top:1px solid var(--pz-line);display:grid;gap:9px;flex:1}
.pz-feats li{display:flex;gap:10px;font-size:.95rem;line-height:1.45}
.pz-feats svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--pz-win)}
.pz-card .btn{align-self:flex-start}
.pz-light .btn{display:inline-flex;padding:14px 24px 12px;border-radius:99px;background:#0d2438;color:#fff;text-decoration:none;font-size:.78rem;font-weight:400;letter-spacing:.14rem;text-transform:uppercase}
.pz-light .btn.ghost{background:transparent;color:#0d2438;border:1px solid currentColor}
.pz-notes{list-style:none;display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:22px;font-size:.92rem;color:var(--pz-muted)}
.pz-notes b{font-weight:400;color:var(--pz-fg);margin-right:6px}
.pz-notes .pz-promise-i b{color:var(--pz-win)}

/* value facts */
.pz-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:0;margin-top:clamp(36px,6vh,56px);border-top:1px solid var(--pz-line);border-bottom:1px solid var(--pz-line)}
.pz-fact{padding:26px 26px 24px 0}
.pz-fact+.pz-fact{padding-left:26px;border-left:1px solid var(--pz-line)}
.pz-big{font-size:clamp(1.9rem,3vw,2.5rem);font-weight:200;line-height:1.1;color:var(--pz-hi);margin-bottom:10px;white-space:nowrap}
.pz-fact p:not(.pz-big){font-size:.95rem;line-height:1.55;color:var(--pz-muted)}
.pz-fact b{font-weight:400;color:var(--pz-fg)}
.pz-foot{margin-top:12px;font-size:.8rem;color:var(--pz-muted)}
.pz-foot a{color:var(--pz-fg)}

/* why it costs less */
.pz-why{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(18px,3vw,40px);margin-top:clamp(30px,5vh,48px)}
.pz-why h3{font-size:1.08rem;font-weight:400;margin-bottom:6px;padding-top:16px;border-top:1px solid currentColor}
.pz-why p{font-size:.95rem;color:var(--pz-muted)}

/* price promise */
.pz-promise{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 30px;margin-top:clamp(30px,5vh,48px);padding:20px 26px;border-radius:18px;border:1px solid rgba(158,230,194,.35);background:linear-gradient(90deg,rgba(158,230,194,.07),transparent 70%)}
.pz-light .pz-promise{border-color:rgba(47,125,91,.35);background:linear-gradient(90deg,rgba(47,125,91,.07),transparent 70%)}
.pz-promise .pz-pk{color:var(--pz-win)}
.pz-promise ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px 30px;flex:1}
.pz-promise li{font-size:.95rem}
.pz-k{font-family:var(--pz-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pz-muted);margin-right:10px}

/* calculators */
.pz-calc{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:clamp(20px,3vw,40px);margin-top:clamp(30px,5vh,48px);padding:clamp(22px,3vw,34px);border-radius:22px;background:var(--pz-card);border:1px solid var(--pz-line)}
.pz-in{display:flex;flex-direction:column;gap:12px}
.pz-in label{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:.98rem}
.pz-in output{font-size:1.6rem;font-weight:200;color:var(--pz-hi);min-width:2ch;text-align:right}
.pz-in input[type=range]{--fill:10%;-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--pz-hi) var(--fill),var(--pz-line) var(--fill));outline-offset:6px;cursor:pointer}
.pz-in input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--pz-hi);border:4px solid #0a1a3f;box-shadow:0 0 0 1px var(--pz-hi),0 0 18px var(--pz-glow)}
.pz-in input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--pz-hi);border:4px solid #0a1a3f}
.pz-light .pz-in input[type=range]::-webkit-slider-thumb{border-color:#fff}
.pz-in .pz-tog{justify-content:flex-start;gap:10px;font-size:.92rem;color:var(--pz-muted);cursor:pointer}
.pz-tog input{width:18px;height:18px;accent-color:#cfe0ff}
.pz-light .pz-tog input{accent-color:#0d2438}
.pz-out{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.pz-out>div{padding:0 18px;border-left:1px solid var(--pz-line)}
.pz-out .pz-big{font-size:clamp(1.5rem,2.4vw,2.1rem);margin:8px 0 6px}
.pz-out .pz-wd{font-size:clamp(1.5rem,2.4vw,2.1rem)}
.pz-sm{font-size:.86rem;line-height:1.45;color:var(--pz-muted)}
.pz-win .pz-big,.pz-win .pz-pk{color:var(--pz-win)}

.pz-sec .section-head p{max-width:680px}
@media (max-width:820px){
  .pz-calc{grid-template-columns:1fr}
  .pz-out{grid-template-columns:1fr}
  .pz-out>div{padding:14px 0 0;border-left:0;border-top:1px solid var(--pz-line)}
  .pz-fact,.pz-fact+.pz-fact{padding:20px 0;border-left:0}
  .pz-fact+.pz-fact{border-top:1px solid var(--pz-line)}
  .pz-big{white-space:normal}
  .pz-promise{flex-direction:column;gap:12px;padding:18px 20px}
  .pz-promise ul{flex-direction:column;gap:12px}
  .pz-promise .pz-k{display:block;margin:0 0 2px}
}
