/* ────────────────────────────────────────────────────────────
   pricing-v2.css — /pricing page styles only.
   Tokens, typography, buttons, .reveal, .container/.section and the
   page ground all live in v2-base.css, which MUST be loaded first.
   ──────────────────────────────────────────────────────────── */
/* ── hero ── */
/* body.v2 prefix is REQUIRED here: this element also carries .container, and
   global.css's `.container{padding:0 1.5rem}` (same specificity, bundled
   later) would otherwise zero padding-top. Any v2 page rule that sets
   padding-block on a .container element needs the same prefix. */
body.v2 .phero{padding-top:10.5rem;min-height:0;text-align:center}
.phero__in{display:flex;flex-direction:column;align-items:center}
.phero .h1{font-size:clamp(2.9rem,7vw,5.4rem)}
.phero__note{margin-top:1.7rem;font-family:ui-monospace,'SF Mono','JetBrains Mono',Menlo,monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--v2-accent)}

/* ── billing toggle ── */
.bill{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem;border:1px solid var(--line);border-radius:99px;background:var(--glass);margin:1.3rem auto 0}
.bill button{background:none;border:0;font-family:inherit;cursor:pointer;color:var(--bone-dim);padding:.5rem 1.15rem;border-radius:99px;font-size:.9rem;transition:background .25s,color .25s;display:inline-flex;align-items:center;gap:.5rem}
.bill button.on{background:var(--lime);color:var(--on-accent);font-weight:560}
.bill .save{font-family:ui-monospace,'SF Mono','JetBrains Mono',Menlo,monospace;font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--on-accent);background:rgba(13,12,11,.14);border-radius:99px;padding:.25em .5em}
.bill button:not(.on) .save{color:var(--v2-accent);background:rgba(217,250,135,.12)}

/* ── plan cards ── */
.plans{display:grid;gap:1.2rem;grid-template-columns:1fr;max-width:60rem;margin:2.8rem auto 0}
@media(min-width:780px){.plans{grid-template-columns:1fr 1fr}}
.plan{position:relative;border:1px solid var(--line);border-radius:22px;background:var(--ink-2);padding:2rem 1.9rem;display:flex;flex-direction:column;transition:border-color .4s,transform .4s var(--v2-ease)}
.plan:hover{transform:translateY(-4px)}
.plan--pro{border-color:rgba(217,250,135,.5)}
.plan--pro::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(217,250,135,.6),transparent)}
.plan__badge{position:absolute;top:-.72rem;left:50%;transform:translateX(-50%);font-family:ui-monospace,'SF Mono','JetBrains Mono',Menlo,monospace;font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-accent);background:var(--lime);border-radius:99px;padding:.42em .9em;white-space:nowrap}
.plan__name{font-family:var(--font-display,'InterV',Inter,-apple-system,sans-serif);font-weight:600;font-size:1.95rem;letter-spacing:-.02em;color:var(--bone);line-height:1;margin:0}
.plan--pro .plan__name{color:var(--v2-accent)}
.plan__who{color:var(--bone-dim);font-size:.9rem;margin-top:.5rem;min-height:2.7em}
.plan__price{margin-top:1.3rem;display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;min-height:3.4rem}
.plan__was{font-family:var(--font-display,'InterV',Inter,-apple-system,sans-serif);font-weight:330;font-size:1.5rem;letter-spacing:-.02em;color:var(--bone-faint);text-decoration:line-through;text-decoration-thickness:1px}
.plan__amount{font-family:var(--font-display,'InterV',Inter,-apple-system,sans-serif);font-weight:330;font-size:3.2rem;letter-spacing:-.03em;color:var(--bone);line-height:1}
.plan__period{color:var(--bone-faint);font-size:.9rem}
.plan__seat{color:var(--bone-dim);font-size:.82rem;margin-top:.5rem}
.plan__seat b{color:var(--bone);font-weight:560}
.plan__seat s{color:var(--bone-faint);text-decoration:line-through;text-decoration-thickness:1px}
.plan__note{color:var(--bone-dim);font-size:.84rem;margin-top:.35rem}
.plan .btn{margin-top:1.5rem;width:100%;justify-content:center}
.plan__inclab{font-family:ui-monospace,'SF Mono','JetBrains Mono',Menlo,monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-faint);margin:1.7rem 0 1rem;padding-top:1.4rem;border-top:1px solid var(--line-2)}
.plan__feats{list-style:none;display:flex;flex-direction:column;gap:.7rem;margin:0;padding:0}
.plan__feats li{display:flex;gap:.65rem;align-items:flex-start;font-size:.9rem;color:var(--bone-dim);line-height:1.4}
.plan__feats li::before{content:'✓';color:var(--v2-accent);font-size:.8em;flex:none;margin-top:.15em}
.plan__feats li.pro::before{content:'✦'}
.plans__compare{text-align:center;margin:1.8rem 0 0;font-size:.9rem}

/* ── comparison table ── */
.ctable-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:18px;margin-top:2.4rem}
.ctable{width:100%;border-collapse:collapse;min-width:560px;font-size:.9rem}
.ctable th,.ctable td{padding:.85rem 1.2rem;border-bottom:1px solid var(--line-2);text-align:left}
.ctable tbody tr:last-child td{border-bottom:0}
.ctable thead th{background:var(--ink-3);font-family:ui-monospace,'SF Mono','JetBrains Mono',Menlo,monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-faint);position:sticky;top:0}
.ctable thead th.pro{color:var(--v2-accent)}
.ctable thead th:not(:first-child),.ctable td.val{text-align:center;width:22%}
.ctable td:first-child{color:var(--bone)}
.ctable td.val{font-variant-numeric:tabular-nums;color:var(--bone-dim)}
.ctable .yes{color:var(--v2-accent);font-size:1rem}
.ctable .no{color:var(--bone-faint)}
.ctable tbody tr:hover td{background:rgba(239,235,227,.02)}
.ctable .grp td{font-family:ui-monospace,'SF Mono','JetBrains Mono',Menlo,monospace;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-faint);background:rgba(239,235,227,.02)}

/* ── faq (native <details>/<summary>) ── */
.faq{max-width:44rem;margin:0 auto}
.faq details{border-bottom:1px solid var(--line);padding:.3rem 0}
.faq summary{list-style:none;cursor:pointer;padding:1.1rem .2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:1.02rem;font-weight:500;color:var(--bone)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pl{width:1rem;height:1rem;flex:none;position:relative}
.faq summary .pl::before,.faq summary .pl::after{content:'';position:absolute;background:var(--lime);border-radius:2px}
.faq summary .pl::before{left:0;right:0;top:calc(50% - 1px);height:2px}
.faq summary .pl::after{top:0;bottom:0;left:calc(50% - 1px);width:2px;transition:transform .3s var(--v2-ease)}
.faq details[open] summary .pl::after{transform:scaleY(0)}
.faq details p{color:var(--bone-dim);font-size:.94rem;line-height:1.6;padding:0 .2rem 1.1rem;max-width:60ch;margin:0}
.faq__foot{text-align:center;margin-top:2rem}

/* ── final cta (hidden per source; kept for a future re-enable) ── */
.pfinal{position:relative;overflow:hidden;max-width:52rem;margin:0 auto;text-align:center;padding:clamp(3rem,6vw,5rem) clamp(1.5rem,4vw,4rem);border:1px solid var(--line);border-radius:28px;background:var(--ink-2)}
.pfinal::before{content:'';position:absolute;left:50%;top:-40%;width:130%;height:130%;transform:translateX(-50%);background:radial-gradient(ellipse 46% 42% at 50% 0%,rgba(217,250,135,.18),transparent 68%);pointer-events:none}
.pfinal>*{position:relative}
.pfinal .h2{max-width:20ch;margin:0 auto 1.6rem}
.pfinal__note{margin-top:1.2rem;font-family:ui-monospace,'SF Mono','JetBrains Mono',Menlo,monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-faint)}
.ctaband__row{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}
