/* Auth pages (signin.html, signup.html) — shared page-scoped styles (va- prefix).
   Ported from the old pricing.html auth modal: the same identifier/sign-in/sign-up
   steps, now a full page card so the flow works comfortably on mobile. Base look
   is inline like the rest of the site; these rules cover hover, focus rings,
   step visibility, and the responsive collapse. */
.va-wrap{max-width:472px;margin:0 auto;padding:112px 21px 64px}
.va-card{background:#FCFBF8;border:1px solid rgba(26,19,38,0.1);border-radius:20px;padding:32px 30px 28px;box-shadow:0 18px 42px -24px rgba(26,19,38,0.28)}
.va-title{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:28px;color:#1A1326;margin:0 0 6px;letter-spacing:-0.01em}
.va-title:focus{outline:none} /* programmatic focus target (tabindex="-1"), not keyboard-reachable */
.va-lede{font-size:14.5px;line-height:1.55;color:#5E566F;margin:0 0 20px}
.va-lede strong{color:#1A1326;font-weight:600}
.va-steps-dots{display:flex;gap:6px;margin:0 0 18px}
.va-steps-dots span{height:4px;flex:1;border-radius:2px;background:rgba(26,19,38,0.1)}
.va-steps-dots span[data-on="1"]{background:linear-gradient(135deg,#5A4BCF,#9B8DF5)}
.va-intro{font-size:13.5px;line-height:1.5;color:#B0552E;background:rgba(176,85,46,0.08);border:1px solid rgba(176,85,46,0.2);border-radius:12px;padding:10px 13px;margin:0 0 18px}
.va-intro[hidden]{display:none}
.va-step[hidden]{display:none}
.va-field{margin:0 0 14px}
.va-field:last-of-type{margin-bottom:0}
.va-label{display:block;font-size:12.5px;font-weight:600;letter-spacing:0.02em;color:#5E566F;margin:0 0 7px}
.va-input{width:100%;padding:13px 15px;font-size:16px;color:#1A1326;background:#fff;border:1px solid rgba(26,19,38,0.16);border-radius:12px;transition:border-color .18s ease,box-shadow .18s ease}
.va-input:focus{outline:none;border-color:#5A4BCF;box-shadow:0 0 0 3px rgba(90,75,207,0.15)}
.va-input{scroll-margin-top:96px} /* keep focus-scrolled inputs clear of the sticky nav */
.va-input::placeholder{color:#A39CB4}
.va-code-input{letter-spacing:0.4em;font-size:21px;text-align:center;font-weight:600}
.va-invite-input{text-transform:uppercase;letter-spacing:0.14em;font-weight:600}
.va-error{font-size:13px;color:#C23B3B;line-height:1.45;margin:12px 0 0}
.va-error:empty{margin:0}
.va-actions{margin-top:20px}
.va-foot{margin-top:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.va-linkbtn{background:none;border:none;padding:10px 2px;margin:-10px -2px;font-family:inherit;font-size:13px;color:#5A4BCF;font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.va-linkbtn:disabled{color:#A39CB4;cursor:default;text-decoration:none}
.va-hint{font-size:12.5px;color:#6E6683;line-height:1.5;margin:18px 0 0}
.va-hint a{color:#5A4BCF;text-decoration:underline;text-underline-offset:2px;display:inline-block;padding:6px 1px;margin:-6px -1px}
.va-done-icon{width:52px;height:52px;border-radius:50%;background:rgba(31,138,91,0.12);display:flex;align-items:center;justify-content:center;margin:4px 0 16px}
.va-done-icon::after{content:"";width:16px;height:9px;border-left:3px solid #1F6B49;border-bottom:3px solid #1F6B49;transform:rotate(-45deg);margin-top:-3px}
.va-cta{display:inline-flex;justify-content:center;align-items:center;width:100%;padding:13px 18px;border-radius:999px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;border:1px solid transparent;text-decoration:none;transition:filter .18s ease,transform .18s ease,opacity .18s ease}
.va-cta-primary{color:#fff;background:linear-gradient(135deg,#5A4BCF,#9B8DF5);box-shadow:0 8px 20px -8px rgba(90,75,207,0.6)}
.va-cta-primary:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}
.va-cta:disabled{opacity:.6;cursor:default;box-shadow:none;transform:none;filter:none}
/* Visually hidden but available to screen readers / password managers */
.va-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media(max-width:600px){
  /* The shared subpage nav overflows at phone widths; on the auth pages keep
     only logo + Pricing + the Sign in / Sign up actions. */
  nav .va-nav-secondary{display:none!important}
}
@media(max-width:480px){
  .va-wrap{padding:96px 14px 48px}
  .va-card{padding:26px 20px 24px;border-radius:18px}
}
