html.modal-open,html.modal-open body{overflow:hidden;overscroll-behavior:none}
html.modal-open body{position:fixed;left:0;right:0;width:100%}
.orb-prompt{position:absolute;top:calc(100% - 22px);left:50%;width:max-content;transform:translate(-50%,6px);opacity:0;color:#d7ffe5;font:italic 400 13.26px/1 Fraunces,Georgia,serif;letter-spacing:0;font-synthesis:none;pointer-events:none}
.hero-orb.orb-entered .orb-prompt{animation:orb-prompt-in 2.6s .35s ease-out forwards}
.hero-orb:focus,.hero-orb:focus-visible{outline:0}
.hero-orb:hover .orb-prompt,.hero-orb:focus-visible .orb-prompt{color:#fff}

#ai-chat{border:0;padding:0;width:min(656px,calc(100vw - 32px));height:min(67.5dvh,765px);max-height:none;background:transparent;color:#f1f5ef;overflow:hidden;overflow-anchor:none;overscroll-behavior:none;opacity:0;transform:translateY(24px) scale(.975);transition:opacity .3s cubic-bezier(.2,.75,.2,1),transform .5s cubic-bezier(.16,1,.3,1);box-shadow:none}
#ai-chat[open]{display:flex}
#ai-chat[open].is-open{opacity:1;transform:translateY(0) scale(1)}
#ai-chat::backdrop{background:#00000080;-webkit-backdrop-filter:blur(10.4px);backdrop-filter:blur(10.4px);opacity:0;transition:opacity .35s}
#ai-chat.is-open::backdrop{opacity:1}
.ai-shell{display:flex;flex:1;flex-direction:column;min-height:0;height:100%}
.ai-head,.ai-suggestions,.ai-form,.ai-busy,.ai-connect{flex-shrink:0}
.ai-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 24px 18px;border:0;background:transparent}
.ai-head h2{margin:0;font:italic 200 28px/1.15 Fraunces,Georgia,serif;letter-spacing:-.02em;font-synthesis:none}
.ai-close{width:40px;height:40px;border:0;border-radius:50%;background:#ffffff33;color:#f1f5ef;font:27px/1 Outfit,sans-serif;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);flex:none;transition:background .25s,transform .35s}
.ai-close:hover{background:#ffffff4d;transform:rotate(90deg)}
.ai-thread{padding:22px 24px;overflow:auto;min-height:0;flex:1;display:flex;flex-direction:column;gap:14px;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#ffffff2e transparent}
.ai-msg{margin:0;max-width:88%;padding:0;border:0;font:200 16.8px/1.55 Outfit,sans-serif;white-space:pre-wrap}
.ai-msg[data-role="assistant"]{align-self:flex-start;background:none;color:#cbd7ce}
.ai-msg[data-role="user"]{align-self:flex-end;padding:12px 16px;border-radius:18px;background:#101010;color:#cbd7ce;animation:chat-item-in .48s cubic-bezier(.16,1,.3,1) both}
.ai-response-line{display:block;margin-bottom:8px}
.ai-response-line:last-child{margin-bottom:0}
.ai-word{display:inline-block;opacity:0;transform:translateY(4px);animation:ai-word-in .48s var(--word-delay,0ms) cubic-bezier(.16,1,.3,1) forwards}
.ai-thinking{display:flex;flex-direction:row;align-items:center;gap:10px;margin:0;align-self:flex-start;color:#cbd7ce;font:200 14px/1.4 Outfit,sans-serif;background:none;padding:4px 0 6px;overflow:visible}
.ai-thinking.is-leaving{animation:ai-thinking-out .32s cubic-bezier(.16,1,.3,1) forwards}
.ai-thinking span{order:1;letter-spacing:.02em;line-height:1.4;padding:1px 0 3px;background:linear-gradient(90deg,#cbd7ce55 0%,#f4fff8 45%,#cbd7ce55 90%);background-size:180% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:ai-shimmer 1.4s linear infinite}
.ai-thinking-orb{order:0;position:relative;z-index:1;flex:0 0 22px;width:22px;height:22px;display:block;background:transparent;animation:orb-arrive 1.2s cubic-bezier(.16,1,.3,1) both}
.ai-suggestions{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:0 24px 18px}
.ai-suggestions[hidden],.ai-busy[hidden],.ai-connect[hidden],.ai-turnstile[hidden],.ai-form[hidden]{display:none!important}
.ai-suggestions button,.ai-cta a{border:0;background:#101010;color:#dce7df;border-radius:999px;padding:11px 17px;min-height:42px;text-align:left;transition:transform .25s cubic-bezier(.16,1,.3,1),background .25s}
.ai-cta a{font:200 13px/1.35 Outfit,sans-serif}
.ai-suggestions button{width:auto;max-width:100%;opacity:0;transform:translateY(16px);font:italic 300 16.8px/1.4 Outfit,sans-serif;pointer-events:none}
#ai-chat.is-open .ai-suggestions button{animation:chat-item-in .55s cubic-bezier(.16,1,.3,1) both;pointer-events:auto}
#ai-chat.is-open .ai-suggestions button:nth-child(3){animation-delay:.68s}
#ai-chat.is-open .ai-suggestions button:nth-child(2){animation-delay:.8s}
#ai-chat.is-open .ai-suggestions button:nth-child(1){animation-delay:.92s}
.ai-suggestions button:hover,.ai-cta a:hover{background:#1a1a1a;transform:translateX(4px)}
.ai-form{position:relative;margin:0 24px 24px;opacity:0;transform:translateY(10px)}
#ai-chat.is-open .ai-form{animation:chat-item-in .55s .38s cubic-bezier(.16,1,.3,1) forwards}
.ai-form textarea{display:block;width:100%;height:49px;min-height:49px;max-height:128px;resize:none;overflow:hidden;border:1px solid #ffffff1f;border-radius:999px;background:#101010;color:#f2f8f3;padding:13.5px 51px 11.25px 14.25px;font:200 14px/1.45 Outfit,sans-serif;outline:0;scroll-margin:0;transition:height .36s cubic-bezier(.16,1,.3,1),border-radius .36s cubic-bezier(.16,1,.3,1),border-color .25s,background .25s}
.ai-form textarea.is-multiline{border-radius:20px}
.ai-form textarea::placeholder{color:#9aaa9e}
.ai-form textarea:focus{border-color:#8dffad75}
.ai-send{position:absolute;right:12px;top:12px;width:25px;height:25px;padding:0;border:0;border-radius:50%;background:#d8fce3;color:#07130a;display:grid;place-items:center;opacity:0;transform:scale(0);pointer-events:none}
.ai-send svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ai-form.has-text .ai-send{opacity:1;transform:scale(1);pointer-events:auto;animation:ai-send-pop .42s cubic-bezier(.16,1,.3,1)}
.ai-send:hover{background:#fff}
.ai-send:disabled,.ai-form textarea:disabled{opacity:.45;cursor:default}
.ai-busy,.ai-connect{padding:8px 24px 26px;animation:chat-item-in .5s cubic-bezier(.16,1,.3,1) both}
.ai-busy p,.ai-connect p{margin:0 0 18px;font:200 15px/1.6 Outfit,sans-serif;color:#dce5de}
.ai-cta{display:flex;flex-wrap:wrap;gap:8px}
.ai-cta a{text-decoration:none}
.ai-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ai-turnstile{padding:0 24px 18px}

@keyframes orb-prompt-in{to{opacity:.45;transform:translate(-50%,0)}}
@keyframes chat-item-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes ai-word-in{0%{opacity:0;transform:translateY(4px)}65%{opacity:.82}100%{opacity:1;transform:translateY(0)}}
@keyframes ai-shimmer{0%{background-position:180% 0}100%{background-position:-20% 0}}
@keyframes ai-orb-pulse{0%,100%{transform:scale(.86);opacity:.72}50%{transform:scale(1);opacity:1}}
@keyframes ai-thinking-out{to{opacity:0;transform:translateY(-6px) scale(.96)}}
@keyframes ai-send-pop{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}

@media(max-width:760px){
 .orb-prompt{top:calc(100% - 14px)}
 #ai-chat{position:fixed;inset:0;width:100vw;height:100%;height:100lvh;min-height:100lvh;max-width:none;max-height:none;margin:0;border:0;background:rgba(0,0,0,.92);-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px)}
 #ai-chat::backdrop{background:rgba(0,0,0,.92);-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px)}
 .ai-shell{flex:0 0 auto;align-self:flex-start;width:100%;height:var(--chat-frame-height,100dvh);max-height:var(--chat-frame-height,100dvh);margin-top:0;transform:translate3d(0,var(--chat-frame-top,0px),0);min-height:0;min-width:0;overflow:hidden;overflow-anchor:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
 .ai-head{padding:20px 20px 16px}
 .ai-thread{padding:20px}
 .ai-suggestions{padding:0 20px 18px}
 .ai-form{margin:0 20px 34px}
 .ai-form textarea{font-size:16px}
 .ai-busy,.ai-connect{min-width:0;max-width:100%;overflow:hidden;padding:8px 20px 24px}
 .ai-cta a{max-width:100%;overflow-wrap:anywhere}
}
.ai-thread::-webkit-scrollbar{width:5px}
.ai-thread::-webkit-scrollbar-track{background:transparent}
.ai-thread::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}
.ai-thread::-webkit-scrollbar-thumb:hover{background:#ffffff4d}

@media(prefers-reduced-motion:reduce){
 #ai-chat,#ai-chat::backdrop,.ai-close,.ai-suggestions button,.ai-form,.ai-msg,.ai-word,.ai-thinking,.ai-thinking span,.ai-thinking-orb,.ai-send,.orb-prompt{animation:none!important;transition:none!important}
 .orb-prompt{opacity:.45;transform:none}
 #ai-chat.is-open .ai-suggestions button,#ai-chat.is-open .ai-form,.ai-form.has-text .ai-send,.ai-word{opacity:1;transform:none}
}
