/* An open conversation, with one functional input surface. */
.agent-demo { scroll-margin-top:32px; }
.demo-heading-copy { display:flex; align-items:baseline; justify-content:space-between; gap:24px; margin-bottom:42px; }
.demo-heading-copy p { font-size:1rem; }
.demo-experience { max-width:920px; margin-inline:auto; }
.demo-niches { display:flex; gap:12px 32px; align-items:center; justify-content:center; margin-bottom:28px; }
.demo-niche { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:8px 3px 12px; color:var(--muted); border:0; border-bottom:2px solid transparent; background:transparent; font:inherit; font-size:.9375rem; cursor:pointer; transition:color .18s,border-color .18s; }
.demo-niche .icon { width:25px; height:25px; }
.demo-niche:hover { color:var(--text); }
.demo-niche[aria-pressed=true] { color:var(--lavender); border-bottom-color:var(--lavender); }
.demo-niche:disabled { cursor:wait; opacity:.65; }
.demo-composer { padding:24px 24px 18px; border:1px solid #575360; border-radius:16px; background:transparent; transition:border-color .2s; }
.demo-composer:focus-within { border-color:var(--lavender); }
.demo-composer textarea { display:block; width:100%; min-height:78px; max-height:180px; resize:vertical; border:0; border-radius:0; background:transparent; color:var(--text); font:inherit; font-size:1.0625rem; line-height:1.65; padding:0; box-shadow:none; }
.demo-composer textarea::placeholder { color:#a8a6af; opacity:1; }
.demo-composer textarea:focus { outline:0; }
.demo-suggestions { display:flex; flex-wrap:wrap; gap:8px 20px; margin:14px 0 20px; }
.demo-suggestion { padding:8px 0; min-height:44px; border:0; border-bottom:1px solid #4b4656; background:transparent; color:#c5bdcf; font:inherit; font-size:.75rem; line-height:1.5; text-align:left; cursor:pointer; transition:color .18s,border-color .18s; }
.demo-suggestion:hover { color:var(--text); border-bottom-color:var(--lavender); }
.demo-composer-bottom { display:flex; align-items:center; justify-content:flex-end; gap:16px; }
.demo-composer-bottom>span { color:#a8a6af; font-size:.75rem; }
.demo-composer-bottom .button { min-height:46px; padding:10px 18px; font-size:.875rem; }
.demo-notice { font-size:.6875rem; line-height:1.7; color:#a8a6af; margin:14px 2px 0; }
.demo-notice a,.demo-lead-form>p a { text-decoration:underline; text-underline-offset:3px; }
.demo-reference { display:block; color:#a8a6af; font-size:.625rem; margin-top:16px; }
.demo-identity { display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:.75rem; margin:0 0 8px; padding:8px 4px 14px; color:var(--muted); border-bottom:1px solid var(--line); }
.demo-identity span:first-child { color:var(--text); }
.demo-messages { display:flex; flex-direction:column; gap:26px; max-height:530px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#615370 transparent; padding:22px 12px 30px 4px; margin:0; list-style:none; }
.demo-message { max-width:85%; overflow-wrap:anywhere; }
.demo-message-user { align-self:flex-start; }
.demo-message-assistant { align-self:flex-end; }
.demo-message-author { display:flex; align-items:center; gap:8px; margin-bottom:9px; color:#aca8b6; font-size:.6875rem; }
.demo-message-author .icon { width:19px; height:19px; }
.demo-message-assistant .demo-message-author { color:var(--lavender); justify-content:flex-end; }
.demo-message-text { color:var(--text); font-size:.9375rem; line-height:1.8; white-space:pre-wrap; }
.demo-message-user .demo-message-text { color:#c3bfca; }
.demo-message.is-pending { opacity:.7; }
.demo-message.is-failed .demo-message-author { color:#efb4a9; }
.demo-loading { display:flex; align-items:center; gap:10px; min-height:44px; padding:10px 4px; color:var(--muted); font-size:.8125rem; }
.demo-loading-dot { width:8px; height:8px; border-radius:50%; background:var(--lavender); animation:demo-breathe 1.2s ease-in-out infinite; }
@keyframes demo-breathe { 50% { opacity:.35; } }
.demo-error { display:flex; gap:12px; padding:16px 0; color:#efb4a9; }
.demo-error p { color:inherit; font-size:.875rem; }
.demo-error .button { margin-top:4px; color:var(--text); }
.demo-quota { margin-top:16px; font-size:.8125rem; }
.demo-contact-offer { display:flex; align-items:center; flex-wrap:wrap; gap:16px 24px; margin-top:28px; }
.demo-lead { margin-top:32px; padding-top:28px; border-top:1px solid var(--line); }
.demo-lead-heading h3 { font-size:clamp(1.5rem,3vw,2rem); line-height:1.2; }
.demo-lead-heading p { font-size:.875rem; margin-top:12px; }
.demo-lead-form { margin-top:24px; }
.demo-form-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.demo-form-fields label { display:block; font-size:.8125rem; margin-bottom:7px; }
.demo-form-fields input { width:100%; min-width:0; min-height:48px; padding:10px 12px; color:var(--text); background:transparent; border:1px solid #575360; border-radius:6px; font:inherit; }
.demo-lead-form>p { margin:16px 0; font-size:.75rem; }
.demo-lead-error { color:#efb4a9; }
.demo-lead-success { display:flex; align-items:flex-start; gap:14px; margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.demo-lead-success>.icon { color:var(--lavender); width:30px; height:30px; }
.demo-lead-success h3 { font-size:1.5rem; line-height:1.3; }
.demo-lead-success p { margin-top:10px; font-size:.9375rem; }
.agent-demo button:disabled { opacity:.55; cursor:default; }
.agent-demo button:focus-visible { outline:2px solid var(--lavender); outline-offset:5px; }
@media(max-width:760px) {
 .demo-heading-copy { display:block; margin-bottom:30px; }
 .demo-heading-copy p { margin-top:16px; }
 .demo-niches { justify-content:flex-start; gap:8px 24px; flex-wrap:wrap; }
 .demo-niche { font-size:.875rem; }
 .demo-messages { max-height:460px; }
 .demo-message { max-width:91%; }
}
@media(max-width:480px) {
 .demo-niches { display:grid; grid-template-columns:1fr 1fr; column-gap:20px; row-gap:8px; margin-bottom:24px; }
 .demo-niche { justify-content:flex-start; padding-inline:2px; }
 .demo-composer { padding:18px 16px 14px; border-radius:12px; }
 .demo-composer textarea { font-size:1rem; min-height:86px; }
 .demo-suggestions { display:grid; gap:6px; margin-block:10px 18px; }
 .demo-suggestion { font-size:.75rem; border-bottom-color:#393540; }
 .demo-composer-bottom { gap:8px; }
 .demo-composer-bottom>span { font-size:.625rem; }
 .demo-notice { font-size:.625rem; }
 .demo-form-fields { grid-template-columns:1fr; gap:16px; }
 .demo-contact-offer { align-items:stretch; flex-direction:column; gap:8px; }
 .demo-message-text { font-size:.875rem; }
 .demo-identity { align-items:flex-start; font-size:.6875rem; }
}
@media(prefers-reduced-motion:reduce) { .demo-loading-dot { animation:none; } .agent-demo * { transition:none!important; scroll-behavior:auto!important; } }

.agent-demo .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
