/* Lane B2: pricing page, plan helper, unified access/demo form. Tokens from site.css only. */

/* ---- Unified lead form ---------------------------------------------------- */
.lf-card{max-width:600px;margin:0 auto;padding:var(--s-6)}
.lead-form .seg{margin-bottom:var(--s-4)}
.lead-form .seg-track{width:100%}
.lead-form .seg--block .seg-opt span{text-align:center}
.lf-intro{color:var(--text-2);margin:0 0 var(--s-4);max-width:var(--measure)}
/* Intent-dependent bits, driven by the checked radio so it works without JS. */
.lead-form:has(input[name=intent][value=demo]:checked) .lf-only-access{display:none}
.lead-form:has(input[name=intent][value=access]:checked) .lf-only-demo{display:none}
.lead-form--demo-only .lf-only-access{display:none}
.field-error,.lf-error{color:var(--danger-text);font-size:var(--fs-sm);margin:.4rem 0 0}
.lf-error{margin:0 0 var(--s-4);padding:.6rem .8rem;border:1px solid var(--danger);border-radius:var(--radius-sm);background:rgba(239,68,68,.08)}
.lead-form [aria-invalid="true"]{border-color:var(--danger-text)}
.lf-submit.is-busy{opacity:.7;cursor:progress}
.lf-note{margin:var(--s-3) 0 0;color:var(--faint);font-size:var(--fs-xs);text-align:center}
.lf-done{padding:var(--s-4) 0}
.lf-done:focus{outline:none}
.lf-done-title{margin-top:0}
.modal .lead-form .seg-opt span{padding-inline:.6rem}

/* ---- Pricing page --------------------------------------------------------- */
.b2-perworker{margin:-.6rem 0 var(--s-3);color:var(--text-2);font-size:var(--fs-sm)}
.b2-illus{color:var(--faint);font-size:var(--fs-xs);display:block}
.b2-suits{color:var(--muted);font-size:var(--fs-sm);margin:0 0 var(--s-4)}
.b2-suits strong{color:var(--text-2)}
.b2-enterprise{max-width:var(--maxw);margin:var(--s-5) auto 0;display:flex;flex-wrap:wrap;gap:var(--s-4) var(--s-6);align-items:center;justify-content:space-between}
.b2-enterprise-text{flex:1 1 320px}
.b2-cap td,.b2-cap th{white-space:normal}
.b2-cap{min-width:640px}

/* ---- Plan helper ---------------------------------------------------------- */
.ph{max-width:46rem;margin:0 auto}
.ph-label{display:block;font-weight:600;color:var(--text-2);margin-bottom:var(--s-2)}
.ph-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-4)}
.ph-range{flex:1 1 220px;min-width:0;height:44px;margin:0;padding:0;background:transparent;border:0;min-height:44px;accent-color:var(--accent);cursor:pointer}
.ph-range:focus-visible{outline:2px solid var(--focus);outline-offset:3px;box-shadow:none}
.ph-stepper{display:inline-flex;align-items:stretch;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel-2);overflow:hidden}
.ph-step{min-width:48px;min-height:48px;border:0;background:transparent;color:var(--text);font-size:1.4rem;line-height:1;cursor:pointer;font-family:inherit}
.ph-step:hover{background:var(--surface-3)}
.ph-step:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}
.ph-num{width:5rem;min-height:48px;text-align:center;border:0;border-inline:1px solid var(--line-strong);border-radius:0;background:transparent;-moz-appearance:textfield;appearance:textfield}
.ph-num::-webkit-outer-spin-button,.ph-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ph-hint{margin:var(--s-2) 0 var(--s-4)}
.ph-result{padding:var(--s-5)}
.ph-plan{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);margin:0 0 var(--s-2)}
.ph-price{margin:0 0 var(--s-3);font-family:var(--font-display);font-weight:800;font-size:clamp(1.8rem,5vw,2.4rem);line-height:1.1}
.ph-per{font-family:var(--font-body);font-weight:400;font-size:var(--fs-md);color:var(--muted)}
.ph-reason{margin:0 0 var(--s-4);color:var(--text-2)}
.ph-cta{margin:0}
@media (prefers-reduced-motion:reduce){.lead-form *,.ph *{transition:none!important}}
.lead-form .seg-opt span{white-space:nowrap}
.lead-form .lf-intro{margin-bottom:var(--s-5)}

/* Plan-card trial line: readable, not small grey */
.price-card .price-desc{color:var(--text-2);font-size:1rem}
.lf-next{margin:var(--s-3) 0 0;color:var(--text-2);font-size:var(--fs-sm);text-align:center}
.lf-next strong{color:var(--text)}
@media(max-width:520px){
  .lead-form .seg-track:has(.seg-opt:nth-child(5)):not(:has(.seg-opt:nth-child(6))){display:grid;grid-template-columns:repeat(6,1fr)}
  .lead-form .seg-track:has(.seg-opt:nth-child(5)):not(:has(.seg-opt:nth-child(6))) .seg-opt{grid-column:span 2}
  .lead-form .seg-track:has(.seg-opt:nth-child(5)):not(:has(.seg-opt:nth-child(6))) .seg-opt:nth-child(n+4){grid-column:span 3}
}
