/* FOXIE QUICK CHAT V2 — editorial concierge, motion-led and visually native to the Institutional. */
.quick-chat{
  --qc-ink:#173a55;
  --qc-muted:#6d8291;
  --qc-line:rgba(29,68,95,.10);
  position:fixed;
  z-index:2200;
  right:max(22px,env(safe-area-inset-right));
  bottom:max(22px,env(safe-area-inset-bottom));
  font-family:"Instrument Sans",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.quick-chat__launcher{
  position:relative;
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:19px;
  color:#fff!important;
  background:
    radial-gradient(circle at 30% 20%,rgba(255,255,255,.19),transparent 34%),
    linear-gradient(145deg,#1d4a69 0%,#173c58 56%,#125b50 100%);
  box-shadow:
    0 20px 48px rgba(15,47,70,.24),
    0 4px 14px rgba(15,47,70,.10),
    inset 0 1px 0 rgba(255,255,255,.17);
  overflow:hidden;
  cursor:pointer;
  isolation:isolate;
  transition:
    transform .42s cubic-bezier(.18,.9,.26,1.2),
    border-radius .42s cubic-bezier(.18,.9,.26,1.2),
    box-shadow .28s ease;
}
.quick-chat__launcher::before{
  content:"";
  position:absolute;
  inset:-40%;
  z-index:-1;
  background:conic-gradient(from 90deg,transparent 0 36%,rgba(136,217,255,.18) 44%,rgba(95,220,169,.16) 55%,transparent 63%);
  animation:quickChatHalo 9s linear infinite;
}
.quick-chat__launcher::after{
  content:"";
  position:absolute;
  inset:1px;
  z-index:-1;
  border-radius:17px;
  background:linear-gradient(145deg,rgba(26,67,96,.96),rgba(19,50,74,.97) 60%,rgba(17,82,73,.94));
}
.quick-chat__launcher:hover{
  transform:translateY(-3px) scale(1.025);
  box-shadow:0 25px 58px rgba(15,47,70,.29),0 5px 18px rgba(15,47,70,.11),inset 0 1px 0 rgba(255,255,255,.18);
}
.quick-chat.is-open .quick-chat__launcher{
  transform:rotate(2deg) scale(.96);
  border-radius:50%;
}
.quick-chat__launcher svg{
  width:25px;
  height:25px;
  fill:none!important;
  stroke:#fff!important;
  color:#fff!important;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 1px 4px rgba(0,0,0,.10));
}
.quick-chat__launcher .quick-chat__close-icon{display:none}
.quick-chat.is-open .quick-chat__launcher .quick-chat__chat-icon{display:none}
.quick-chat.is-open .quick-chat__launcher .quick-chat__close-icon{display:block;animation:quickChatCloseIn .32s cubic-bezier(.2,.8,.2,1) both}

.quick-chat__panel{
  position:absolute;
  right:0;
  bottom:70px;
  width:min(388px,calc(100vw - 28px));
  max-height:min(620px,calc(100vh - 112px));
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden;
  border:1px solid var(--qc-line);
  border-radius:28px;
  color:var(--qc-ink);
  background:
    radial-gradient(circle at 88% -6%,rgba(94,169,214,.10),transparent 28%),
    radial-gradient(circle at 8% 108%,rgba(54,177,135,.07),transparent 31%),
    linear-gradient(155deg,rgba(253,254,255,.985),rgba(246,250,252,.978) 68%,rgba(242,248,247,.975));
  box-shadow:
    0 38px 110px rgba(9,35,54,.19),
    0 9px 30px rgba(9,35,54,.07),
    inset 0 1px 0 rgba(255,255,255,.90);
  opacity:0;
  visibility:hidden;
  transform:translate3d(10px,18px,0) scale(.955);
  transform-origin:100% 100%;
  pointer-events:none;
  transition:
    opacity .22s ease,
    visibility .22s ease,
    transform .50s cubic-bezier(.17,.89,.23,1.18);
  isolation:isolate;
}
.quick-chat__panel::before{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(72,132,176,.34),rgba(58,177,137,.35),transparent);
  opacity:.85;
  pointer-events:none;
}
.quick-chat.is-open .quick-chat__panel{
  opacity:1;
  visibility:visible;
  transform:translate3d(0,0,0) scale(1);
  pointer-events:auto;
}

.quick-chat__head{
  position:relative;
  display:flex;
  align-items:center;
  gap:11px;
  padding:20px 20px 17px;
}
.quick-chat__brand{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid rgba(29,69,95,.08);
  border-radius:12px;
  background:rgba(255,255,255,.90);
  box-shadow:0 7px 18px rgba(24,57,81,.05);
}
.quick-chat__brand img{
  width:24px;
  height:24px;
  object-fit:contain;
  filter:none!important;
}
.quick-chat__head-copy{min-width:0;display:grid;gap:2px}
.quick-chat__head-copy strong{
  font-family:"Manrope","Instrument Sans",sans-serif;
  font-size:13px;
  font-weight:650;
  letter-spacing:-.03em;
}
.quick-chat__head-copy span{color:var(--qc-muted);font-size:9.5px;line-height:1.35}
.quick-chat__status{
  margin-left:auto;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#32b984;
  box-shadow:0 0 0 5px rgba(50,185,132,.08);
  overflow:hidden;
  color:transparent;
  font-size:0;
}
.quick-chat__status i,.quick-chat__status span{display:none}

.quick-chat__body{
  min-height:0;
  overflow:auto;
  padding:4px 20px 18px;
  scrollbar-width:thin;
  scrollbar-color:rgba(35,76,103,.13) transparent;
}
.quick-chat__intro{
  max-width:300px;
  margin:0 0 17px;
  color:#587184;
  font-size:11.5px;
  line-height:1.55;
}
.quick-chat__questions{
  display:grid;
  border-top:1px solid rgba(28,68,95,.08);
}
.quick-chat__question{
  --delay:0ms;
  width:100%;
  min-height:52px;
  padding:0 2px;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  border:0;
  border-bottom:1px solid rgba(28,68,95,.075);
  color:#244a65;
  background:transparent;
  font:inherit;
  font-size:10.7px;
  font-weight:620;
  line-height:1.35;
  text-align:left;
  cursor:pointer;
  opacity:0;
  transform:translateY(8px);
}
.quick-chat.is-open .quick-chat__question{
  animation:quickChatQuestionIn .42s cubic-bezier(.2,.82,.2,1) both;
  animation-delay:var(--delay);
}
.quick-chat__question-index{
  color:rgba(39,78,104,.38);
  font-size:8px;
  font-weight:760;
  letter-spacing:.08em;
}
.quick-chat__question-arrow{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:rgba(40,79,105,.42);
  font-size:14px;
  transition:transform .24s cubic-bezier(.2,.8,.2,1),background .18s ease,color .18s ease;
}
.quick-chat__question:hover .quick-chat__question-arrow{
  transform:translateX(2px);
  color:#173e5b;
  background:rgba(49,95,134,.055);
}
.quick-chat__question:hover .quick-chat__question-index{color:#337b63}

.quick-chat__thread{
  display:grid;
  gap:10px;
  margin-top:17px;
}
.quick-chat__bubble{
  max-width:90%;
  padding:11px 12px;
  border-radius:15px;
  font-size:10.6px;
  line-height:1.52;
  animation:quickChatBubbleIn .40s cubic-bezier(.16,.84,.24,1.13) both;
}
.quick-chat__bubble--user{
  justify-self:end;
  border-bottom-right-radius:5px;
  color:#f7fbfd;
  background:linear-gradient(145deg,#1b4562,#153a54);
  box-shadow:0 8px 18px rgba(22,58,83,.10);
}
.quick-chat__bubble--foxie{
  position:relative;
  justify-self:start;
  border:1px solid rgba(30,70,96,.075);
  border-bottom-left-radius:5px;
  color:#405d70;
  background:rgba(255,255,255,.64);
  box-shadow:0 9px 22px rgba(25,58,82,.035);
}
.quick-chat__bubble--foxie::before{
  content:"";
  position:absolute;
  left:0;
  top:11px;
  bottom:11px;
  width:1px;
  background:linear-gradient(180deg,rgba(70,132,179,.38),rgba(45,167,126,.42));
}
.quick-chat__typing{
  width:62px;
  min-height:34px;
  display:flex;
  align-items:center;
  gap:4px;
}
.quick-chat__typing i{
  width:5px;
  height:5px;
  border-radius:50%;
  background:#718798;
  opacity:.35;
  animation:quickChatTyping 1s ease-in-out infinite;
}
.quick-chat__typing i:nth-child(2){animation-delay:.14s}
.quick-chat__typing i:nth-child(3){animation-delay:.28s}

.quick-chat__footer{
  padding:13px 16px 16px;
  border-top:1px solid rgba(27,67,94,.075);
  background:rgba(249,252,253,.56);
}
.quick-chat__human{
  width:100%;
  min-height:45px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:1px solid rgba(22,59,84,.92);
  border-radius:14px;
  color:#f7fbfd;
  background:
    linear-gradient(135deg,#1a435f,#153850 60%,#15594f);
  box-shadow:0 10px 24px rgba(23,62,89,.12);
  text-decoration:none;
  font-size:10.7px;
  font-weight:720;
  overflow:hidden;
  position:relative;
  transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease;
}
.quick-chat__human::before{
  content:"";
  position:absolute;
  top:-120%;
  left:-35%;
  width:34%;
  height:320%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);
  transform:rotate(18deg);
  transition:left .62s cubic-bezier(.2,.8,.2,1);
}
.quick-chat__human:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(23,62,89,.17)}
.quick-chat__human:hover::before{left:108%}
.quick-chat__human svg{width:16px;height:16px;fill:#fff!important;color:#fff!important}
.quick-chat__note{display:block;margin-top:7px;color:#81919c;font-size:8px;text-align:center}

@keyframes quickChatHalo{to{transform:rotate(360deg)}}
@keyframes quickChatCloseIn{from{opacity:0;transform:rotate(-38deg) scale(.65)}to{opacity:1;transform:none}}
@keyframes quickChatQuestionIn{to{opacity:1;transform:none}}
@keyframes quickChatBubbleIn{from{opacity:0;transform:translateY(8px) scale(.965)}to{opacity:1;transform:none}}
@keyframes quickChatTyping{0%,60%,100%{transform:translateY(0);opacity:.28}30%{transform:translateY(-3px);opacity:.78}}

html[data-theme='dark'] .quick-chat{
  --qc-ink:#f2f6fb;
  --qc-muted:rgba(218,229,239,.57);
  --qc-line:rgba(255,255,255,.075);
}
html[data-theme='dark'] .quick-chat__launcher{
  color:#fff!important;
  border-color:rgba(255,255,255,.16)!important;
  background:linear-gradient(145deg,#294c75,#1a3557 58%,#135649)!important;
  box-shadow:0 22px 58px rgba(0,0,0,.34),0 5px 18px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.13)!important;
}
html[data-theme='dark'] .quick-chat__launcher::after{
  background:linear-gradient(145deg,#294b73,#1a3555 58%,#135247)!important;
}
html[data-theme='dark'] .quick-chat__launcher svg{
  stroke:#fff!important;
  color:#fff!important;
  filter:drop-shadow(0 1px 5px rgba(0,0,0,.18));
}
html[data-theme='dark'] .quick-chat__panel{
  background:
    radial-gradient(circle at 88% -6%,rgba(79,113,220,.10),transparent 30%),
    radial-gradient(circle at 8% 108%,rgba(57,195,148,.055),transparent 32%),
    linear-gradient(155deg,rgba(16,24,41,.985),rgba(10,17,31,.98) 72%,rgba(9,24,26,.975));
  box-shadow:0 42px 116px rgba(0,0,0,.50),0 10px 34px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.035);
}
html[data-theme='dark'] .quick-chat__panel::before{
  background:linear-gradient(90deg,transparent,rgba(100,137,230,.30),rgba(73,211,163,.30),transparent);
}
html[data-theme='dark'] .quick-chat__brand{
  border-color:rgba(255,255,255,.08);
  background:#fff!important;
  box-shadow:0 7px 18px rgba(0,0,0,.14);
}
html[data-theme='dark'] .quick-chat__brand img{
  filter:none!important;
  opacity:1!important;
}
html[data-theme='dark'] .quick-chat__intro{color:rgba(222,232,241,.63)}
html[data-theme='dark'] .quick-chat__questions{border-color:rgba(255,255,255,.065)}
html[data-theme='dark'] .quick-chat__question{
  border-color:rgba(255,255,255,.065);
  color:rgba(238,244,249,.82);
}
html[data-theme='dark'] .quick-chat__question-index{color:rgba(219,230,239,.34)}
html[data-theme='dark'] .quick-chat__question:hover .quick-chat__question-arrow{
  color:#fff;
  background:rgba(255,255,255,.045);
}
html[data-theme='dark'] .quick-chat__bubble--foxie{
  border-color:rgba(255,255,255,.065);
  color:rgba(230,238,245,.72);
  background:rgba(255,255,255,.035);
  box-shadow:none;
}
html[data-theme='dark'] .quick-chat__typing i{background:#c7d5df}
html[data-theme='dark'] .quick-chat__footer{
  border-color:rgba(255,255,255,.065);
  background:rgba(255,255,255,.012);
}
html[data-theme='dark'] .quick-chat__human,
html[data-theme='dark'] .quick-chat__human svg{
  color:#fff!important;
  fill:#fff!important;
}
html[data-theme='dark'] .quick-chat__note{color:rgba(214,225,235,.40)}

@media(max-width:640px){
  .quick-chat{
    right:max(12px,env(safe-area-inset-right));
    bottom:max(12px,env(safe-area-inset-bottom));
  }
  .quick-chat__launcher{width:52px;height:52px;border-radius:17px}
  .quick-chat__panel{
    right:0;
    bottom:64px;
    width:min(372px,calc(100vw - 24px));
    max-height:min(590px,calc(100svh - 90px));
    border-radius:24px;
  }
  .quick-chat__head{padding:18px 17px 15px}
  .quick-chat__body{padding:4px 17px 16px}
}
@media(prefers-reduced-motion:reduce){
  .quick-chat__launcher::before,
  .quick-chat__question,
  .quick-chat__bubble,
  .quick-chat__typing i{animation:none!important}
  .quick-chat__panel,
  .quick-chat__launcher,
  .quick-chat__question-arrow,
  .quick-chat__human{transition:none!important}
}
