/* ARIA, NeuralFlow's own receptionist, bottom-right on every page. */
.ar-btn{position:fixed;right:22px;bottom:22px;z-index:900;width:60px;height:60px;border-radius:50%;background:var(--brand,linear-gradient(135deg,#FF6B2B,#7B61FF));color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;border:0;padding:0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 0 0 .5px rgba(16,16,20,.12),0 18px 36px -14px rgba(242,90,28,.65);transition:transform .34s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease}
.ar-btn:hover{transform:translateY(-2px) scale(1.04)}.ar-btn:active{transform:scale(.92)}
.ar-btn svg{width:26px;height:26px}
.ar-btn .ar-dot{position:absolute;top:4px;right:4px;width:12px;height:12px;border-radius:50%;background:#2E7D4F;border:2px solid var(--paper,#fff)}
.ar-btn.open .ar-ic{display:none}.ar-btn .ar-x{display:none}.ar-btn.open .ar-x{display:block}
.ar-nudge{position:fixed;right:22px;bottom:94px;z-index:900;max-width:300px;padding:12px 38px 12px 14px;border-radius:16px 16px 4px 16px;background:var(--card,#fff);color:var(--ink,#101014);border:1px solid var(--line,#e3e0d8);box-shadow:0 22px 48px -26px rgba(16,16,20,.4);font-size:14px;line-height:1.45;cursor:pointer;opacity:0;transform:translateY(8px) scale(.96);transition:opacity .35s cubic-bezier(.34,1.56,.64,1),transform .35s cubic-bezier(.34,1.56,.64,1)}
.ar-nudge.on{opacity:1;transform:none}
.ar-nudge b{display:block;font-weight:500;margin-bottom:2px}
.ar-nudge .ar-nx{position:absolute;top:0;right:0;width:40px;height:40px;border-radius:50%;border:0;background:transparent;color:var(--muted,#777);font-size:16px;line-height:1;cursor:pointer}
.ar-win{position:fixed;right:22px;bottom:94px;z-index:901;width:380px;max-width:calc(100vw - 24px);height:560px;max-height:calc(100vh - 120px);display:flex;flex-direction:column;overflow:hidden;border-radius:22px;border:1px solid var(--line,#e3e0d8);background:var(--card,#fff);color:var(--ink,#101014);
  box-shadow:inset 0 1px 0 var(--lg-spec,rgba(255,255,255,.9)),0 0 0 .5px var(--lg-edge,rgba(16,16,20,.14)),0 34px 70px -30px rgba(16,16,20,.5);transform-origin:bottom right;opacity:0;transform:translateY(16px) scale(.92);pointer-events:none;transition:opacity .32s cubic-bezier(.34,1.3,.64,1),transform .38s cubic-bezier(.34,1.3,.64,1)}
@supports ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){.ar-win{background:linear-gradient(120deg,rgba(255,255,255,.10),rgba(255,255,255,0) 34%),var(--lg-tint-strong,rgba(255,255,255,.8));-webkit-backdrop-filter:blur(20px) saturate(170%);backdrop-filter:blur(20px) saturate(170%)}}
.ar-win.open{opacity:1;transform:none;pointer-events:auto}
.ar-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line,#e3e0d8)}
.ar-av{width:36px;height:36px;border-radius:50%;background:var(--brand,linear-gradient(135deg,#FF6B2B,#7B61FF));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px}
.ar-head b{display:block;font-weight:500;font-size:15px;line-height:1.2}.ar-head small{font-size:12px;color:var(--muted,#777);display:flex;align-items:center;gap:6px}.ar-head small i{width:6px;height:6px;border-radius:50%;background:#2E7D4F}
.ar-close{margin-left:auto;border:0;background:transparent;color:var(--muted,#777);font-size:22px;line-height:1;cursor:pointer;width:40px;height:40px;border-radius:50%}
.ar-close:hover{color:var(--ink,#101014)}
.ar-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.ar-m{max-width:86%;padding:10px 14px;border-radius:16px;font-size:14.5px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word;animation:arpop .32s cubic-bezier(.32,.72,0,1) both}
.ar-m.a{align-self:flex-start;background:var(--surface,#f2f0ea);border-bottom-left-radius:5px}
.ar-m.u{align-self:flex-end;background:var(--brand,linear-gradient(135deg,#FF6B2B,#7B61FF));color:#fff;border-bottom-right-radius:5px}
.ar-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 14px;background:var(--surface,#f2f0ea);border-radius:16px}
.ar-typing i{width:6px;height:6px;border-radius:50%;background:var(--muted,#999);animation:arblink 1s infinite}.ar-typing i:nth-child(2){animation-delay:.15s}.ar-typing i:nth-child(3){animation-delay:.3s}
@keyframes arblink{0%,80%,100%{opacity:.3}40%{opacity:1}}
@keyframes arpop{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ar-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line,#e3e0d8)}
.ar-in{flex:1 1 0;width:0;min-width:0;height:44px;border:1px solid var(--line-2,#cfcbc1);border-radius:999px;padding:0 16px;font:inherit;font-size:15px;background:var(--paper,#fff);color:var(--ink,#101014);outline:none;transition:border-color .16s}
.ar-in:focus{border-color:var(--ink,#101014)}
.ar-send{height:44px;padding:0 18px;border-radius:999px;border:0;background:var(--ink,#101014);color:var(--paper,#fff);font:inherit;font-weight:500;font-size:14px;cursor:pointer}
.ar-foot{text-align:center;font-size:11px;color:var(--muted,#999);padding:0 0 8px}
@media (max-width:480px){.ar-win{right:0;bottom:0;width:100vw;max-width:100vw;height:100%;max-height:100%;border-radius:0}.ar-btn{right:14px;bottom:14px}.ar-nudge{right:14px;bottom:86px;max-width:calc(100vw - 28px)}}
@media (prefers-reduced-motion:reduce){.ar-btn,.ar-nudge,.ar-win,.ar-m{transition:none;animation:none}}

/* ─── Phone pass (Oct 2026): a smaller launcher that steps aside while the hero demo is on screen ─── */
.ar-nudge:not(.on){pointer-events:none}
@media (max-width:760px){
  .ar-btn{width:52px;height:52px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));transition:opacity .3s,transform .3s,visibility 0s}
  .ar-btn svg{width:22px;height:22px}
  .ar-btn .ar-dot{top:3px;right:3px;width:10px;height:10px}
  .ar-nudge{right:12px;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 60px);max-width:calc(100vw - 24px)}
  body.demo-inview .ar-btn:not(.open),body.demo-inview .ar-nudge{opacity:0;pointer-events:none;transform:translateY(16px);visibility:hidden;transition:opacity .3s,transform .3s,visibility 0s linear .3s}
}
@media (hover:none){.ar-btn:hover:not(:active){transform:none}}
@media (prefers-reduced-motion:reduce){.ar-btn,.ar-nudge,body.demo-inview .ar-btn:not(.open),body.demo-inview .ar-nudge{transition:none}}
