/* intake/intake.css — every rule scoped under .ik so it can live inside the site. */
.ik{
  --paper:#FFFFFF;--ink:#0E1621;--ink-2:#5A6672;--ink-3:#8A96A2;--rule:#D3DAE1;--rule-2:#E9EDF1;
  --or:#ff5f00;--or-ink:#c34d08;--or-wash:#FFF1E8;--on-or:#0E1621;--err:#b8362a;
  color-scheme:light;
  --sans:'Helvetica Neue',Helvetica,Arial,sans-serif;
  --mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --ease:cubic-bezier(.6,0,.2,1);--out:cubic-bezier(.2,.8,.2,1);
}
/* night: the site's own palette (void, ink, neon cyan) — set by html[data-theme] via intake.js */
.ik[data-theme="dark"]{
  --paper:#060A0E;--ink:#D8E1E8;--ink-2:#8798A6;--ink-3:#5E6E7B;--rule:#27323B;--rule-2:#141C23;
  --or:#2EF2E6;--or-ink:#2EF2E6;--or-wash:rgba(46,242,230,.08);--on-or:#060A0E;--err:#FF6C3A;
  color-scheme:dark;
}
.ik{transition:background-color .4s,color .4s}
.ik *,.ik *::before,.ik *::after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.ik{margin:0}
.ik{position:relative;background:var(--paper);color:var(--ink);font:15px/1.5 var(--sans);-webkit-font-smoothing:antialiased;text-align:left}
.ik button{font:inherit;color:inherit}
.ik .k{font:600 10px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.ik .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ── bar + progress rail ── */
.ik .bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;padding:14px max(16px,calc(50vw - 440px));padding-top:max(14px,env(safe-area-inset-top));background:var(--paper);border-bottom:1px solid var(--rule-2)}
.ik .bar .dot{color:var(--or);font-size:12px}
.ik .bar .sp{flex:1}
.ik .rail{display:flex;gap:5px;align-items:center}
.ik .rail i{display:block;width:22px;height:3px;background:var(--rule);position:relative;overflow:hidden}
.ik .rail i::after{content:"";position:absolute;inset:0;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.ik .rail i.on::after{transform:scaleX(1)}
.ik .rail i.now::after{background:var(--or);transform:scaleX(1)}
.ik .over{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--rule);background:var(--paper);padding:7px 11px;cursor:pointer;font:600 12px/1 var(--sans);color:var(--ink-2);transition:border-color .15s,color .15s}
.ik .over svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ik .over:hover,.ik .over:focus-visible{border-color:var(--ink);color:var(--ink);outline:none}
.ik .over:hover svg{transform:rotate(-40deg);transition:transform .35s var(--ease)}
/* the stepper (desktop) */
.ik .steps{display:flex;align-items:center;gap:2px;margin-left:18px}
.ik .step{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:7px;padding:6px 9px;font:600 12.5px/1 var(--sans);color:var(--ink-3);cursor:pointer;position:relative;transition:color .2s}
.ik .step .n{display:grid;place-items:center;width:19px;height:19px;border:1px solid var(--rule);border-radius:50%;font:600 10px/1 var(--mono);transition:all .25s}
.ik .step.done{color:var(--ink)}
.ik .step.done .n{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.ik .step.now{color:var(--ink)}
.ik .step.now .n{border-color:var(--or);background:var(--or);color:var(--on-or)}
.ik .step.now::after{content:"";position:absolute;left:9px;right:9px;bottom:-15px;height:2px;background:var(--or)}
.ik .step:disabled{cursor:default}
.ik .step:not(:disabled):hover,.ik .step:not(:disabled):focus-visible{color:var(--or-ink);outline:none}
.ik .step:not(:disabled):hover .n{border-color:var(--or)}
.ik .mstep,.ik .rail{display:none}
@media (max-width:760px){.ik .steps{display:none}.ik .mstep,.ik .rail{display:flex}.ik .mstep{white-space:nowrap}.ik .over{padding:6px 8px;font-size:11px}}
.ik .over{white-space:nowrap}
.ik .over[hidden]{display:none}
@media (max-width:600px){.ik .bar .lbl{display:none}.ik .rail i{width:16px}}

.ik .col{width:min(680px,calc(100% - 32px));margin:0 auto;padding:28px 0 calc(96px + env(safe-area-inset-bottom))}

/* ── title ── */
.ik .head .k{display:flex;gap:10px}
.ik .head .k b{font-weight:600;color:var(--ink);font-family:var(--mono);letter-spacing:.04em}
.ik .ttl{margin:6px 0 0;font:700 40px/1.08 var(--sans);letter-spacing:-.015em;min-height:1.08em}
.ik .ttl.empty{color:var(--rule)}

/* ── picks so far: pills, tap to change ── */
.ik .strip[hidden]{display:none}
.ik .strip{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;min-height:0}
.ik .pill{display:inline-flex;align-items:baseline;gap:7px;max-width:100%;padding:6px 10px;border:1px solid var(--ink);background:var(--paper);cursor:pointer;font-size:13.5px;font-weight:600;text-align:left;transition:background .15s,color .15s,border-color .15s}
.ik .pill b{font:600 9px var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);transition:color .15s}
.ik .pill .v{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:34ch}
.ik .pill:hover,.ik .pill:focus-visible{background:var(--ink);color:var(--paper);outline:none}
.ik .pill:hover b,.ik .pill:focus-visible b{color:var(--rule)}
.ik .pill.cur{border-color:var(--or);box-shadow:inset 0 -2px 0 var(--or)}

/* ── stage: agent + question ── */
.ik .stage{display:grid;grid-template-columns:84px 1fr;gap:18px;align-items:start;margin-top:28px;scroll-margin-top:80px}
.ik .home{width:84px;height:84px;margin-top:-6px}
/* the agent floats in its own layer and springs between seats (agent.js) */
.ik .bot{position:absolute;left:0;top:0;z-index:4;pointer-events:none;will-change:transform}
.ik .bot canvas{display:block;position:relative}
/* a soft body: frosted paper behind the ring, so wherever it perches it sits on top of things */
.ik .bot::before{content:"";position:absolute;inset:20%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--paper) 78%,transparent) 52%,transparent 71%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-mask:radial-gradient(circle,#000 50%,transparent 71%);mask:radial-gradient(circle,#000 50%,transparent 71%)}
.ik .status{height:14px;font:500 10px/14px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--or-ink);overflow:hidden}
.ik .status span{display:block;animation:ik-rise .35s var(--out) both}
.ik .status .ok{color:var(--ink-2)}
.ik .status .ok::before{content:"✓ ";color:var(--or)}
.ik .q{margin:6px 0 0;font:500 27px/1.28 var(--sans);letter-spacing:-.01em;min-height:1.28em;text-wrap:balance}
.ik .w{display:inline-block;animation:ik-word .45s var(--out) both}
.ik .w.fresh{color:var(--or-ink)}
@keyframes ik-word{from{opacity:0;transform:translateY(.3em);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes ik-rise{from{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}
@media (max-width:600px){.ik .home{width:64px;height:64px}.ik .stage{grid-template-columns:64px 1fr;gap:12px;margin-top:22px}.ik .q{font-size:22px}.ik .ttl{font-size:28px}}

/* ── answers ── */
.ik .ans{margin:20px 0 0 102px}
@media (max-width:600px){.ik .ans{margin-left:0}}
.ik .ans[hidden]{display:none}
.ik .in>*{animation:ik-rise2 .42s var(--out) both}
@keyframes ik-rise2{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.ik .tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:8px}
@media (max-width:600px){.ik .tiles{grid-template-columns:1fr 1fr}}
.ik .tile{position:relative;display:flex;flex-direction:column;justify-content:flex-start;gap:3px;min-height:76px;padding:14px 14px 12px;border:1px solid var(--rule);background:var(--paper);text-align:left;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.ik .tile .v{font-size:15px;font-weight:700;line-height:1.25;padding-right:22px}
.ik .tile small{font-size:12px;line-height:1.35;color:var(--ink-2)}
.ik .tile kbd{position:absolute;top:10px;right:10px;font:600 10px var(--mono);color:var(--ink-3)}
.ik .tile:hover,.ik .tile:focus-visible{background:var(--or-wash);outline:none}
.ik .tile:active{transform:scale(.98)}
/* ── quiet motion on the options ── */
/* a soft light that follows the pointer across a tile */
.ik .tile{overflow:hidden;isolation:isolate}
.ik .tile::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .3s;
  background:radial-gradient(160px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--or) 14%,transparent),transparent 70%)}
.ik .tile:hover::before{opacity:1}
/* the accent edge draws itself in on hover: top and bottom sweep across, sides drop */
.ik .tile::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(var(--or),var(--or)) 0 0/0 1px no-repeat,linear-gradient(var(--or),var(--or)) 100% 100%/0 1px no-repeat,
             linear-gradient(var(--or),var(--or)) 100% 0/1px 0 no-repeat,linear-gradient(var(--or),var(--or)) 0 100%/1px 0 no-repeat;
  transition:background-size .38s var(--ease)}
.ik .tile:hover::after,.ik .tile:focus-visible::after{background-size:100% 1px,100% 1px,1px 100%,1px 100%}
.ik .tile:hover{transform:translateY(-1px)}
.ik .tile:active{transform:translateY(0) scale(.985)}
/* tap ripple, from where the finger or pointer landed */
.ik .rip{position:absolute;border-radius:50%;pointer-events:none;background:currentColor;opacity:.14;transform:translate(-50%,-50%) scale(0);animation:ik-rip .6s var(--out) forwards}
@keyframes ik-rip{to{transform:translate(-50%,-50%) scale(1);opacity:0}}
.ik .chip,.ik .go,.ik .pill{position:relative;overflow:hidden}
/* chips: one ink block slides to the pick instead of chips flipping colour */
.ik .chips{position:relative}
.ik .chips .sel{position:absolute;left:0;top:0;z-index:0;background:var(--ink);pointer-events:none;opacity:0;
  transition:transform .42s var(--ease),width .42s var(--ease),height .42s var(--ease),opacity .2s}
.ik .chips .chip{z-index:1;background:transparent}
.ik .chips .chip[aria-pressed="true"]{background:transparent;color:var(--paper);border-color:var(--ink);transition:color .25s .1s,border-color .2s}
/* Next arms itself with a single light sweep the moment it becomes usable */
.ik .go::after{content:"";position:absolute;inset:0;pointer-events:none;transform:translateX(-110%);
  background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%)}
.ik .go.arm::after{animation:ik-sweep .9s var(--ease) .05s}
@keyframes ik-sweep{to{transform:translateX(110%)}}
.ik .tile[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 3px 0 0 var(--ink)}
.ik .tile.picked{border-color:var(--or);background:var(--or)}
.ik .tile.picked,.ik .tile.picked small,.ik .tile.picked kbd{color:var(--on-or)}
@media (pointer:coarse){.ik .tile kbd{display:none}.ik .tile .v{padding-right:0}}
.ik .else{display:flex;gap:8px;margin-top:8px}
.ik .else input{flex:1}

.ik textarea,.ik input[type=email],.ik input[type=tel],.ik input[type=text]{width:100%;border:1px solid var(--rule);border-radius:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--sans);padding:12px 14px;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none}
.ik textarea:focus,.ik input:focus{border-color:var(--ink);box-shadow:0 0 0 4px var(--rule-2)}
.ik .ta{position:relative;background:var(--paper)}
.ik .ta textarea{position:relative;background:transparent;z-index:1;resize:none;min-height:104px;overflow:hidden;font-size:17px;padding:14px 16px}
.ik .mirror{position:absolute;inset:0;padding:14px 16px;border:1px solid transparent;font:17px/1.5 var(--sans);white-space:pre-wrap;overflow-wrap:break-word;color:transparent;pointer-events:none}
.ik .mirror i{font-style:normal;color:var(--ink-3);animation:ik-fade .25s ease-out both}
@keyframes ik-fade{from{opacity:0}to{opacity:1}}
.ik .hint{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;font-size:12.5px;color:var(--ink-2)}
.ik .accept{border:1px solid var(--or);background:var(--paper);padding:4px 8px;cursor:pointer;font:600 10px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--or-ink);white-space:nowrap}
.ik .accept[hidden]{display:none}
.ik .facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;align-items:center}
.ik .facts>.k{margin-right:4px}
.ik .fact{display:inline-flex;align-items:baseline;gap:6px;padding:4px 9px;border:1px solid var(--rule);font-size:13px;line-height:1.35;animation:ik-pop .45s var(--out) both;transition:border-color 1.2s}
.ik .fact b{font:600 9px var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.ik .fact.new{border-color:var(--or)}
.ik .fact.out{animation:ik-popout .25s ease-in both}
@keyframes ik-pop{from{opacity:0;transform:scale(.85) translateY(4px)}to{opacity:1;transform:none}}
@keyframes ik-popout{to{opacity:0;transform:scale(.9)}}

.ik .chip{border:1px solid var(--rule);background:var(--paper);padding:9px 12px;font-size:14px;cursor:pointer;transition:border-color .15s,background .15s,color .15s,transform .15s}
.ik .chip:hover{border-color:var(--ink)}
.ik .chip:active{transform:scale(.97)}
.ik .chip[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.ik .group{margin-bottom:18px}
.ik .group .k{margin-bottom:8px}
.ik .chips{display:flex;flex-wrap:wrap;gap:6px}
.ik .why{font-size:13px;color:var(--ink-2);margin:0 0 4px}

.ik .row{display:flex;gap:10px;align-items:center;margin-top:16px;flex-wrap:wrap}
.ik .go{border:0;background:var(--or);color:var(--on-or);font:700 15px/48px var(--sans);padding:0 22px;cursor:pointer;transition:filter .15s,opacity .25s,transform .15s}
.ik .go:hover{filter:brightness(1.06)}
.ik .go:active{transform:scale(.98)}
.ik .go:disabled{opacity:.3;cursor:not-allowed;filter:none;transform:none}
.ik .ghost{border:1px solid var(--ink);background:var(--paper);font:600 14px/46px var(--sans);padding:0 18px;cursor:pointer;transition:background .15s,color .15s}
.ik .ghost:hover{background:var(--ink);color:var(--paper)}
.ik .kbdh{font:11px var(--mono);color:var(--ink-3)}
@media (pointer:coarse){.ik .kbdh{display:none}.ik .go{width:100%}}
.ik .chip:focus-visible,.ik .go:focus-visible,.ik .ghost:focus-visible,.ik .accept:focus-visible{outline:2px solid var(--or);outline-offset:2px}

.ik .card{border:1px solid var(--rule);border-top:3px solid var(--or);padding:16px 18px;margin-bottom:18px}
.ik .card h3{margin:2px 0 8px;font-size:19px;line-height:1.3}
.ik .card p{margin:0;font-size:15px;line-height:1.55}
.ik .field{margin-bottom:12px}
.ik .field label{display:block;margin-bottom:6px}
.ik .field label i{font-style:normal;text-transform:none;letter-spacing:0;color:var(--ink-3);font-weight:400}
.ik .err{color:var(--err);font-size:12.5px;margin-top:5px}
.ik .priv{font-size:12px;color:var(--ink-2);margin:4px 0 0}

.ik .receipt{position:relative;border:1px solid var(--rule);border-top:3px solid var(--or);padding:18px 20px 20px}
.ik .receipt h3{margin:4px 0 6px;font-size:20px;line-height:1.25}
.ik .receipt p{margin:0;color:var(--ink-2);font-size:14px}
.ik .stamp{position:absolute;right:14px;top:-18px;padding:6px 10px;border:2px solid var(--or);background:var(--paper);color:var(--or-ink);font:700 10px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;text-align:center;transform:rotate(-6deg);animation:ik-thump .55s .25s cubic-bezier(.2,1.6,.4,1) both}
.ik .stamp b{display:block;font:600 11px var(--mono);letter-spacing:.04em}
@keyframes ik-thump{from{transform:rotate(-6deg) scale(1.8);opacity:0}to{transform:rotate(-6deg) scale(1);opacity:1}}

.ik .lab{position:fixed;right:12px;bottom:12px;z-index:9;width:min(380px,calc(100vw - 24px));max-height:38vh;display:flex;flex-direction:column;background:var(--ink);color:#D8E1E8;font:11px/1.45 var(--mono);opacity:.92;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.ik .lab header{display:flex;justify-content:space-between;padding:6px 10px;border-bottom:1px solid #27323B;color:#8798A6;cursor:pointer}
.ik .lab header b{color:#2EF2E6;font-weight:500}
.ik .lab pre{margin:0;padding:8px 10px;overflow:auto;white-space:pre-wrap}
.ik .lab[hidden],.ik .lab pre[hidden]{display:none}

@media (prefers-reduced-motion:reduce){
  .ik .w,.ik .in>*,.ik .status span,.ik .stamp,.ik .fact,.ik .mirror i{animation:none!important}
  .ik .rip,.ik .go.arm::after{display:none}
  .ik .tile::after,.ik .chips .sel{transition:none}
  .ik .tile:hover{transform:none}
  .ik .rail i::after{transition:none}
}
