/* A visible, local needs conversation. The transcript scrolls; the page stays still. */
.hero-inner{padding-top:144px}
.hero h1{font-size:60px}
.hero-eyebrow{margin-bottom:20px}
.hero-lede{font-size:16px;line-height:1.8;margin-top:20px}
.needs-dialogue{position:relative;z-index:4;display:grid;grid-template-rows:44px minmax(0,1fr) auto 64px 18px;gap:8px;width:560px;max-width:52%;height:448px;margin-top:28px;padding:16px;border:1px solid #d8e3f1;border-radius:24px;background:#ffffffdb;box-shadow:0 12px 40px #3654770b;color:#234570}
.needs-header{display:flex;justify-content:space-between;align-items:center;gap:12px}
.needs-header h2{font-size:15px;font-weight:600;line-height:22px;letter-spacing:0;color:#234570}
.needs-header p{font-size:12px;line-height:18px;color:#546984}
.needs-restart{flex-shrink:0;min-height:44px;padding:8px 10px;border-radius:10px;background:transparent;color:#546984;font-size:12px}
.needs-restart:hover{background:#edf3fc;color:var(--blue)}
.needs-transcript{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cad9eb transparent;padding:8px 4px 12px 0;min-height:0;outline-offset:0}
.needs-message{max-width:94%;margin-bottom:14px;overflow-wrap:anywhere}
.needs-message:last-child{margin-bottom:0}
.needs-speaker{display:block;margin-bottom:5px;font-size:12px;line-height:18px;color:#546984}
.needs-message>p{font-size:14px;line-height:24px;white-space:pre-wrap}
.needs-message--assistant>p{color:#234570}
.needs-message--user{margin-left:auto;padding:10px 12px;border-radius:14px 14px 3px 14px;background:#edf3fc}
.needs-message--user .needs-speaker{color:#365e93}
.needs-message--user>p{color:#234570}
.needs-thinking{color:#546984;font-size:13px;line-height:22px}
.needs-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.needs-choices button{min-width:0;min-height:44px;padding:7px 3px;border:1px solid transparent;border-radius:10px;background:#f1f5fb;color:#546984;font-size:12px;line-height:18px;transition:background .16s,border-color .16s,color .16s}
.needs-choices button:hover{background:#eaf2ff;color:#174fa0}
.needs-choices button[aria-pressed="true"]{background:#eaf2ff;border-color:#b9cff0;color:#0f54d4}
.needs-choices button:disabled{opacity:.6;cursor:wait}
.needs-composer{display:flex;gap:8px;align-items:center;min-width:0;padding:8px;border:1px solid #cbdcf0;border-radius:14px;background:#fff;transition:border-color .16s,box-shadow .16s}
.needs-composer:focus-within{border-color:#78a4e3;box-shadow:0 0 0 3px #0f54d40b}
.needs-composer textarea{display:block;flex:1;min-width:0;width:100%;height:44px;resize:none;padding:1px 4px;border:0;background:transparent;color:#234570;font-size:14px;line-height:21px;outline:none;box-shadow:none}
.needs-composer textarea::placeholder{color:#546984}
.needs-send{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex-shrink:0;width:44px;height:46px;border-radius:10px;background:var(--blue);color:#fff;font-size:12px;line-height:16px}
.needs-send>.icon{width:18px;height:18px}
.needs-send:hover{background:#1766ec}
.needs-send:disabled{background:#dce8f8;color:#526e95;cursor:default}
.needs-dialogue[data-state="thinking"] .needs-send{background:#eef3fa;color:#345575}
.needs-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;line-height:18px;color:#546984;white-space:nowrap}
.needs-summary{max-width:100%;padding:12px;border:1px solid #d7e4f4;border-radius:14px;background:#f7faff}
.needs-summary h3{font-size:15px;line-height:24px;color:#234570}
.needs-summary dl{margin-top:10px;font-size:13px;line-height:22px}
.needs-summary dt{color:#546984;margin-top:8px}
.needs-summary dd{margin:0;white-space:pre-wrap;color:#234570;overflow-wrap:anywhere}
.needs-summary ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;list-style:none;padding:0;margin:8px 0}
.needs-summary li{min-width:0}
.needs-summary a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:8px 0;font-size:13px;line-height:20px;color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.needs-summary a .icon{flex-shrink:0;width:16px;height:16px}
.needs-summary-note{font-size:12px;line-height:20px;color:#546984;margin-top:10px}
.needs-details{margin-top:8px}
.needs-details>summary{display:list-item;min-height:44px;padding:12px 0;font-size:12px;line-height:20px;color:#546984;cursor:pointer}
.needs-details>summary:focus-visible{outline:2px solid #3d8cf1;outline-offset:2px}
.needs-summary-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.needs-summary-actions button{min-height:44px;padding:8px 12px;border-radius:10px;font-size:12px;line-height:20px;background:#edf3fc;color:#345575}
.needs-summary-actions .needs-contact{background:var(--blue);color:#fff}
.needs-summary-actions button:hover{box-shadow:inset 0 0 0 1px #b8d0f1}
.needs-notice{font-size:12px;line-height:20px;color:#546984;margin-top:8px}
.needs-dialogue button:focus-visible,.needs-summary a:focus-visible,.needs-transcript:focus-visible{outline:2px solid #3d8cf1;outline-offset:2px}
.needs-choices[hidden],.needs-composer[hidden],.needs-restart[hidden]{display:none}
.needs-dialogue:not([data-enhanced="true"]){height:auto;min-height:190px;display:block}
.needs-dialogue:not([data-enhanced="true"]) .needs-transcript{margin-top:12px}
.needs-dialogue:not([data-enhanced="true"]) .needs-footer{margin-top:16px}
.needs-dialogue:not([data-enhanced="true"]) [data-needs-count]{display:none}
.needs-nojs{font-size:13px;line-height:24px;margin-top:12px}
.needs-nojs a{color:var(--blue);text-decoration:underline}
@media(max-width:1100px){.hero h1{font-size:54px}.needs-dialogue{max-width:54%}}
@media(max-width:900px){.hero-inner{padding-top:144px}.hero h1{font-size:52px}.needs-dialogue{grid-area:demo;width:100%;max-width:none;height:472px;margin-top:0;align-self:start}.hero-lede{font-size:15px}.hero-art{align-self:center}}
@media(max-width:640px){.hero-inner{padding-top:128px}.hero h1{font-size:43px}.hero-lede{font-size:14px}.needs-dialogue{height:480px;margin-top:28px;padding:14px;border-radius:20px}.needs-header h2{font-size:14px}.needs-message>p{font-size:14px}.needs-footer{font-size:12px}.needs-choices button{padding-inline:1px}.needs-summary{padding:10px}}
@media(max-width:360px){.hero h1{font-size:38px}.needs-dialogue{padding:12px}.needs-footer{gap:4px}.needs-header h2{font-size:14px}.needs-restart{padding-inline:6px}}
@media(prefers-reduced-motion:reduce){.needs-choices button,.needs-composer{transition:none}}

.needs-dialogue[hidden]{display:none!important}
