/* Primus quote intake (R3). Scoped to .qi-root. Uses the site's tokens (theme-tokens.css) with fallbacks,
   so it also renders on its own. Mobile-first; AA contrast in light and dark; respects prefers-reduced-motion. */
.qi-root{
  --qi-ink:var(--ink,#1B2628);
  --qi-muted:var(--muted,#55625F);
  --qi-field:#FFFFFF;
  --qi-border:#76827F;          /* 3.9:1 on white: visible field edges (WCAG 1.4.11) */
  --qi-line:var(--line,#DCD8CC);
  --qi-accent:var(--forest,#14625F);
  --qi-accent-ink:#F5F0E6;
  --qi-link:#14625F;
  --qi-focus:#14625F;
  --qi-err:#A63A27;             /* 5.9:1 on white */
  --qi-err-bg:#FBEDEA;
  --qi-ok:#1D6B3A;
  --qi-ok-bg:#EAF5EE;
  --qi-note-bg:#EEF4F2;
  --qi-warn-bg:#F6F1DF;
  --qi-warn-line:#A89A4E;
  --qi-radius:14px;
  font-family:var(--sans,"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif);
  color:var(--qi-ink);
  font-size:16px;line-height:1.5;
  display:block;max-width:100%;min-width:0;
}
@media (prefers-color-scheme:dark){
  .qi-root{
    --qi-ink:#E6ECEA;--qi-muted:#A9B8B5;--qi-field:#0F1719;--qi-border:#7E908C;--qi-line:#2C3B3E;
    --qi-accent:#8ED3CB;--qi-accent-ink:#0F1719;--qi-link:#8ED3CB;--qi-focus:#8ED3CB;
    --qi-err:#FF9B87;--qi-err-bg:#2A1714;--qi-ok:#8FDCA8;--qi-ok-bg:#12271B;--qi-note-bg:#13302E;--qi-warn-bg:#29261A;--qi-warn-line:#D2C682;
  }
}
.qi-root *,.qi-root *::before,.qi-root *::after{box-sizing:border-box}
.qi-root a{color:var(--qi-link);text-decoration:underline;text-underline-offset:2px}
.qi-root a:focus-visible,.qi-root button:focus-visible,.qi-root input:focus-visible,.qi-root select:focus-visible,.qi-root textarea:focus-visible,.qi-root [tabindex="-1"]:focus-visible{outline:3px solid var(--qi-focus);outline-offset:2px}
.qi-form{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;margin-top:18px;min-width:0}
.qi-set{border:0;margin:0;padding:0;min-width:0}
.qi-set legend{font-family:var(--serif,"Newsreader",Georgia,serif);font-size:21px;font-weight:600;color:var(--qi-ink);padding:0;margin-bottom:12px}
.qi-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
@media (min-width:640px){.qi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.qi-wide{grid-column:1/-1}}
.qi-field{display:grid;gap:6px;min-width:0}
.qi-field[hidden],.qi-root [hidden]{display:none!important}
.qi-field label,.qi-file>label{font-weight:600;font-size:15px}
.qi-opt{font-weight:400;color:var(--qi-muted)}
.qi-hint{margin:0;font-size:14px;color:var(--qi-muted)}
.qi-root input[type=text],.qi-root input[type=email],.qi-root input[type=tel],.qi-root input[type=number],.qi-root select,.qi-root textarea{
  width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--qi-border);border-radius:var(--qi-radius);
  background:var(--qi-field);color:var(--qi-ink);font:inherit;font-size:16px;transition:border-color .2s,box-shadow .2s}
.qi-root textarea{min-height:110px;resize:vertical}
.qi-root select{appearance:auto}
.qi-invalid input,.qi-invalid select,.qi-invalid textarea{border-color:var(--qi-err);box-shadow:0 0 0 1px var(--qi-err)}
.qi-err{margin:0;color:var(--qi-err);font-size:14px;font-weight:600}
.qi-err::before{content:"! ";font-weight:800}
.qi-summary{padding:14px 16px;border:2px solid var(--qi-err);border-radius:var(--qi-radius);background:var(--qi-err-bg)}
.qi-summary ul{margin:6px 0 0;padding-left:20px}
.qi-summary a{color:var(--qi-err)}
.qi-demo{margin:0;padding:12px 14px;border:1px dashed var(--qi-warn-line);border-radius:var(--qi-radius);background:var(--qi-warn-bg);font-size:14.5px}
.qi-elig{margin-top:14px;padding:14px 16px;border-radius:var(--qi-radius);font-size:15px}
.qi-elig p{margin:0}
.qi-elig-ok{background:var(--qi-note-bg);border:1px solid var(--qi-line)}
.qi-elig-no{background:var(--qi-warn-bg);border:1px solid var(--qi-warn-line)}
.qi-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin:10px 0 0;padding:0;list-style:none}
.qi-links a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.qi-file{display:grid;gap:6px;padding:14px;border:1px solid var(--qi-line);border-radius:var(--qi-radius);margin-top:12px;min-width:0}
.qi-file.qi-valid{border-color:var(--qi-ok)}
.qi-file.qi-invalid{border-color:var(--qi-err)}
.qi-file-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.qi-root input[type=file]{width:100%;max-width:100%;min-width:0;min-height:44px;font-size:15px;color:var(--qi-ink)}
.qi-root input[type=file]::file-selector-button{min-height:44px;margin-right:10px;padding:0 16px;border:1px solid var(--qi-border);border-radius:999px;background:var(--qi-field);color:var(--qi-ink);font:inherit;font-weight:600;cursor:pointer}
.qi-link{min-height:44px;padding:0 6px;border:0;background:none;color:var(--qi-link);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}
.qi-ok{margin:0;color:var(--qi-ok);font-weight:600;font-size:14.5px;overflow-wrap:anywhere}
.qi-bad{padding:10px 12px;border-radius:10px;background:var(--qi-err-bg);color:var(--qi-ink);font-size:14.5px;overflow-wrap:anywhere}
.qi-bad p{margin:0 0 6px}
.qi-errlist{margin:0;padding-left:20px;color:var(--qi-err)}
.qi-errtable{width:100%;border-collapse:collapse;margin-top:6px;font-size:14px;table-layout:fixed}
.qi-errtable caption{text-align:left;font-weight:600;padding-bottom:4px}
.qi-errtable th,.qi-errtable td{padding:6px 6px;border-top:1px solid var(--qi-line);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.qi-errtable th:nth-child(1),.qi-errtable td:nth-child(1){width:3.5em}
.qi-errtable th:nth-child(2),.qi-errtable td:nth-child(2){width:30%}
.qi-errtable td:nth-child(3){color:var(--qi-err)}
.qi-check{display:grid;grid-template-columns:28px 1fr;gap:4px 10px;align-items:start;margin-top:12px}
.qi-check input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--qi-accent)}
.qi-check label{font-size:14.5px;line-height:1.5}
.qi-check .qi-err{grid-column:2}
.qi-privacy{margin:0 0 4px;padding:12px 14px;background:var(--qi-note-bg);border-radius:var(--qi-radius);font-size:14.5px}
.qi-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.qi-actions{display:grid;gap:10px}
.qi-btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;border:0;border-radius:999px;background:var(--qi-accent);color:var(--qi-accent-ink);font:inherit;font-size:16px;font-weight:700;cursor:pointer;transition:transform .2s,filter .2s;width:100%}
@media (min-width:640px){.qi-btn{width:auto;justify-self:start}}
.qi-btn:hover{filter:brightness(1.08)}
.qi-btn:active{transform:translateY(1px)}
.qi-btn[disabled]{opacity:.7;cursor:progress}
.qi-status{margin:0;font-weight:600;color:var(--qi-muted)}
.qi-status:empty{display:none}
.qi-done{display:grid;gap:12px;margin-top:18px;padding:22px;border:1px solid var(--qi-ok);border-radius:18px;background:var(--qi-ok-bg);outline:none;animation:qiIn .5s cubic-bezier(.23,1,.32,1)}
.qi-done-msg{margin:0;font-family:var(--serif,"Newsreader",Georgia,serif);font-size:22px;font-weight:600;color:var(--qi-ink)}
@keyframes qiIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .qi-root *,.qi-root *::before,.qi-root *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
/* Narrow screens: each row problem becomes a stacked card ("Row 3 · Home ZIP" then the fix). */
@media (max-width:539px){
  .qi-errtable,.qi-errtable tbody,.qi-errtable tr,.qi-errtable td{display:block;width:auto!important}
  .qi-errtable thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .qi-errtable tr{padding:8px 0;border-top:1px solid var(--qi-line)}
  .qi-errtable td{border:0;padding:0}
  .qi-errtable td:nth-child(1),.qi-errtable td:nth-child(2){display:inline;font-weight:700}
  .qi-errtable td:nth-child(1)::before{content:"Row "}
  .qi-errtable td:nth-child(2)::before{content:" \00B7  "}
  .qi-errtable td:nth-child(3){margin-top:2px}
}
/* Step 1 path chooser + business owner form (D1). */
.qi-demo-top{margin-top:18px}
.qi-path{margin-top:18px}
.qi-path-opts{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
@media (min-width:640px){.qi-path-opts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.qi-path-opt{display:grid;grid-template-columns:28px minmax(0,1fr);gap:4px 10px;align-items:start;min-height:56px;padding:14px;border:1px solid var(--qi-border);border-radius:var(--qi-radius);background:var(--qi-field);cursor:pointer;font-size:15px;line-height:1.4}
.qi-path-opt input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--qi-accent)}
.qi-path-opt b{display:block;color:var(--qi-ink)}
.qi-path-opt .qi-hint{display:block;margin-top:2px}
.qi-path-opt:has(input:checked){border-color:var(--qi-accent);box-shadow:0 0 0 1px var(--qi-accent)}
.qi-note{margin:0;padding:12px 14px;background:var(--qi-note-bg);border-radius:var(--qi-radius);font-size:15px}
.qi-go-owner{margin-top:8px}
