/* RELAI assistant: site tokens and scoped controls, shared with the existing contact UI. */
#relaiChat[hidden],#relaiChat [hidden],#relaiBackdrop[hidden]{display:none!important}
.contact-shortcut-chatbot{cursor:pointer;background:#fff;color:var(--cyan);transition:transform .14s ease,background .14s ease}
.contact-shortcut-chatbot:active{transform:scale(.94)}
.contact-shortcut-chatbot:hover{background:var(--bg1)}
#relaiChat{--relai-accent:#426482;position:fixed;right:calc(max(20px,env(safe-area-inset-right)) + 72px);bottom:max(16px,env(safe-area-inset-bottom));z-index:1200;width:min(500px,calc(100vw - 112px));height:min(740px,calc(100dvh - 32px));display:flex;flex-direction:column;background:linear-gradient(145deg,#fafbfc,#f3f5f7);border:1px solid rgba(255,255,255,.95);border-radius:24px;box-shadow:0 24px 70px rgba(15,23,42,.16);overflow:hidden;transform-origin:bottom right;animation:relai-chat-enter .42s cubic-bezier(.16,1,.3,1);font-family:inherit;font-size:14px;font-weight:400;letter-spacing:normal;line-height:1.72;color:var(--tx)}
#relaiBackdrop{position:fixed;inset:0;background:rgba(31,41,55,.18);z-index:1100;pointer-events:none;animation:relai-backdrop-enter .32s ease-out}
.relai-chat-open .contact-shortcuts{z-index:1300}
.relai-chat-open .contact-shortcut{background:rgba(250,251,252,.96);border:1px solid rgba(15,23,42,.13);color:#526171;box-shadow:none}
.relai-chat-open .contact-shortcut-chatbot[aria-expanded="true"]{background:#fff;color:var(--relai-accent,#426482)}
.relai-header{padding:19px 18px 15px;display:flex;align-items:center;gap:12px;flex-shrink:0}
.relai-header h2{font-family:'Space Grotesk',sans-serif;font-size:18px;font-weight:700;letter-spacing:-.03em;line-height:1.3}
.relai-header p{font-size:11px;font-weight:400;color:var(--tx3);line-height:1.5;margin-top:3px}
.relai-mark{display:grid;place-items:center;background:#e8edf1;color:var(--relai-accent,#426482);width:44px;height:44px;border-radius:14px;flex-shrink:0}
.relai-mark svg{width:25px;height:25px}
.relai-header>div:nth-child(2){flex:1;min-width:0}
#relaiChat button{font:inherit;cursor:pointer;touch-action:manipulation}
#relaiChat button:disabled{opacity:.5;cursor:default}
#relaiChat :where(button,input,textarea,a):focus-visible{outline:2px solid var(--relai-accent,#426482);outline-offset:2px}
#relaiReset,#relaiClose{width:34px;height:36px;display:grid;place-items:center;flex-shrink:0;border-radius:10px;color:#17212a}
#relaiReset svg,#relaiClose svg{width:20px;height:20px;display:block}
#relaiReset:hover,#relaiClose:hover{background:#e8edf1}
.relai-suggestions button,#relaiInvitation button,#contactRetry{border:1px solid #dce4ec;border-radius:10px;padding:8px 10px;color:var(--relai-accent,#426482);background:rgba(255,255,255,.72);font-size:11px!important;font-weight:600!important;min-height:40px;line-height:1.4}
#relaiContact{display:flex;align-items:center;gap:9px;flex-shrink:0;margin:0 14px 10px;padding:10px 12px;min-height:42px;border:0;border-radius:12px;background:#e7ebf0;color:var(--relai-accent,#426482);text-align:left;font-size:12px!important;font-weight:600!important;line-height:1.4}
#relaiContact span{flex:1;min-width:0}
#relaiContact svg{width:16px;height:16px;flex-shrink:0}
#relaiContact:hover:not(:disabled){background:#dce4ed}
#relaiConversation{display:flex;flex:1;min-height:0;flex-direction:column}
#relaiTranscript{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;overscroll-behavior:contain;scroll-behavior:auto;scrollbar-gutter:stable}
#relaiMessages{padding:14px 14px 0;flex-shrink:0}
.relai-message{width:fit-content;max-width:100%;padding:13px 15px;margin-bottom:12px;border-radius:14px;overflow-wrap:anywhere}
.relai-message p{white-space:pre-wrap;margin:0 0 8px}.relai-message p:last-child{margin:0}
.relai-message code{background:rgba(15,23,42,.07);padding:1px 4px;border-radius:4px;font-size:12px}
.relai-assistant{color:var(--tx2);background:rgba(255,255,255,.88);border:1px solid #e4e8ed;border-radius:18px}
.relai-message strong{font-weight:700}.relai-assistant strong{color:var(--tx)}
.relai-user{margin-left:auto;background:var(--blue);color:#fff;border-bottom-right-radius:4px}
.relai-suggestions{margin-top:auto;flex-shrink:0;display:flex;flex-direction:column;gap:7px;padding:0 14px 14px;align-items:flex-start}
.relai-suggestions button{text-align:left;font-size:12px!important;font-weight:600!important;min-height:42px;max-width:100%;padding:9px 12px}
.relai-suggestions button:hover{border-color:var(--relai-accent,#426482);background:#eaf1ff}
#relaiThinking{padding:2px 16px 12px;flex-shrink:0}
.relai-typing{display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:10px 13px;background:rgba(255,255,255,.88);border:1px solid #e4e8ed;border-radius:14px}
.relai-typing>span{width:6px;height:6px;border-radius:50%;background:var(--relai-accent);animation:relai-typing-pulse 1.2s ease-in-out infinite}
.relai-typing>span:nth-child(2){animation-delay:.15s}.relai-typing>span:nth-child(3){animation-delay:.3s}
@keyframes relai-typing-pulse{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}
#relaiInvitation{padding:0 14px 14px;font-size:12px}#relaiInvitation:empty{display:none}#relaiInvitation p{white-space:pre-wrap}#relaiInvitation button{margin:8px 6px 0 0;min-height:40px}
#relaiComposer{margin:0 14px 8px;border:1px solid #ccd7e2;border-radius:14px;padding:5px;display:flex;align-items:center;gap:5px;flex-shrink:0;background:#fff}
#relaiInput{flex:1;min-width:0;font:inherit;line-height:1.5;border:0;border-radius:10px;resize:none;padding:calc((44px - 1.5em)/2) 10px;background:transparent;color:var(--tx);min-height:44px;max-height:120px;overflow-y:hidden;transition:border-color .15s,box-shadow .15s}
#relaiComposer:focus-within{border-color:#81a0bd;box-shadow:0 0 0 2px rgba(40,94,137,.07)}
#relaiInput::placeholder{color:var(--tx3);opacity:1}
#relaiInput:focus{box-shadow:none;outline:none}
#relaiInput:disabled{background:var(--bg1);color:var(--tx3)}
#relaiSend{background:#eaf0f5;color:var(--relai-accent,#426482);border-radius:10px;width:40px;height:40px;display:grid;place-items:center;flex-shrink:0}
#relaiSend:hover:not(:disabled){background:#dce7ef}#relaiSend svg{width:19px;height:19px;display:block}
.relai-notice{display:flex;align-items:flex-start;gap:7px;padding:1px 16px 14px;font-size:10.5px;line-height:1.6;color:var(--tx3);flex-shrink:0}.relai-notice>svg{width:12px;height:12px;flex-shrink:0;margin-top:2px}.relai-notice a,.contact-privacy a{text-decoration:underline;text-underline-offset:2px;color:var(--relai-accent,#426482)}
#relaiErrorArea{padding:0 14px 10px;flex-shrink:0}#relaiError{color:#b91c1c;font-size:12px;overflow-wrap:anywhere;max-height:72px;overflow:auto}
#relaiRetry{color:var(--relai-accent,#426482);border:1px solid var(--bdh);border-radius:9px;padding:6px 12px;margin-top:7px;min-height:36px;font-size:12px!important}
.contact-privacy{font-size:12px;color:var(--tx2);display:flex;gap:9px;align-items:flex-start;margin:14px 0}.contact-privacy input{margin-top:4px;flex-shrink:0}
#contactError{color:#b91c1c;font-size:13px;margin:8px 0}#contactStatus{font-size:12px;color:var(--tx3);margin:10px 0}
.relai-sr,.relai-honeypot{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.relai-message ul,.relai-message ol{padding-left:20px;margin:7px 0}.relai-message li{margin:6px 0}.relai-message pre{white-space:pre-wrap;overflow-wrap:anywhere;background:rgba(15,23,42,.06);padding:10px;border-radius:8px;margin:7px 0}
#relaiLeadActions{padding:0 14px 14px;font-size:11px}#relaiLeadActions button{padding:8px 10px;margin:7px 5px 0 0;border:1px solid var(--bdh);border-radius:9px;color:var(--relai-accent,#426482);background:var(--blue-soft);font-size:11px;min-height:38px}#relaiLeadConfirm{background:var(--blue)!important;color:white!important}#relaiLeadActions .contact-privacy{margin:10px 0 4px;font-size:11px}
@media(max-width:600px){
  #relaiChat{right:max(8px,env(safe-area-inset-right));top:calc(var(--relai-viewport-top,0px) + max(12px,env(safe-area-inset-top)));bottom:auto;width:calc(100vw - 16px);height:calc(var(--relai-viewport-height,100dvh) - max(12px,env(safe-area-inset-top)) - max(76px,calc(env(safe-area-inset-bottom) + 64px)));border-radius:22px}
  .relai-chat-open .contact-shortcuts{right:max(14px,env(safe-area-inset-right));bottom:auto;top:calc(var(--relai-viewport-top,0px) + var(--relai-viewport-height,100dvh) - max(14px,env(safe-area-inset-bottom)) - 48px);flex-direction:row;gap:10px}
  .relai-header{padding:13px 12px 11px;gap:8px}.relai-header h2{font-size:17px}.relai-header p{font-size:10px}.relai-mark{width:36px;height:38px;border-radius:12px}.relai-mark svg{width:23px;height:23px}#relaiReset,#relaiClose{width:32px}
  #relaiInput{font-size:16px;max-height:112px}.relai-message{max-width:100%}.relai-suggestions button{min-height:44px}.relai-notice{font-size:10px;padding-bottom:11px}
  #relaiChat input{font-size:16px}
  #relaiChat.relai-compact .relai-header{padding:8px 10px}#relaiChat.relai-compact .relai-header p{display:none}
  #relaiChat.relai-compact .relai-mark{width:30px;height:30px}#relaiChat.relai-compact #relaiContact{margin-bottom:7px;min-height:38px;padding:8px 10px}
  #relaiChat.relai-compact #relaiComposer{margin-bottom:6px}#relaiChat.relai-compact .relai-notice{font-size:9px;padding-bottom:7px}#relaiChat.relai-compact #relaiInput{max-height:76px}
}
@media(prefers-reduced-motion:reduce){#relaiInput{transition:none}.relai-typing>span{animation:none;opacity:.7}}

@keyframes relai-chat-enter{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@keyframes relai-backdrop-enter{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){#relaiChat,#relaiBackdrop{animation:none}.contact-shortcut-chatbot{transition:none}.contact-shortcut-chatbot:active{transform:none}}

#relaiChat.relai-closing{pointer-events:none;animation:relai-chat-exit .3s ease-in forwards}
#relaiBackdrop.relai-closing{animation:relai-backdrop-exit .3s ease-in forwards}
@keyframes relai-chat-exit{from{opacity:1;transform:none}to{opacity:0;transform:translateY(12px) scale(.98)}}
@keyframes relai-backdrop-exit{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){#relaiChat.relai-closing,#relaiBackdrop.relai-closing{animation:none}}
