/* Hero motion */
.visual{isolation:isolate}
.visual::before{content:"";position:absolute;inset:6%;z-index:-1;border-radius:50%;background:radial-gradient(circle,#21b9f124,transparent 65%);animation:ambientPulse 5s ease-in-out infinite}
.visual .orbit{animation:orbitDrift 16s ease-in-out infinite alternate}
.visual .orbit.two{animation:orbitDriftTwo 20s ease-in-out infinite alternate}
.visual .node{animation:nodePulse 2.8s ease-in-out infinite}
.visual .node.two{animation-delay:1.2s}
.visual .floatcard.a{animation:cardBob 5s ease-in-out infinite}
.visual .floatcard.b{animation:cardBob 6s ease-in-out infinite reverse}
.visual .globe::before{animation:gridSpin 30s linear infinite}
@keyframes ambientPulse{50%{opacity:.35;transform:scale(1.14)}}
@keyframes orbitDrift{to{transform:rotate(335deg) scale(1.06)}}
@keyframes orbitDriftTwo{to{transform:rotate(418deg) scale(.97)}}
@keyframes nodePulse{50%{opacity:.48;box-shadow:0 0 35px 12px #46e6df6b}}
@keyframes cardBob{50%{transform:translateY(-13px)}}
@keyframes gridSpin{to{transform:rotate(360deg)}}

/* FAQ assistant */
.chat-launch{position:fixed;right:24px;bottom:24px;z-index:100;border:1px solid #67ece9;background:linear-gradient(135deg,#45e8df,#2dbbcf);color:#082130;border-radius:100px;display:flex;align-items:center;gap:11px;padding:14px 20px;box-shadow:0 15px 45px #0008;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:14px;transition:transform .2s}
.chat-launch:hover{transform:translateY(-4px)}
.chat-launch .chat-symbol{font-size:20px;line-height:1}
.chat-panel{position:fixed;bottom:91px;right:24px;width:min(380px,calc(100vw - 32px));height:min(555px,calc(100dvh - 112px));z-index:101;background:#0b1c2d;border:1px solid #31546b;border-radius:18px;box-shadow:0 30px 80px #000b;display:flex;flex-direction:column;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(14px) scale(.97);transition:.22s}
.chat-panel.open{opacity:1;pointer-events:auto;transform:none}
.chat-head{padding:18px 20px;background:linear-gradient(105deg,#123d51,#112940);border-bottom:1px solid #2d5368;display:flex;align-items:center;justify-content:space-between;gap:12px}
.chat-head strong{font:700 16px 'Space Grotesk',sans-serif;display:block}
.chat-head small{font-size:11px;color:#a0d2da;display:block;margin-top:2px}
.chat-close{background:transparent;border:0;color:white;font-size:25px;line-height:1;padding:3px 6px}
.chat-body{padding:18px;flex:1;overflow:auto;display:flex;flex-direction:column;gap:12px}
.chat-msg{font-size:13px;line-height:1.55;padding:12px 14px;border-radius:13px;max-width:90%;white-space:pre-line}
.chat-msg.bot{align-self:flex-start;background:#17364b;color:#e6f4fb;border-bottom-left-radius:3px}
.chat-msg.user{align-self:flex-end;background:#3cdbd4;color:#062330;border-bottom-right-radius:3px}
.chat-msg a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.chat-quick{display:flex;flex-wrap:wrap;gap:7px;margin:3px 0 4px}
.chat-quick button{background:#0c2939;color:#aff6f1;border:1px solid #2c6872;border-radius:100px;padding:7px 11px;font-size:11px;text-align:left}
.chat-quick button:hover{border-color:#58e6df;background:#143c4b}
.chat-compose{padding:13px;border-top:1px solid #29475a;display:flex;gap:8px}
.chat-compose input{flex:1;min-width:0;background:#071827;color:white;border:1px solid #35576a;border-radius:9px;padding:12px;font-size:13px;outline:none}
.chat-compose input:focus{border-color:#4be5dc}
.chat-compose button{border:0;border-radius:9px;background:#4be5dc;color:#073039;font-weight:800;padding:0 15px}
.chat-disclaimer{font-size:10px;color:#86a8b8;padding:0 16px 12px;text-align:center}
@media(max-width:640px){.chat-launch{right:16px;bottom:16px;padding:13px 16px}.chat-panel{right:16px;bottom:77px;height:min(565px,calc(100dvh - 100px))}}
@media(prefers-reduced-motion:reduce){.visual::before,.visual .orbit,.visual .node,.visual .floatcard,.visual .globe::before{animation:none!important}.chat-launch,.chat-panel{transition:none}}
