/* ===================================================================
   Jay AI — site-wide assistant overlay (bottom right)
   Injected by jay.js, so no-JS visitors see nothing at all.
   =================================================================== */
.jay{position:fixed;right:clamp(14px,2.2vw,26px);bottom:clamp(14px,2.2vw,26px);
     z-index:9500;display:flex;flex-direction:column;align-items:flex-end;gap:12px;
     font-family:var(--sans)}
@media print{.jay{display:none}}

/* ---------- greeting bubble ---------- */
.jay__hi{display:flex;align-items:center;gap:10px;background:#fff;color:var(--ink);
         border:1px solid var(--line);border-radius:999px 999px 6px 999px;
         padding:11px 16px 11px 14px;font-size:14px;font-weight:500;letter-spacing:-.012em;
         box-shadow:0 20px 44px -22px rgba(10,24,46,.55);cursor:pointer;max-width:min(76vw,290px);
         transform-origin:100% 100%;animation:jayHi .6s cubic-bezier(.34,1.56,.64,1) both;
         transition:transform .3s var(--ease),box-shadow .3s}
.jay__hi:hover{transform:translateY(-2px);box-shadow:0 26px 54px -22px rgba(10,24,46,.65)}
@keyframes jayHi{from{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:none}}
.jay__hi b{font-weight:600}
.jay__x{flex:none;width:22px;height:22px;border-radius:50%;border:0;background:var(--paper-2);
        color:var(--ink-45);font-size:13px;line-height:1;cursor:pointer;display:grid;place-items:center;
        transition:background .25s,color .25s}
.jay__x:hover{background:var(--line);color:var(--ink)}
.jay__hi.out{animation:jayHiOut .3s ease forwards}
@keyframes jayHiOut{to{opacity:0;transform:translateY(6px) scale(.94)}}

/* ---------- launcher ---------- */
.jay__btn{position:relative;width:clamp(58px,7vw,68px);height:clamp(58px,7vw,68px);border-radius:50%;
          border:2px solid #fff;background:#fff;cursor:pointer;padding:0;overflow:hidden;
          box-shadow:0 18px 40px -16px rgba(10,24,46,.7),0 0 0 0 rgba(30,91,168,.42);
          transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s;
          animation:jayPulse 3.4s ease-out infinite}
.jay__btn:hover{transform:scale(1.07) translateY(-2px)}
.jay__btn:active{transform:scale(.97)}
.jay__btn img{width:100%;height:100%;object-fit:cover;display:block}
@keyframes jayPulse{
  0%{box-shadow:0 18px 40px -16px rgba(10,24,46,.7),0 0 0 0 rgba(30,91,168,.45)}
  60%{box-shadow:0 18px 40px -16px rgba(10,24,46,.7),0 0 0 16px rgba(30,91,168,0)}
  100%{box-shadow:0 18px 40px -16px rgba(10,24,46,.7),0 0 0 0 rgba(30,91,168,0)}}
.jay.open .jay__btn{animation:none}
.jay__dot{position:absolute;right:2px;top:3px;width:13px;height:13px;border-radius:50%;
          background:#39C08A;border:2.5px solid #fff}

/* ---------- panel ---------- */
.jay__panel{position:absolute;right:0;bottom:calc(100% + 12px);width:min(92vw,384px);
            max-height:min(74vh,620px);display:none;flex-direction:column;overflow:hidden;
            background:#fff;border:1px solid var(--line);border-radius:20px;
            box-shadow:0 44px 90px -34px rgba(10,24,46,.78);transform-origin:100% 100%}
.jay.open .jay__panel{display:flex;animation:jayIn .42s cubic-bezier(.22,.61,.36,1) both}
@keyframes jayIn{from{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:none}}
@media(max-width:460px){
  .jay__panel{position:fixed;inset:auto 0 0 0;width:100%;max-height:86vh;border-radius:20px 20px 0 0}
  .jay.open .jay__btn{display:none}   /* the sheet covers the corner the launcher sits in */
}

.jay__top{display:flex;align-items:center;gap:12px;padding:15px 16px;
          background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;flex:none}
.jay__av{width:42px;height:42px;border-radius:50%;overflow:hidden;background:#fff;flex:none;
         border:2px solid rgba(255,255,255,.35)}
.jay__av img{width:100%;height:100%;object-fit:cover;display:block}
.jay__id b{display:block;font-size:15px;font-weight:600;letter-spacing:-.02em}
.jay__id span{display:flex;align-items:center;gap:6px;margin-top:3px;font-size:11px;
              color:rgba(255,255,255,.62)}
.jay__id i{width:7px;height:7px;border-radius:50%;background:#39C08A;
           animation:jayBlip 2.2s ease-in-out infinite}
@keyframes jayBlip{0%,100%{opacity:1}50%{opacity:.3}}
.jay__close{margin-left:auto;width:32px;height:32px;border-radius:50%;border:0;flex:none;
            background:rgba(255,255,255,.12);color:#fff;font-size:15px;line-height:1;cursor:pointer;
            display:grid;place-items:center;transition:background .25s,transform .25s}
.jay__close:hover{background:rgba(255,255,255,.24);transform:rotate(90deg)}

/* ---------- messages ---------- */
.jay__log{flex:1;min-height:0;overflow-y:auto;padding:18px 16px 6px;display:flex;
          flex-direction:column;gap:12px;background:var(--paper-2);scroll-behavior:smooth}
.jay__log::-webkit-scrollbar{width:7px}
.jay__log::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px}
.jm{display:flex;gap:9px;align-items:flex-end;animation:jmIn .4s cubic-bezier(.22,.61,.36,1) both}
@keyframes jmIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.jm__av{width:26px;height:26px;border-radius:50%;overflow:hidden;background:#fff;flex:none;
        border:1px solid var(--line)}
.jm__av img{width:100%;height:100%;object-fit:cover;display:block}
.jm__b{max-width:78%;padding:11px 14px;border-radius:16px;font-size:14.2px;line-height:1.58;
       letter-spacing:-.008em}
.jm--bot .jm__b{background:#fff;color:var(--ink);border:1px solid var(--line);
                border-bottom-left-radius:5px}
.jm--me{flex-direction:row-reverse}
.jm--me .jm__b{background:var(--blue);color:#fff;border-bottom-right-radius:5px}
.jm__b strong{font-weight:600}
.jm__b a{color:var(--blue);font-weight:600;text-decoration:underline}
.jm--me .jm__b a{color:#fff}
.jm__b ul{margin:9px 0 0;padding:0;list-style:none;display:grid;gap:5px}
.jm__b ul:not(:last-child){margin-bottom:9px}   /* prose after a list needs air */
.jm__b li{position:relative;padding-left:16px;font-size:13.6px}
.jm__b li::before{content:"";position:absolute;left:1px;top:8px;width:5px;height:5px;
                  border-radius:50%;background:var(--sky)}

.jay__typing{display:flex;gap:4px;padding:13px 15px;background:#fff;border:1px solid var(--line);
             border-radius:16px;border-bottom-left-radius:5px;width:fit-content}
.jay__typing i{width:7px;height:7px;border-radius:50%;background:var(--ink-45);
               animation:jayType 1.3s ease-in-out infinite}
.jay__typing i:nth-child(2){animation-delay:.18s}
.jay__typing i:nth-child(3){animation-delay:.36s}
@keyframes jayType{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}

/* ---------- chips ---------- */
.jay__chips{display:flex;flex-wrap:wrap;gap:7px;padding:4px 16px 14px;background:var(--paper-2);
            flex:none}
.jay__chip{font-size:12.8px;font-weight:600;letter-spacing:-.008em;color:var(--blue);
           background:#fff;border:1px solid rgba(30,91,168,.28);border-radius:999px;
           padding:8px 13px;cursor:pointer;transition:background .25s,color .25s,transform .25s,border-color .25s}
.jay__chip:hover{background:var(--blue);color:#fff;border-color:var(--blue);transform:translateY(-1px)}
.jay__chip--go{background:var(--blue);color:#fff;border-color:var(--blue)}
.jay__chip--go:hover{background:var(--blue-dk)}

/* ---------- composer ---------- */
.jay__ask{display:flex;align-items:center;gap:9px;padding:12px 14px;border-top:1px solid var(--line);
          background:#fff;flex:none}
.jay__ask input{flex:1;min-width:0;font-family:inherit;font-size:14px;color:var(--ink);
                background:var(--paper-2);border:1px solid var(--line);border-radius:999px;
                padding:12px 15px;transition:border-color .25s,box-shadow .25s,background .25s}
.jay__ask input:focus{outline:none;border-color:var(--blue);background:#fff;
                      box-shadow:0 0 0 3px rgba(30,91,168,.13)}
.jay__send{flex:none;width:42px;height:42px;border-radius:50%;border:0;background:var(--blue);
           cursor:pointer;display:grid;place-items:center;transition:background .25s,transform .25s}
.jay__send:hover{background:var(--blue-dk);transform:scale(1.06)}
.jay__send svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2;
               stroke-linecap:round;stroke-linejoin:round}
.jay__foot{padding:0 16px 12px;font-size:10.6px;color:var(--ink-45);text-align:center;
           background:#fff;flex:none;line-height:1.5}
.jay__foot a{color:var(--blue);font-weight:600}

@media(prefers-reduced-motion:reduce){
  .jay__btn,.jay__hi,.jay__id i,.jay__typing i{animation:none}
  .jay.open .jay__panel,.jm{animation:none}
  .jay__log{scroll-behavior:auto}
}
