/* Typeform-style flow — shared by index.html and password.html */
.btn-lime{background:var(--accent);color:#050505}
.btn-lime:hover{background:#fff}
.btn-ghost{background:none;border:1px solid var(--line-2);color:var(--txt)}
.btn-ghost:hover{border-color:var(--txt)}
/* ============ TYPEFORM CONTACT ============ */
#contact{padding:clamp(80px,10vw,150px) 0 clamp(80px,10vw,150px);background:radial-gradient(ellipse 70% 60% at 50% 100%,rgba(255,255,255,0.045),transparent 70%)}
.tf{position:relative;min-height:min(82svh,760px);border:1px solid var(--line-2);border-radius:32px;background:rgba(10,10,10,.8);overflow:hidden;display:flex;flex-direction:column}
.tf-prog{height:3px;background:var(--line)}
.tf-prog i{display:block;height:100%;width:0;background:var(--accent);transition:width .6s var(--ease)}
.tf-stage{position:relative;flex:1;display:flex;align-items:center;padding:clamp(24px,4.4vw,72px) clamp(22px,7vw,110px)}
.tf-step{width:100%;max-width:980px}
.tf-step.in{animation:tfin .6s var(--ease) both}
.tf-step.out{position:absolute;left:clamp(22px,7vw,110px);right:clamp(22px,7vw,110px);animation:tfout .35s var(--ease) both;pointer-events:none}
@keyframes tfin{from{opacity:0;transform:translateY(44px)}to{opacity:1;transform:none}}
@keyframes tfout{to{opacity:0;transform:translateY(-44px)}}
.tf-q{display:flex;gap:clamp(12px,2vw,24px);align-items:flex-start}
.tf-n{flex:0 0 auto;font-family:var(--grotesk);font-weight:600;font-size:clamp(16px,2vw,24px);color:var(--accent);margin-top:.5em;display:flex;align-items:center;gap:6px;white-space:nowrap}
.tf-q h3{font-size:clamp(26px,4.4vw,58px);letter-spacing:-.045em;line-height:1.06}
.tf-hint{margin:14px 0 0 calc(clamp(12px,2vw,24px) + 2.2em);color:var(--mute);font-size:clamp(14px,1.2vw,17px)}
.tf-body{margin:clamp(18px,3vw,34px) 0 0 calc(clamp(12px,2vw,24px) + 2.2em)}
.tf-input{width:100%;background:none;border:0;border-bottom:2px solid var(--line-2);color:var(--accent);font-family:var(--grotesk);font-size:clamp(24px,3.4vw,44px);letter-spacing:-.03em;padding:8px 0 12px;border-radius:0;transition:border-color .3s}
.tf-input::placeholder{color:#4a4a46}
.tf-input:focus{outline:none;border-color:var(--accent)}
.tf-err{min-height:22px;margin-top:10px;color:#e4e4df;font-size:14px}
.tf-ok{display:inline-flex;align-items:center;gap:12px;margin-top:10px;background:var(--accent);color:#050505;font-family:var(--grotesk);font-weight:600;font-size:18px;border-radius:12px;padding:13px 22px;transition:background .25s}
.tf-ok:hover{background:#fff}
.tf-ok small{font-weight:500;font-size:12px;opacity:.7}
.tf-choices{display:grid;gap:8px;max-width:640px}
.tf-choice{display:flex;align-items:center;gap:14px;text-align:left;border:1px solid var(--line-2);background:rgba(255,255,255,0.015);border-radius:12px;padding:11px 16px;font-family:var(--grotesk);font-weight:500;font-size:clamp(16px,1.5vw,20px);transition:background .25s,border-color .25s,transform .3s var(--ease)}
.tf-choice:hover{border-color:var(--accent);background:rgba(255,255,255,0.045)}
.tf-choice kbd{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border:1px solid var(--line-2);border-radius:7px;font-family:var(--grotesk);font-size:13px;color:var(--mute);background:var(--bg)}
.tf-choice.sel{background:var(--accent);color:#050505;border-color:var(--accent)}
.tf-choice.sel kbd{background:#050505;color:var(--accent);border-color:#050505}
.tf-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px clamp(18px,3vw,36px);border-top:1px solid var(--line);font-family:var(--grotesk);font-size:13px;color:var(--dim)}
.tf-nav{display:flex;gap:8px}
.tf-nav button{width:42px;height:42px;border:1px solid var(--line-2);border-radius:10px;font-size:18px;transition:border-color .25s,background .25s,opacity .25s}
.tf-nav button:hover:not(:disabled){border-color:var(--accent);background:rgba(255,255,255,0.04)}
.tf-nav button:disabled{opacity:.3;cursor:default}
.tf-welcome h3{font-size:clamp(40px,7vw,110px);letter-spacing:-.055em;line-height:.98}
.tf-welcome h3 em{font-style:normal;color:var(--accent)}
.tf-welcome p{margin:clamp(16px,2vw,26px) 0 clamp(24px,3vw,38px);color:var(--mute);max-width:46ch;font-size:clamp(15px,1.3vw,19px)}
.tf-welcome .btn small{opacity:.65;font-weight:500;font-size:12px}
.tf-sum{display:grid;gap:0;max-width:640px;border-top:1px solid var(--line)}
.tf-sum div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.tf-sum dt{color:var(--dim);font-family:var(--grotesk);font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding-top:3px}
.tf-sum dd{color:var(--txt);overflow-wrap:anywhere}
.tf-done pre{margin:22px 0 0;white-space:pre-wrap;font-family:var(--sans);font-size:14px;color:var(--mute);border:1px dashed var(--line-2);border-radius:14px;padding:18px;max-width:640px}
.tf-done .row2{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.tf-alt{margin-top:22px;text-align:center;color:var(--mute);font-size:15px}
.tf-alt a{color:var(--accent);border-bottom:1px solid currentColor}


/* phone layout for the Typeform-style flow */
@media(max-width:860px){
  .tf-hint,.tf-body{margin-left:0}
  .tf-q{flex-direction:column;gap:6px}
  .tf-n{margin-top:0}
  .tf-choices{max-width:none}
  .tf-sum div{grid-template-columns:1fr;gap:2px}
  .tf-ok{width:100%;justify-content:center}
}
