/* The fellow.tbd.vc application look (same tokens, type and motion), plus the few extra pieces an
   onboarding flow needs: addresses, people, uploads, the signature pad. */
@font-face { font-family: 'Gabarito'; font-style: normal; font-weight: 400 900; font-display: swap; src: url(/gabarito.woff2) format('woff2'); }
html, body { margin: 0; height: 100%; }
.tbd-app{--forest:#28401E;--moss:#577938;--olive:#354922;--ink:#0B0F08;--body:#1A1A1A;--muted:#6A6A63;--paper:#F7FFF2;--mint:#F5FFF1;--pale:#DBE5D5;--pale2:#E4EFDD;--sage:#BDD6AC;--red:#9c3b1b;position:fixed;inset:0;font-family:Gabarito,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;background:var(--pale2);color:var(--body);overflow:hidden}
.tbd-app *{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.tbd-app .facets{position:absolute;inset:0;z-index:0;pointer-events:none}.tbd-app .facets svg{width:100%;height:100%;display:block}
.tbd-app .progress{position:absolute;top:0;left:0;right:0;height:5px;z-index:40;background:#28401e1a}
.tbd-app .progress .bar{height:100%;width:0;background:linear-gradient(90deg,var(--moss),var(--forest));transition:width .5s cubic-bezier(.22,1,.36,1)}
.tbd-app .chrome{position:absolute;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;gap:16px;padding:22px 28px;background:linear-gradient(var(--pale2) 65%,rgba(228,239,221,0))}
.tbd-app .wordmark{display:flex;align-items:center;gap:10px;color:var(--ink)}
.tbd-app .wordmark img{height:26px;width:auto;display:block;border-radius:6px}
.tbd-app .wordmark .wm{font-weight:900;font-size:21px;letter-spacing:-.02em;line-height:1}.tbd-app .wordmark .wm span{color:var(--moss)}
.tbd-app .counter{margin-left:auto;font-size:14px;font-weight:600;color:var(--muted);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.tbd-app .who{font-size:14px;font-weight:600;color:var(--muted);display:flex;gap:10px;align-items:center}
.tbd-app .stage{position:absolute;inset:0;z-index:10;display:flex;align-items:safe center;justify-content:center;padding:90px 24px 110px;overflow-y:auto}
.tbd-app .screen-wrap{width:100%;max-width:680px;display:flex;justify-content:center;animation:tbdEnter .5s cubic-bezier(.22,1,.36,1) both;margin:auto 0}
.tbd-app .screen-wrap.back{animation-name:tbdBack}
@keyframes tbdEnter{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@keyframes tbdBack{0%{opacity:0;transform:translateY(-26px)}to{opacity:1;transform:translateY(0)}}
.tbd-app .screen{width:100%;max-width:680px}
.tbd-app .kicker{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:700;color:var(--moss);letter-spacing:.14em;margin-bottom:18px;text-transform:lowercase}
.tbd-app .kicker .kline{width:34px;height:2px;background:var(--moss);display:inline-block}
.tbd-app h1.q{font-size:clamp(30px,4.6vw,46px);font-weight:800;letter-spacing:-.025em;line-height:1.06;color:var(--ink);margin-bottom:14px}
.tbd-app .sub{font-size:clamp(16px,2vw,19px);line-height:1.55;color:var(--muted);font-weight:500;margin-bottom:34px;max-width:56ch}
.tbd-app .sub b{color:var(--forest)}
.tbd-app .field{border:none;background:transparent;border-bottom:3px solid rgba(40,64,30,.28);font-family:inherit;font-size:clamp(24px,3.4vw,34px);font-weight:600;color:var(--ink);padding:8px 2px 12px;width:100%;outline:none;transition:border-color .25s;caret-color:var(--moss);border-radius:0}
.tbd-app .field:focus{border-color:var(--forest)}.tbd-app .field::placeholder{color:#6a6a6373;font-weight:500}
.tbd-app textarea.field{resize:none;line-height:1.4;font-size:clamp(20px,2.8vw,27px);min-height:120px}
.tbd-app .field-error{margin-top:12px;font-size:14px;font-weight:600;color:var(--red);min-height:1.2em}
/* choices: one per row, Typeform-style, with a key letter */
.tbd-app .choices{display:flex;flex-direction:column;gap:10px;max-width:560px}
.tbd-app .chips{display:flex;flex-wrap:wrap;gap:12px}
.tbd-app .chip{font-family:inherit;cursor:pointer;border:2px solid rgba(40,64,30,.3);background:#f7fff2bf;color:var(--forest);font-size:clamp(16px,2.2vw,19px);font-weight:700;padding:12px 18px;border-radius:14px;transition:all .2s cubic-bezier(.22,1,.36,1);display:flex;align-items:flex-start;gap:12px;text-align:left}
.tbd-app .chips .chip{border-radius:999px;padding:14px 24px;align-items:center}
.tbd-app .chip .key{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:6px;background:#28401e1f;font-size:12px;font-weight:800;letter-spacing:.04em;flex:none;margin-top:1px}
.tbd-app .chip small{display:block;font-size:14px;font-weight:500;color:var(--muted);margin-top:2px;line-height:1.35}
.tbd-app .chip:hover{border-color:var(--forest);transform:translateY(-2px);background:var(--paper)}
.tbd-app .chip.selected{background:var(--forest);color:var(--mint);border-color:var(--forest)}
.tbd-app .chip.selected .key{background:#f7fff238;color:var(--mint)}.tbd-app .chip.selected small{color:#dfeedd}
.tbd-app .actions{display:flex;align-items:center;gap:18px;margin-top:38px;flex-wrap:wrap}
.tbd-app .btn{font-family:inherit;cursor:pointer;border:none;border-radius:12px;background:var(--forest);color:var(--mint);font-size:17px;font-weight:800;letter-spacing:.02em;padding:15px 34px;display:inline-flex;align-items:center;gap:10px;transition:all .2s cubic-bezier(.22,1,.36,1);box-shadow:0 10px 26px -12px #28401e8c;text-decoration:none}
.tbd-app .btn:hover{background:var(--olive);transform:translateY(-2px)}.tbd-app .btn:disabled{opacity:.5;cursor:default;transform:none}
.tbd-app .btn.light{background:#f7fff2cc;color:var(--forest);border:2px solid rgba(40,64,30,.3);box-shadow:none;padding:11px 20px;font-size:15px}
.tbd-app .hint{font-size:13.5px;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:7px}
.tbd-app .hint kbd{font-family:inherit;background:#28401e1a;border-radius:5px;padding:2px 8px;font-size:12px;font-weight:800;color:var(--forest)}
.tbd-app .skip,.tbd-app .link{background:none;border:none;font-family:inherit;cursor:pointer;font-size:14px;font-weight:700;color:var(--muted);text-decoration:underline;text-underline-offset:3px;padding:6px}
.tbd-app .skip:hover,.tbd-app .link:hover{color:var(--forest)}
.tbd-app .welcome .mark{height:64px;width:auto;margin-bottom:26px;display:block;border-radius:12px}
.tbd-app .welcome h1{font-size:clamp(44px,7vw,76px);font-weight:900;letter-spacing:-.035em;line-height:.98;color:var(--ink);margin-bottom:12px}
.tbd-app .welcome h1 .dot{color:var(--moss)}
.tbd-app .facts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
.tbd-app .fact{font-size:14px;font-weight:700;color:var(--forest);border:1.5px solid rgba(40,64,30,.3);border-radius:999px;padding:8px 16px;background:#f7fff2b3}
.tbd-app .review-card,.tbd-app .card{background:#f7fff2d9;border:1.5px solid rgba(40,64,30,.18);border-radius:20px;padding:6px 24px}
.tbd-app .card{padding:18px 22px;margin-bottom:14px}
.tbd-app .card h3{font-size:19px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.tbd-app .rrow{display:flex;gap:18px;padding:13px 0;border-bottom:1px solid rgba(40,64,30,.12);align-items:baseline}.tbd-app .rrow:last-child{border-bottom:none}
.tbd-app .rlabel{flex:0 0 170px;font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--moss)}
.tbd-app .rval{font-size:17px;font-weight:600;color:var(--ink);line-height:1.45;white-space:pre-wrap;word-break:break-word}
.tbd-app .success{text-align:center;max-width:620px;margin:0 auto}.tbd-app .success .mark{height:84px;width:auto;margin:0 auto 28px;display:block;border-radius:16px}
.tbd-app .success h1{font-size:clamp(38px,5.5vw,58px);font-weight:900;letter-spacing:-.03em;color:var(--ink);margin-bottom:16px}
.tbd-app .success p{font-size:18px;line-height:1.6;color:var(--muted);font-weight:500;margin-bottom:8px}
.tbd-app .navbtns{position:absolute;bottom:26px;right:28px;z-index:30;display:flex;gap:10px}
.tbd-app .navbtn{width:46px;height:46px;border-radius:12px;border:2px solid rgba(40,64,30,.3);background:#f7fff2cc;color:var(--forest);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}
.tbd-app .navbtn:hover{border-color:var(--forest);background:var(--paper)}.tbd-app .navbtn:disabled{opacity:.35;cursor:default}.tbd-app .navbtn svg{width:18px;height:18px}
/* smaller labelled inputs inside composite questions (address, a person, tax residencies) */
.tbd-app .mini{display:block;margin-bottom:18px}
.tbd-app .mini>span{display:block;font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--moss);margin-bottom:4px}
.tbd-app .mini input,.tbd-app .mini select{width:100%;border:none;border-bottom:2px solid rgba(40,64,30,.28);background:transparent;font-family:inherit;font-size:20px;font-weight:600;color:var(--ink);padding:6px 2px 8px;outline:none;border-radius:0}
.tbd-app .mini input:focus,.tbd-app .mini select:focus{border-color:var(--forest)}
.tbd-app .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
.tbd-app .row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tbd-app .pill{font-size:12px;font-weight:800;border-radius:99px;padding:3px 10px;background:var(--pale);color:var(--olive)}.tbd-app .pill.ok{background:var(--forest);color:var(--mint)}.tbd-app .pill.wait{background:#fbecc7;color:#7a5310}
.tbd-app .upl{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}.tbd-app .upl input[type=file]{display:none}
.tbd-app .muted{color:var(--muted);font-size:15px;font-weight:500}
.tbd-app .notice{background:#f7fff2d9;border-left:3px solid var(--moss);padding:14px 16px;border-radius:10px;margin:0 0 18px;font-size:16px;line-height:1.5}
.tbd-app .miss{background:#fbecc7;border-radius:14px;padding:14px 18px;color:#7a5310;margin:18px 0;line-height:1.5}.tbd-app .miss ul{margin:8px 0 0 18px}
.tbd-app .tick{display:flex;gap:12px;align-items:flex-start;font-size:17px;line-height:1.45;margin:14px 0;cursor:pointer}.tbd-app .tick input{width:20px;height:20px;margin-top:3px;accent-color:var(--forest);flex:none}
.tbd-app .sig{border:2px dashed rgba(40,64,30,.35);border-radius:14px;background:#fff;touch-action:none;width:100%;height:150px;display:block}
.tbd-app .code{letter-spacing:.35em;font-variant-numeric:tabular-nums;max-width:280px}
@media(max-width:640px){.tbd-app .stage{padding:84px 20px 60px}.tbd-app .navbtns{display:none}.tbd-app .chrome{padding:16px 20px}.tbd-app .rlabel{flex:0 0 110px}.tbd-app .navbtns{bottom:18px;right:18px}.tbd-app .grid2{grid-template-columns:minmax(0,1fr)}.tbd-app .counter{display:none}}
.tbd-app [hidden]{display:none!important}
