.chat-bubble{position:fixed;bottom:24px;right:24px;z-index:9999;min-width:60px;height:60px;padding:0 20px 0 14px;border-radius:999px;background-color:var(--rs-red);color:var(--rs-white);border:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;box-shadow:0 4px 16px rgba(0,0,0,.45),0 0 0 0 rgba(193,39,45,.35);transition:background-color var(--dur-fast) ease,transform var(--dur-fast) ease,box-shadow .6s ease;font-family:var(--font-display);font-weight:var(--fw-semi);font-size:13px;letter-spacing:var(--tr-caps-nav);text-transform:uppercase;animation:chat-bubble-pulse 3s ease-in-out infinite}.chat-bubble:hover{background-color:var(--rs-red-deep);transform:scale(1.04);animation:none}.chat-bubble:active{transform:scale(.96)}.chat-bubble:focus-visible{outline:2px solid var(--rs-white);outline-offset:3px}.chat-bubble__avatar{width:40px;height:40px;border-radius:50%;background:var(--rs-white);color:var(--rs-red);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:14px;letter-spacing:.02em;flex-shrink:0}.chat-bubble__label{display:inline-block}@keyframes chat-bubble-bounce-in{0%{transform:scale(0) translateY(20px);opacity:0}60%{transform:scale(1.08) translateY(-4px);opacity:1}100%{transform:scale(1) translateY(0);opacity:1}}.chat-bubble{animation:chat-bubble-bounce-in .6s 3.5s both var(--ease-out),chat-bubble-pulse 3s 5s ease-in-out infinite}@keyframes chat-bubble-pulse{0%,100%{box-shadow:0 4px 16px rgba(0,0,0,.45),0 0 0 0 rgba(193,39,45,0)}50%{box-shadow:0 4px 16px rgba(0,0,0,.45),0 0 0 10px rgba(193,39,45,.18)}}.chat-bubble--open{opacity:0;pointer-events:none;animation:none}.chat-window{position:fixed;bottom:24px;right:24px;z-index:9998;width:360px;max-width:calc(100vw - 32px);height:520px;max-height:calc(100vh - 48px);background-color:var(--rs-charcoal);border:1px solid var(--rs-graphite);border-radius:8px;box-shadow:0 16px 48px rgba(0,0,0,.6);display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(24px);transition:opacity var(--dur-med) var(--ease-out),visibility var(--dur-med),transform var(--dur-med) var(--ease-out)}.chat-window--open,.chat-window.is-open{opacity:1;visibility:visible;transform:translateY(0)}.chat-window__header{display:flex;align-items:center;gap:12px;padding:14px 16px;background-color:var(--rs-graphite);color:var(--rs-white);flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.06)}.chat-window__id{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0}.chat-window__id>div{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.chat-window__status{font-family:var(--font-body);font-size:11px;color:var(--rs-gray);font-style:italic;display:flex;align-items:center;gap:6px;margin:0}.chat-window__dot{width:8px;height:8px;border-radius:50%;background:var(--state-success,#4ca24a);box-shadow:0 0 0 0 rgba(76,162,74,.6);animation:chat-status-pulse 1.8s ease-in-out infinite;flex-shrink:0}.chat-window__avatar{width:40px;height:40px;border-radius:50%;background:var(--rs-red);color:var(--rs-white);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:14px;letter-spacing:.02em;flex-shrink:0}.chat-window__title-block{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.chat-window__title{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:15px;letter-spacing:var(--tr-caps-nav);text-transform:uppercase;color:var(--rs-white)}.chat-window__subtitle{font-family:var(--font-body);font-size:11px;color:var(--rs-gray);font-style:italic;display:flex;align-items:center;gap:6px}.chat-window__status-dot{width:8px;height:8px;border-radius:50%;background:var(--state-success);box-shadow:0 0 0 0 rgba(76,162,74,.6);animation:chat-status-pulse 1.8s ease-in-out infinite}@keyframes chat-status-pulse{0%,100%{box-shadow:0 0 0 0 rgba(76,162,74,.5)}50%{box-shadow:0 0 0 6px rgba(76,162,74,0)}}.chat-window__close{background:0 0;border:none;color:var(--rs-gray);width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;flex-shrink:0;transition:color var(--dur-fast) ease,background-color var(--dur-fast) ease}.chat-window__close:hover{color:var(--rs-white);background-color:rgba(255,255,255,.06)}.chat-window__close svg{width:18px;height:18px}.chat-window__messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--rs-charcoal);scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--rs-graphite) transparent}.chat-window__messages::-webkit-scrollbar{width:6px}.chat-window__messages::-webkit-scrollbar-track{background:0 0}.chat-window__messages::-webkit-scrollbar-thumb{background:var(--rs-graphite);border-radius:3px}.chat-msg{max-width:85%;padding:10px 14px;border-radius:12px;font-family:var(--font-body);font-size:14px;line-height:1.5;animation:chat-msg-slide 240ms var(--ease-out) both;word-wrap:break-word}.chat-msg--bot{align-self:flex-start;background-color:var(--rs-graphite);color:var(--rs-white);border-bottom-left-radius:4px}.chat-msg--user{align-self:flex-end;background-color:var(--rs-red);color:var(--rs-white);border-bottom-right-radius:4px}.chat-msg__time{display:block;font-size:10px;opacity:.5;margin-top:4px;font-family:var(--font-body);text-transform:none;letter-spacing:0}@keyframes chat-msg-slide{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-typing{display:flex;align-items:center;gap:5px;padding:12px 14px;align-self:flex-start;background-color:var(--rs-graphite);border-radius:12px;border-bottom-left-radius:4px;animation:chat-msg-slide 240ms var(--ease-out) both}.chat-typing__dot{width:6px;height:6px;border-radius:50%;background-color:var(--rs-red);opacity:.6;display:inline-block;animation:chat-dot-bounce 1.2s ease-in-out infinite}.chat-typing__dot:nth-child(2){animation-delay:.2s}.chat-typing__dot:nth-child(3){animation-delay:.4s}@keyframes chat-dot-bounce{0%,100%,60%{transform:translateY(0);opacity:.6}30%{transform:translateY(-4px);opacity:1}}.chat-window__quick-replies{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 12px;background:var(--rs-charcoal);max-height:140px;overflow-y:auto}.chat-window__quick-replies:empty{padding:0}.chat-quick-reply{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:0 0;border:1px solid var(--rs-red);border-radius:999px;color:var(--rs-white);font-family:var(--font-display);font-weight:var(--fw-semi);font-size:11px;letter-spacing:var(--tr-caps-nav);text-transform:uppercase;cursor:pointer;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease,transform 80ms ease;line-height:1.2;animation:chat-msg-slide 240ms var(--ease-out) both}.chat-quick-reply:hover{background:var(--rs-red);color:var(--rs-white)}.chat-quick-reply:active{transform:scale(.97)}.chat-quick-reply:focus-visible{outline:2px solid var(--rs-white);outline-offset:2px}.chat-quick-reply--cta{background:var(--rs-red);color:var(--rs-white)}.chat-quick-reply--cta:hover{background:var(--rs-red-deep);border-color:var(--rs-red-deep)}.chat-quick-reply:disabled{opacity:.4;cursor:default;pointer-events:none}.chat-window__input-form{display:flex;padding:10px 12px;background-color:var(--rs-black);border-top:1px solid var(--rs-graphite);flex-shrink:0;gap:8px}#chat-input,.chat-window__input{flex:1;padding:10px 14px;font-family:var(--font-body);font-size:14px;color:var(--rs-white);background-color:var(--rs-charcoal);border:1px solid var(--rs-graphite);border-radius:8px;outline:0;transition:border-color var(--dur-fast) ease;min-height:40px}#chat-input::placeholder,.chat-window__input::placeholder{color:rgba(244,242,238,.35)}#chat-input:focus,.chat-window__input:focus{border-color:var(--rs-red)}.chat-window__send{width:44px;height:44px;background-color:var(--rs-red);color:var(--rs-white);border:none;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--dur-fast) ease;flex-shrink:0}.chat-window__send:hover{background-color:var(--rs-red-deep)}.chat-window__send:focus-visible{outline:2px solid var(--rs-white);outline-offset:2px}.chat-window__send svg{width:18px;height:18px}@keyframes chat-send-pulse{0%{box-shadow:0 0 0 0 rgba(240,90,40,.55)}100%{box-shadow:0 0 0 12px rgba(240,90,40,0)}}.chat-window__send.is-armed{animation:chat-send-pulse 1.2s ease-out}.chat-cta{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--rs-red);color:var(--rs-white);border:none;border-radius:4px;font-family:var(--font-display);font-weight:var(--fw-semi);font-size:12px;letter-spacing:var(--tr-caps-nav);text-transform:uppercase;cursor:pointer;transition:background-color var(--dur-fast) ease;align-self:flex-start;text-decoration:none;animation:chat-msg-slide 240ms var(--ease-out) both}.chat-cta:hover{background:var(--rs-red-deep)}@media (max-width:767px){.chat-bubble{bottom:16px;right:16px;padding:0 16px 0 10px;font-size:12px}.chat-bubble__label{display:none}.chat-bubble{padding:0;width:56px;height:56px;justify-content:center}.chat-bubble__avatar{margin:0}.chat-window{bottom:0;right:0;left:0;width:100vw;max-width:100vw;height:auto!important;min-height:0!important;max-height:50vh!important;border-radius:16px 16px 0 0;border-left:none;border-right:none;border-bottom:none;transform:translateY(100%);transition:opacity var(--dur-med) var(--ease-out),visibility var(--dur-med),transform var(--dur-med) var(--ease-out),max-height 280ms var(--ease-out)}.chat-window--open,.chat-window.is-open{transform:translateY(0)!important}.chat-window__header,.chat-window__input-form,.chat-window__quick-replies{flex:0 0 auto!important}.chat-window__messages{flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow-y:auto}.chat-window.chat-window--peek{max-height:50vh!important}.chat-window.chat-window--peek .chat-window__messages{max-height:calc(50vh - 60px);overflow-y:hidden}.chat-window.chat-window--peek .chat-window__input-form,.chat-window.chat-window--peek .chat-window__quick-replies{display:none}}@media (prefers-reduced-motion:reduce){.chat-bubble,.chat-typing__dot,.chat-window__send.is-armed,.chat-window__status-dot{animation:none!important}.chat-cta,.chat-msg,.chat-quick-reply,.chat-typing{animation:none!important}}