/* Trial upload form and questions page: mobile first. */
.fm{display:grid;gap:1.1rem;margin:1.5rem 0}
.fm label.f{display:grid;gap:.35rem;font-weight:600}
.fm .hint{font-weight:400;color:var(--muted);font-size:.88rem}
.fm input[type=text],.fm input[type=email],.fm input[type=tel],.fm textarea{font:inherit;font-weight:400;padding:.75rem .85rem;border:1px solid rgba(16,19,24,.25);border-radius:8px;background:#fff;color:var(--ink);width:100%;box-sizing:border-box}
.fm textarea{min-height:5.5rem;resize:vertical}
.fm input:focus-visible,.fm textarea:focus-visible{outline:3px solid var(--accent);outline-offset:1px}
.tseg{display:flex;gap:.5rem;flex-wrap:wrap}
.tseg label{display:flex;align-items:center;gap:.45rem;padding:.6rem .9rem;border:1px solid rgba(16,19,24,.25);border-radius:8px;background:#fff;cursor:pointer;font-weight:600}
.tseg input{accent-color:var(--accent);width:1.1rem;height:1.1rem}
.tdrop{display:grid;place-items:center;gap:.4rem;text-align:center;padding:1.4rem 1rem;border:2px dashed rgba(16,19,24,.3);border-radius:10px;background:#fff;cursor:pointer}
.tdrop.ok{border-style:solid;border-color:var(--ok,#1D7A4E)}
.tdrop input{position:absolute;width:1px;height:1px;opacity:0}
.ticks{display:grid;gap:.7rem}
.tick{display:grid;grid-template-columns:1.4rem 1fr;gap:.6rem;align-items:start;font-weight:400;line-height:1.45}
.tick input{width:1.25rem;height:1.25rem;margin-top:.15rem;accent-color:var(--accent)}
.tick b{font-weight:600}
.req{color:var(--accent);font-weight:700}
.bar{height:.7rem;border-radius:99px;background:rgba(16,19,24,.1);overflow:hidden}
.bar i{display:block;height:100%;width:0;background:var(--accent);transition:width .3s}
.err{color:#B3261E;font-weight:600}
.big-ref{font:700 1.6rem/1.2 var(--mono);letter-spacing:.06em}
.stack{display:grid;gap:.6rem;max-width:24rem}
.qcard{background:#fff;border:1px solid rgba(16,19,24,.14);border-radius:10px;padding:1rem 1rem 1.1rem;margin:0 0 1rem}
.qcard h2{font:600 1.08rem/1.35 var(--body);margin:0 0 .3rem;text-transform:none;letter-spacing:0}
.qcard .why{margin:0 0 .7rem;color:var(--muted);font-size:.88rem}
.qopts{display:grid;gap:.45rem}
.qopt{display:flex;align-items:center;gap:.6rem;padding:.7rem .8rem;border:1px solid rgba(16,19,24,.2);border-radius:8px;cursor:pointer}
.qopt input{width:1.15rem;height:1.15rem;accent-color:var(--accent)}
.qopt:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.qrec{white-space:nowrap;font:600 .66rem/1 var(--mono);letter-spacing:.08em;color:var(--accent);margin-left:auto}
.fm [hidden],.fm label[hidden]{display:none!important}
/* question title: a full-width line, not a narrow legend on the card border */
.qcard>legend{float:left;width:100%;padding:0;margin:0}
.qcard>legend+*{clear:both}
.qcard>legend h2{max-width:none;width:100%}
/* next video (signed-in client) */
.nx{display:grid;gap:.5rem;background:#fff;border:1px solid rgba(16,19,24,.12);border-radius:10px;padding:1rem;margin:1rem 0}
.nx .o-k{font:700 .66rem/1 var(--mono);letter-spacing:.16em;color:#D42A25;margin:0}
.nx p{margin:0}.nx #nx-h{font-weight:700}
.nx textarea{font:inherit;min-height:4.5rem;padding:.6rem .7rem;border:1px solid rgba(16,19,24,.25);border-radius:8px}
.nx[hidden],.fm fieldset[hidden]{display:none!important}
.nx textarea{width:100%;box-sizing:border-box}

/* country code + number */
.ccrow{display:flex;gap:.4rem}.ccrow .cc{flex:none;max-width:9.5rem;font:inherit;font-weight:400;padding:.6rem .4rem;border:1px solid rgba(16,19,24,.25);border-radius:8px;background:#fff;color:inherit}.ccrow input{flex:1;min-width:0}

/* trial steps + quick picks (qualifying questions, his wording 10-29): one accent, big tap targets, calm spacing */
.doc .tprog,.tprog{list-style:none;margin:0;padding:0;max-width:none;display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}
.doc .tprog li,.tprog li{max-width:none;margin:0;padding:0;display:grid;gap:.45rem;font:600 .7rem/1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.tprog li i{display:block;height:4px;border-radius:99px;background:rgba(16,19,24,.12);transition:background-color .25s ease}
.tprog li.done i,.tprog li.on i{background:var(--accent)}
.tprog li.on{color:var(--ink)}
.fm .step{display:grid;gap:1.25rem}
.fm .step:not([hidden]){animation:stIn .28s ease both}
@keyframes stIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.fm .step:not([hidden]){animation:none}}
.sth{display:grid;gap:.3rem;margin:.4rem 0 .1rem}
.sth .stk{margin:0;font:700 .68rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.doc .sth h2{margin:0;font-size:clamp(1.55rem,6vw,2rem);line-height:1.1}
.sth .sts{margin:0;color:var(--muted);font-size:.95rem}
.qf{border:0;padding:1.15rem 0 0;margin:0;display:grid;gap:.6rem;border-top:1px solid rgba(16,19,24,.09)}
.sth+.qf{border-top:0;padding-top:0}
.qf legend{float:left;width:100%;padding:0;margin:0 0 .65rem;font-weight:600;font-size:1.02rem;line-height:1.35}
.qf legend+*{clear:both}
.qf legend .hint{display:block;margin-top:.2rem;font-size:.86rem;font-weight:400;line-height:1.4}
.tseg{gap:.5rem}
.tseg label{position:relative;min-height:3rem;box-sizing:border-box;padding:.6rem 1.1rem;border:1.5px solid rgba(16,19,24,.16);border-radius:999px;background:#fff;
  font-weight:600;line-height:1.2;transition:border-color .15s ease,background-color .15s ease,transform .1s ease;-webkit-tap-highlight-color:transparent}
.tseg label:active{transform:scale(.98)}
.tseg input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.tseg label.on,.tseg label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.tseg label.on::before,.tseg label:has(input:checked)::before{content:"";width:1rem;height:1rem;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3.2L13 4.8' fill='none' stroke='%23D42A25' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;margin-right:.05rem}
.tseg label:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
#q-link{margin-top:.15rem}
.stepnav{display:flex;gap:.6rem;align-items:center;margin:.4rem 0 0}
.stepnav .btn{min-height:3.25rem}
.stepnav .btn.primary{flex:1;max-width:18rem}
.fm .err{margin:0}
.fm .err:not(:empty){padding:.7rem .9rem;border-radius:10px;background:#FDECEA;border:1px solid rgba(179,38,30,.25)}
