/* Optional testimonial invitation. Lives under <body>, outside the fitted
   .wrap workspace, so it never changes workspace zoom or geometry. */
.ti-overlay{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(4,8,5,.72);font-family:var(--font-body, system-ui, sans-serif)}
.ti-overlay[hidden]{display:none}
.ti-dialog{position:relative;box-sizing:border-box;width:100%;max-width:520px;max-height:calc(100vh - 32px);overflow-y:auto;padding:26px 24px 22px;border:1px solid #ffffff1f;border-radius:16px;background:linear-gradient(145deg,#222628,#17191a);color:#e6eaee;box-shadow:0 28px 80px rgba(0,0,0,.6)}
.ti-close{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#aab3ba;font-size:24px;line-height:1;cursor:pointer}
.ti-close:hover{background:#ffffff12;color:#fff}
.ti-kicker{margin:0 0 6px;color:#c9b98f;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.ti-title{margin:0 44px 10px 0;font-size:22px;line-height:1.25;color:#f3f5f7}
.ti-title:focus{outline:none}
.ti-intro{margin:0 0 18px;color:#b8c1c8;font-size:14px;line-height:1.55}
.ti-step[hidden]{display:none}
.ti-label{display:block;margin:12px 0 5px;color:#d7dde2;font-size:13px;font-weight:600}
.ti-hint,.ti-counter{margin:0 0 6px;color:#9fa9b1;font-size:12.5px;line-height:1.45}
.ti-counter{margin:4px 0 0;text-align:right}
.ti-story,.ti-input{box-sizing:border-box;width:100%;padding:10px 12px;border:1px solid #ffffff26;border-radius:10px;background:#141617;color:#eef1f3;font:inherit;font-size:14px;line-height:1.5}
.ti-story{min-height:110px;resize:vertical}
.ti-privacy{margin:14px 0 10px;padding:11px 13px;border:1px solid #ffffff17;border-radius:10px;background:#ffffff08;color:#b8c1c8;font-size:12.5px;line-height:1.55}
.ti-privacy strong{color:#e8dcb8}
.ti-privacy-link{color:#e8dcb8;text-decoration:underline;text-underline-offset:2px}
.ti-privacy-link:focus-visible{outline:2px solid #e8dcb8;outline-offset:2px;border-radius:3px}
.ti-consent{display:flex;gap:10px;align-items:flex-start;margin:4px 0 6px;color:#d0d7dc;font-size:13px;line-height:1.45;cursor:pointer}
.ti-consent input{flex:none;width:20px;height:20px;margin:1px 0 0}
.ti-status{min-height:1.4em;margin:6px 0 0;color:#b8c1c8;font-size:13px}
.ti-status.ti-error{color:#f2b8a8}
.ti-done{margin:6px 0 16px;color:#dfe5ea;font-size:15px;line-height:1.55}
.ti-done:focus{outline:none}
.ti-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.ti-primary,.ti-secondary{min-height:44px;padding:10px 18px;border-radius:10px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.ti-primary{border:1px solid #e6cf9b;background:#e6cf9b;color:#1b1d1e}
.ti-primary:hover{background:#f0dcae}
.ti-secondary{border:1px solid #ffffff2e;background:transparent;color:#d7dde2}
.ti-secondary:hover{background:#ffffff0f}
.ti-overlay button:focus-visible,.ti-overlay input:focus-visible,.ti-overlay textarea:focus-visible{outline:2px solid #e6cf9b;outline-offset:2px}
.ti-overlay button:disabled{opacity:.6;cursor:default}
@media(max-width:480px){
  .ti-overlay{align-items:flex-end;padding:0}
  .ti-dialog{max-height:92vh;border-radius:16px 16px 0 0;padding:22px 16px 18px}
  .ti-title{font-size:19px}
  .ti-actions>button{flex:1 1 100%}
}
@media(prefers-reduced-motion:reduce){.ti-overlay *{transition:none!important;animation:none!important}}
