.demo-lab{position:relative;border:1px solid var(--line);border-radius:var(--radius-lg,var(--radius));padding:clamp(24px,3.4vw,48px);background:var(--surface);margin-bottom:64px;box-shadow:var(--lift)}
.demo-progress{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0 0 30px;padding:0}
.demo-progress li{padding:9px 16px;border-radius:999px;border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--muted);background:var(--bg)}
.demo-progress li:first-child{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.lab-status{font-size:14px;color:var(--muted);margin-bottom:25px;padding:14px 18px;border-radius:12px;background:var(--hover)}
.lab-status:empty{display:none}.lab-status.error{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}
#demo-start-panel{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,6vw,88px)}
#demo-start-panel[hidden],#demo-matches[hidden],#demo-review[hidden],#demo-ready[hidden]{display:none}
.demo-lab h2{font-size:clamp(28px,2.8vw,40px);margin-bottom:16px}
.demo-lab h3{font-size:22px;margin-bottom:14px}
.demo-lab p{font-size:15px;color:var(--muted)}
.demo-lab .small{font-size:12.5px}
.demo-lab form>.small{margin-top:16px}
.demo-lab form .button.primary{width:100%;margin-top:6px}
.demo-explainer{position:relative;overflow:hidden;padding:clamp(28px,3vw,40px);background:var(--band-bg);color:var(--band-ink);align-self:start;border-radius:var(--radius)}
.demo-explainer h2{font-size:clamp(26px,2.4vw,34px)}
.demo-explainer p,.demo-explainer .small{color:var(--band-muted)}
.demo-explainer ul{list-style:none;padding:0;margin:22px 0;display:grid;gap:12px;font-size:15px}
.demo-explainer li{position:relative;padding-left:28px}
.demo-explainer li::before{content:"";position:absolute;left:0;top:7px;width:12px;height:12px;border-radius:50%;background:var(--band-accent)}
.ava-orb{position:relative;display:grid;place-items:center;width:80px;height:80px;border-radius:50%;background:var(--orb,var(--band-accent));color:var(--band-bg);font:700 44px/1 var(--display);margin-bottom:28px;box-shadow:0 0 0 10px color-mix(in srgb,var(--band-accent) 16%,transparent),0 0 0 22px color-mix(in srgb,var(--band-accent) 8%,transparent)}
.ava-orb>span{position:absolute;font-size:26px;right:12px;top:6px}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 22px}
.profile-grid label:nth-child(2),.profile-grid label:nth-child(3),.profile-grid label:last-child{grid-column:1/-1}
textarea{resize:vertical;line-height:1.6}
.demo-sources{font-size:13px;margin-bottom:25px;padding:16px 18px;background:var(--hover);border-radius:12px}
.demo-sources a{display:block;overflow-wrap:anywhere;color:var(--accent-strong,var(--accent))}
#match-list{display:grid;gap:14px;margin-top:25px}
.business-match{border:1px solid var(--line);padding:22px 24px;border-radius:calc(var(--radius) * .7);background:var(--bg);transition:border-color .2s}
.business-match:hover{border-color:var(--accent)}
.business-match h3{font-size:19px;margin-bottom:6px}
.business-match p{color:var(--muted);overflow-wrap:anywhere}
.business-match .button{margin-top:14px}
.ready-heading{display:flex;justify-content:space-between;gap:30px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:30px}
.ready-heading .eyebrow{margin-bottom:12px}
.ready-heading .button{flex-shrink:0}
.demo-channels{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}
.chat-panel,.voice-options>section{border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:var(--bg)}
.chat-messages{height:440px;overflow:auto;margin-block:18px;padding:14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);scroll-behavior:smooth}
.chat-messages>div{max-width:88%;margin-bottom:14px;padding:12px 15px;border-radius:16px 16px 16px 4px;font-size:14.5px;line-height:1.6;background:var(--hover);white-space:pre-wrap;overflow-wrap:anywhere}
.chat-messages .chat-user{margin-left:auto;border-radius:16px 16px 4px 16px;background:var(--accent);color:var(--accent-ink)}
.chat-messages strong{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;opacity:.75}
.chat-hint{color:var(--muted);font-size:13px!important;background:none!important;max-width:none!important}
.chat-panel form{display:flex;gap:10px}
.chat-panel form input{margin:0;min-width:0}
.chat-panel form .button{padding-inline:18px;width:auto;margin:0}
.chat-panel>.small{margin-top:12px}
.voice-options{display:flex;flex-direction:column;gap:20px}
.voice-options .eyebrow{margin-bottom:12px}
.voice-options .demo-phone{font-size:clamp(28px,2.6vw,36px);display:block;margin-bottom:12px;color:var(--ink)}
.voice-options .actions{margin-top:18px;gap:10px}
.voice-options #voice-status{margin-top:15px}
.voice-transcript{font-size:12px;line-height:1.7;max-height:210px;overflow:auto;margin-top:18px}
.voice-transcript p{font-size:12px;white-space:pre-wrap}
.phone-code{font:700 30px/1.2 var(--mono,ui-monospace,monospace)!important;letter-spacing:.2em;margin-top:20px;color:var(--ink)!important}
.demo-result{margin-top:30px;padding:26px;background:var(--hover);border-radius:var(--radius)}
.demo-result .button{margin-top:20px}
.demo-data{max-width:900px;margin-bottom:72px}
.demo-data h2{font-size:clamp(24px,2.4vw,32px);margin-bottom:20px}
.demo-data p{font-size:14px;line-height:1.8;color:var(--muted)}
.reset-demo{background:transparent;color:var(--muted);border:0;text-decoration:underline;padding:16px 0;margin-top:15px;font-size:12px}
#ava-audio{width:100%;margin-top:15px}
@media(max-width:900px){#demo-start-panel,.demo-channels{grid-template-columns:1fr;gap:28px}.demo-explainer{display:none}.chat-messages{height:360px}.voice-options{display:grid;grid-template-columns:1fr 1fr}.ready-heading{align-items:flex-start}}
@media(max-width:600px){.profile-grid{grid-template-columns:1fr;gap:0}.profile-grid label{grid-column:1!important}.voice-options{display:flex}.chat-panel,.voice-options>section{padding:20px}.ready-heading{flex-direction:column;gap:18px}.chat-messages{height:320px}.demo-progress li{font-size:12px;padding:8px 12px}}
