/* ZeroErrata — pricing: tier cards (home and pricing page), calculator, add-ons (loaded after site.css) */

/* tier cards: one row of five, each with a small board that grows with the tier */
.tiers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--ln)}
.tier{display:flex;flex-direction:column;border-left:1px solid var(--ln);min-width:0;transition:background .2s}
.tier:first-child{border-left:0}
.tier:hover{background:var(--s1)}
.tier-v{position:relative;padding:20px 18px 8px;border-bottom:1px solid var(--ln);background-image:radial-gradient(var(--ln) 1px,transparent 1px);background-size:14px 14px;background-position:7px 7px}
.tier-no{position:absolute;left:0;top:0;padding:6px 10px;background:var(--bg);border-right:1px solid var(--ln);border-bottom:1px solid var(--ln);font-family:var(--fm);font-size:11px;letter-spacing:.12em;color:var(--cu)}
.gl{display:block;width:100%;height:auto;overflow:visible}
.gl-ly{fill:none;stroke:var(--ln2);stroke-width:.5px}
.gl-bd{fill:var(--bg);stroke:var(--dim);stroke-width:.6px}
.gl-tr{fill:none;stroke:var(--cu);stroke-width:.9px;stroke-linejoin:round;stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s cubic-bezier(.4,.1,.2,1) var(--d,0s)}
.gl-tr.b{stroke:#7F9FDB;opacity:.8}
.tier.in .gl-tr{stroke-dashoffset:0}
.gl-ic,.gl-ic2{fill:#1B2420;stroke:var(--mu);stroke-width:.6px}
.gl-ball{fill:var(--cu);opacity:0;transition:opacity .4s ease .9s}
.tier.in .gl-ball{opacity:.9}
.gl-l{font-family:var(--fm);font-size:7px;fill:var(--dim);text-anchor:end}
.tier:hover .gl-tr{animation:glpulse 1.6s ease-in-out infinite;animation-delay:var(--d,0s)}
@keyframes glpulse{0%,100%{stroke-width:.9px}50%{stroke-width:1.5px}}
.tier-b{display:flex;flex-direction:column;flex:1;padding:18px 18px 20px}
.tier-n{font-family:var(--fh);font-weight:var(--hw);font-size:21px;letter-spacing:-.02em;margin:0}
.tier-p{margin:12px 0 0;font-family:var(--fm);font-weight:500;font-size:clamp(24px,2.1vw,30px);letter-spacing:-.03em;line-height:1.05;color:var(--cu);white-space:nowrap}
.tier-p i{font-style:normal;font-weight:400;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-right:2px;vertical-align:4px}
.tier-p small{display:block;margin-top:6px;font-weight:400;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.tier-m{display:flex;flex-wrap:wrap;gap:4px 14px;margin:12px 0 0;font-family:var(--fm);font-size:12px;color:var(--mu)}
.tier-m span+span{color:var(--dim)}
.tier-like{margin:14px 0 0;font-size:14.5px;line-height:1.5;color:var(--mu);flex:1}
.tier-s{list-style:none;margin:16px 0 0;padding:0;flex:1}
.tier-s li{position:relative;padding:7px 0 7px 16px;border-top:1px solid var(--ln);font-size:14px;line-height:1.45;color:var(--mu)}
.tier-s li::before{content:"";position:absolute;left:0;top:14px;width:6px;height:1px;background:var(--cu)}
.tier-x{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--ln);font-family:var(--fm);font-size:11.5px;line-height:1.5;color:var(--dim)}
.tier-r{margin:6px 0 0;font-family:var(--fm);font-size:11.5px;color:var(--dim)}
.price-note{margin:16px 0 0;font-size:13.5px;line-height:1.55;color:var(--dim)}
.price-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

/* add-ons: fast-track and the pilot */
.addons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--ln);border-top:0}
.ad{position:relative;padding:24px 24px 26px;border-left:1px solid var(--ln);overflow:hidden}
.ad:first-child{border-left:0}
.ad h4{font-family:var(--fh);font-weight:var(--hw);font-size:19px;letter-spacing:-.01em;margin:12px 0 8px}
.ad p{font-size:14.5px;line-height:1.55;color:var(--mu);margin:0}
.ad-p{display:block;margin-top:14px;font-family:var(--fm);font-size:15px;color:var(--cu)}
/* the fast-track cards carry a lane: a pulse that overtakes the queue */
.lane{position:relative;height:18px;margin-top:4px;border-bottom:1px dashed var(--ln2)}
.lane i{position:absolute;bottom:-4px;width:7px;height:7px;background:var(--ln2)}
.lane i:nth-child(1){left:20%}.lane i:nth-child(2){left:34%}.lane i:nth-child(3){left:48%}.lane i:nth-child(4){left:62%}
.lane b{position:absolute;bottom:-5px;left:0;width:9px;height:9px;background:var(--cu);box-shadow:0 0 12px rgba(232,162,92,.8);animation:overtake 3.6s cubic-bezier(.5,0,.3,1) infinite}
@keyframes overtake{0%{left:0;opacity:0}8%{opacity:1}80%{left:calc(100% - 9px);opacity:1}100%{left:calc(100% - 9px);opacity:0}}

/* calculator */
.calc{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);border:1px solid var(--ln)}
.calc-f{padding:32px;display:grid;gap:28px;align-content:start;min-width:0}
.calc-q{margin:0;padding:0;border:0;min-width:0}
.calc-q legend{padding:0;margin-bottom:12px;font-family:var(--fm);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--ln2)}
.seg label,.chips label{position:relative;display:block}
.seg label+label{border-left:1px solid var(--ln2)}
.seg input,.chips input{position:absolute;opacity:0;width:1px;height:1px}
.seg span{display:grid;place-items:center;min-height:46px;padding:0 8px;font-family:var(--fm);font-size:13px;color:var(--mu);cursor:pointer;text-align:center;transition:background .15s,color .15s}
.seg label:hover span{color:var(--tx);background:var(--s2)}
.seg input:checked+span{background:var(--cu);color:#0A0A0A}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 14px;border:1px solid var(--ln2);font-size:14px;color:var(--mu);cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.chips span::before{content:"";width:10px;height:10px;border:1px solid var(--dim);flex:none;transition:background .15s,border-color .15s}
.chips label:hover span{color:var(--tx);border-color:var(--dim)}
.chips input:checked+span{color:var(--tx);border-color:var(--cu);background:rgba(232,162,92,.08)}
.chips input:checked+span::before{background:var(--cu);border-color:var(--cu)}
.chips span small{font-family:var(--fm);font-size:11px;color:var(--dim)}
.seg input:focus-visible+span,.chips input:focus-visible+span{outline:1px solid var(--tx);outline-offset:-4px}
.calc-o{position:relative;display:flex;flex-direction:column;border-left:1px solid var(--ln);background:#070A09;min-width:0}
.calc-o .cross.tl{top:12px;left:12px}.calc-o .cross.br{bottom:12px;right:12px}
.calc-o-h{padding:32px 32px 0}
.meter{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:18px 0 0}
.meter i{position:relative;height:10px;background:var(--ln);overflow:hidden}
.meter i::after{content:"";position:absolute;inset:0;background:var(--cu);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.meter i.on::after{transform:none}
.meter i:nth-child(2)::after{transition-delay:.05s}.meter i:nth-child(3)::after{transition-delay:.1s}.meter i:nth-child(4)::after{transition-delay:.15s}.meter i:nth-child(5)::after{transition-delay:.2s}
.meter i.cur{box-shadow:0 0 14px rgba(232,162,92,.55)}
.meter-l{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:6px;font-family:var(--fm);font-size:10.5px;letter-spacing:.06em;color:var(--dim)}
.calc-t{display:flex;align-items:baseline;gap:12px;margin:26px 0 0}
.calc-t b{font-family:var(--fm);font-weight:500;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--cu)}
.calc-t span{font-family:var(--fh);font-weight:var(--hw);font-size:24px;letter-spacing:-.02em}
.calc-p{margin:10px 0 0;font-family:var(--fm);font-weight:500;font-size:clamp(28px,2.9vw,40px);letter-spacing:-.03em;line-height:1.1;color:var(--tx);font-variant-numeric:tabular-nums}
.calc-kv{margin-top:24px}
.calc-kv .kv{padding:12px 32px}
.calc-kv .kv span{font-size:15px;font-weight:400;letter-spacing:0;color:var(--mu)}
.calc-kv .kv.hl span{color:var(--cu)}
.calc-a{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding:24px 32px 32px;border-top:1px solid var(--ln)}
.calc-a .btn{justify-content:space-between}
.calc-a p{margin:4px 0 0;font-size:12.5px;line-height:1.5;color:var(--dim)}

/* what is included and terms (pricing page) */
.terms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ln);border-left:1px solid var(--ln)}
.terms .fq{min-width:0}

@media (max-width:1180px){
.tiers{grid-template-columns:repeat(3,minmax(0,1fr))}
.tier:nth-child(4){border-left:0}
.tier:nth-child(n+4){border-top:1px solid var(--ln)}
}
@media (max-width:960px){
.calc{grid-template-columns:minmax(0,1fr)}
.calc-o{border-left:0;border-top:1px solid var(--ln)}
.addons,.terms{grid-template-columns:minmax(0,1fr)}
.ad{border-left:0;border-top:1px solid var(--ln)}.ad:first-child{border-top:0}
}
@media (max-width:760px){
.tier-v .gl{max-width:260px;margin:0 auto}
.tiers{grid-template-columns:repeat(2,minmax(0,1fr))}
.tier:nth-child(n){border-left:1px solid var(--ln);border-top:1px solid var(--ln)}
.tier:nth-child(odd){border-left:0}
.tier:nth-child(-n+2){border-top:0}
}
@media (max-width:560px){
.tiers{grid-template-columns:minmax(0,1fr)}
.tier:nth-child(n){border-left:0;border-top:1px solid var(--ln)}
.tier:first-child{border-top:0}
.calc-f{padding:24px 16px}
.calc-o-h{padding:24px 16px 0}
.calc-kv .kv{padding:12px 16px}
.calc-a{padding:20px 16px 24px}
.seg span{font-size:12px;padding:0 4px}
}
@media (prefers-reduced-motion:reduce){.gl-tr{transition:none}.lane b{animation:none;left:calc(100% - 9px)}}

/* pricing page head */
.pr-head{padding:80px 0 56px}
.pr-head .sk{margin-bottom:40px}
.pr-head-g{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:end}
.pr-head .h1{font-size:clamp(42px,6vw,96px);margin:0}
.pr-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:28px 0 0;border:1px solid var(--ln)}
.pr-facts span{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-left:1px solid var(--ln);font-size:13px;color:var(--dim)}
.pr-facts span:first-child{border-left:0}
.pr-facts b{font-family:var(--fm);font-weight:500;font-size:22px;letter-spacing:-.02em;color:var(--cu)}
.pr-sec{padding-top:0}
.page-pricing [id]{scroll-margin-top:calc(var(--hh) + 16px)}
.page-pricing .foot{margin-top:0}
@media (max-width:960px){.pr-head-g{grid-template-columns:minmax(0,1fr);gap:28px}.pr-head{padding-top:48px}}
@media (max-width:560px){.pr-facts{grid-template-columns:minmax(0,1fr)}.pr-facts span{border-left:0;border-top:1px solid var(--ln)}.pr-facts span:first-child{border-top:0}}
