/* The existing full-screen assistant, shared with the personal introduction. */
html.assistant-open{overflow:hidden}.chat-panel{font-family:Instrument Sans,system-ui,sans-serif;--ease-out:cubic-bezier(.22,1,.36,1)}.chat-panel h2 em{font-family:Fraunces,serif;font-weight:400}.chat-panel button{cursor:pointer;font:inherit}.chat-panel p,.chat-panel h2,.chat-panel h3{margin:0}.chat-panel .eyebrow{font-family:JetBrains Mono,monospace;letter-spacing:.12em;text-transform:uppercase}.chat-panel .chat-heading h2{line-height:1.12;letter-spacing:-.05em}
.call-card{padding:22px 25px 24px;z-index:2;text-align:center;min-height:272px}.call-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.call-card h2{font-size:25px;letter-spacing:-.04em;line-height:1.16}.call-status{font-size:9px;color:var(--muted);display:flex;justify-content:center;align-items:center;gap:8px}.call-status .signal{background:var(--accent)}@media(max-width:1100px){.call-card{padding:20px 16px}}@media(max-width:800px){.call-card{order:2}}@media(max-width:500px){.call-card{padding:20px 24px;min-height:280px}.call-card h2{font-size:26px}}.call-invite{min-height:76px;padding-top:22px}.call-pill{display:inline-flex;align-items:center;gap:11px;min-height:40px;padding:9px 17px;border:1px solid #b7d9ca66;border-radius:100px;background:#ffffff08;color:#e1f3e9;font-size:12px;transition:background .12s}.call-pill:hover{background:#ffffff18}.call-pill:disabled{cursor:wait}.call-invite>p{font-size:10px;color:#bad2c7;margin-top:6px}.call-panel{position:relative;max-width:460px;margin:20px auto 0;padding:27px;text-align:left;background:#f6f8f0;color:var(--ink);border:1px solid #c4dacb;border-radius:14px}.call-close{position:absolute;top:7px;right:9px;display:grid;place-items:center;width:32px;height:32px;font-size:23px;background:transparent;color:var(--muted);border:0;border-radius:5px;cursor:pointer}.call-close:hover{background:#dce9df}.call-panel .cx-card-h{display:flex;justify-content:space-between;gap:15px;padding-right:14px;margin-bottom:15px;font-size:12px;font-weight:600}.call-panel .cx-card-h p:last-child{font-weight:400;color:var(--muted);font-size:10px;padding-top:2px}.call-panel .cx-callform{display:flex;flex-direction:column;gap:14px}.call-panel .cx-field{display:flex;flex-direction:column;gap:6px}.call-panel .cx-field-l{font-size:12px;color:var(--muted)}.call-panel .cx-field-l em{font-size:10px;font-style:normal;margin-left:3px}.call-panel .cx-field input{width:100%;min-height:44px;border:1px solid #b8cabe;border-radius:6px;background:white;color:var(--ink);padding:10px 12px;font:inherit;font-size:16px}.call-panel input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.call-panel .cx-cta{min-height:46px;background:var(--teal);color:white;border:0;border-radius:6px;padding:12px 20px;font:inherit;font-size:14px;font-weight:600}.call-panel .cx-cta:disabled{opacity:.65;cursor:wait}.call-panel .cx-ask-fine,.call-load-status{font-size:11px;line-height:1.6;color:var(--muted)}.call-panel .cx-callerr{color:#964522}.call-panel .cx-callerr:empty,.call-load-status:empty{display:none}.call-panel .cx-check{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6}.call-panel .cx-check input{flex:none;margin-top:4px;accent-color:var(--accent)}.call-panel .cx-card-name{font-size:24px;letter-spacing:-.04em}.call-panel .cx-calling .cx-card-h{color:var(--accent)}@media(max-width:500px){.call-invite{padding-top:20px}.call-panel{padding:26px 20px}.call-panel .cx-card-h{font-size:11px}.call-panel .cx-card-h p:last-child{font-size:9px}}.chat-panel{max-width:650px;padding:25px}.chat-heading{padding-right:25px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}.chat-heading .eyebrow{display:block;color:var(--accent);font-size:8px;margin-bottom:10px}.chat-heading h2{font-size:25px;line-height:1.2;letter-spacing:-.035em}.chat-log{max-height:360px;overflow-y:auto;overscroll-behavior:contain;padding:2px 6px 10px 0;scrollbar-width:thin}.chat-bubble{max-width:94%;padding:13px 15px;font-size:14px;line-height:1.65;border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 14px}.chat-bubble.agent{background:#e5ece1;border-bottom-left-radius:2px}.chat-bubble.visitor{margin-left:auto;background:#d4e8dc;border-bottom-right-radius:2px}.chat-bubble.system{color:var(--muted);font-size:12px;background:transparent;padding:7px 0}.chat-suggestions,.chat-choices{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}.chat-suggestions button,.chat-choice{border:1px solid #bacfbe;background:transparent;color:var(--teal);border-radius:20px;padding:9px 12px;min-height:40px;font-size:11px;text-align:left}.chat-suggestions button:hover,.chat-choice:hover{background:#deebdf}.chat-choice:disabled{opacity:.6;cursor:default}.chat-composer{position:relative;display:flex;align-items:flex-end;gap:9px;border-top:1px solid var(--line);padding-top:15px}.chat-input-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.chat-composer textarea{flex:1;min-width:0;resize:vertical;min-height:62px;max-height:150px;border:1px solid #b8cabe;background:white;color:var(--ink);border-radius:8px;font:inherit;font-size:16px;line-height:1.5;padding:10px 12px}.chat-composer textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-composer>button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 15px;border:0;border-radius:6px;background:var(--teal);color:white;font-size:12px}.chat-composer>button:disabled{opacity:.6;cursor:default}.chat-note,.chat-disclosure{font-size:10px;color:var(--muted);line-height:1.6;margin-top:12px}.chat-note:empty{display:none}.chat-disclosure{text-align:center;margin-top:10px}.chat-card{padding:16px;background:white;border:1px solid var(--line);border-radius:9px;margin:12px 0;font-size:13px;overflow-wrap:anywhere}.chat-card-label{font-size:10px;color:var(--muted);margin-bottom:9px}.chat-card h3{font-size:20px;margin-bottom:10px;letter-spacing:-.03em}.chat-card dl{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;margin:15px 0 0;font-size:12px}.chat-card dt{color:var(--muted)}.chat-card dd{margin:0}.chat-link{display:inline-block;color:var(--accent);text-decoration:underline;text-underline-offset:3px;margin-right:12px}.chat-card .chat-link{margin-top:10px}.chat-panel .cx-card-h{flex-wrap:wrap}.chat-panel .cx-callform{max-width:100%}.chat-panel .cx-card-h p{max-width:100%}@media(max-width:500px){.assistant-invites .call-pill{font-size:11px;padding:9px 12px;gap:8px}.assistant-invites .call-invite>p{font-size:8px;max-width:160px;line-height:1.5}.chat-panel{padding:22px 16px}.chat-heading h2{font-size:22px}.chat-heading .eyebrow{font-size:7px}.chat-log{max-height:300px}.chat-bubble{font-size:13px;padding:11px 12px}.chat-suggestions button,.chat-choice{font-size:10px}.chat-composer{gap:7px}.chat-composer>button{padding:10px;min-width:58px}.chat-composer textarea{font-size:16px}.chat-card{padding:13px}.chat-card dl{grid-template-columns:65px minmax(0,1fr)}}.chat-panel{display:flex;flex-direction:column;max-height:min(720px,var(--chat-height,calc(100dvh - 110px)));overflow-y:auto}.chat-heading,.chat-composer,.chat-suggestions,.chat-note,.chat-disclosure{flex-shrink:0}.chat-log{min-height:80px;flex:1 1 auto}.chat-panel.chat-editing .chat-heading .eyebrow,.chat-panel.chat-editing .chat-disclosure,.chat-panel.chat-editing .chat-suggestions{display:none}.chat-panel.chat-editing .chat-heading{padding-bottom:10px;margin-bottom:10px}.chat-panel.chat-editing .chat-heading h2{font-size:18px}.chat-panel.chat-editing .chat-composer{padding-top:9px}@media(max-width:500px){.chat-panel.chat-editing{padding-block:16px}}.call-pill { transition: background-color .22s,color .22s,border-color .22s,transform .35s var(--ease-out); }.call-pill:active { transform: translateY(1px); }.chat-panel {
  position: fixed; inset: 0; width: 100%; max-width: none; height: var(--chat-viewport-height,100dvh);
  max-height: none; margin: 0; padding: 0; border: 0; border-radius: 0;
  background: var(--paper); color: var(--ink); box-shadow: none; overflow: hidden;
  overscroll-behavior: none; text-align: left; top: var(--chat-viewport-top,0px);
}.chat-panel::backdrop { background: #062d2d8c; }.chat-shell { display: flex; flex-direction: column; width: min(780px,100%); height: 100%; min-height: 0; margin: 0 auto; padding: max(24px,env(safe-area-inset-top)) 38px max(20px,env(safe-area-inset-bottom)); }.chat-masthead { display: flex; align-items: center; justify-content: space-between; flex: 0 0 auto; gap: 20px; }.chat-brand { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 23px; letter-spacing: -.05em; font-weight: 600; }.chat-brand small { font-size: 10px; font-weight: 400; letter-spacing: 0; margin-left: 4px; }.chat-brand-mark { display: grid; place-items: center; width: 36px; height: 36px; background: var(--teal); border-radius: 50%; }.chat-masthead .call-close { position: static; width: 44px; height: 44px; border-radius: 50%; border: 1px solid #d7dfd1; background: transparent; font-size: 27px; transition: background .2s,transform .3s var(--ease-out); }.chat-masthead .call-close:hover { background: #e8eee3; transform: rotate(90deg); }.chat-panel .chat-heading { padding: 46px 0 25px; border: 0; margin: 0; flex-shrink: 0; }.chat-panel .chat-heading .eyebrow { font-size: 9px; color: var(--muted); margin-bottom: 15px; }.chat-panel .chat-heading h2 { font-size: clamp(32px,4vw,49px); line-height: 1.1; letter-spacing: -.055em; }.chat-panel .chat-heading h2 em { color: var(--accent); }.chat-panel .chat-log { flex: 1 1 auto; min-height: 0; max-height: none; overflow-y: auto; padding: 12px 10px 12px 0; scroll-padding-block: 12px; scrollbar-color: #b9cbb9 transparent; }.chat-panel .chat-bubble { font-size: 15px; padding: 15px 18px; line-height: 1.7; max-width: 88%; margin-bottom: 18px; }.chat-panel .chat-bubble.agent { background: #e8eee2; }.chat-panel .chat-bubble.visitor { background: var(--teal); color: #f3f8f1; }.chat-panel .chat-bubble.system { font-size: 12px; padding: 7px 0; }.chat-panel .chat-suggestions { gap: 8px; margin: 14px 0 18px; flex-shrink: 0; }.chat-panel .chat-suggestions button { min-height: 44px; padding: 10px 14px; font-size: 11px; border-color: #cddbc7; transition: background .2s,border-color .2s; }.chat-panel .chat-suggestions button:hover { background: #e8eee2; border-color: #9bb798; }.chat-panel .chat-composer { border: 1px solid #bbcdb5; border-radius: 13px; background: #fffefb; padding: 8px; gap: 10px; align-items: flex-end; flex-shrink: 0; }.chat-panel .chat-composer:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px #0a78530b; }.chat-panel .chat-composer textarea { min-height: 46px; max-height: 120px; height: 46px; resize: none; padding: 11px 8px; border: 0; background: transparent; border-radius: 0; font-size: 16px; line-height: 24px; }.chat-panel .chat-composer textarea:focus-visible { outline: none; }.chat-panel .chat-composer>button { min-height: 46px; min-width: 64px; padding: 10px 15px; border-radius: 8px; font-size: 12px; }.chat-panel .chat-note { font-size: 11px; margin-top: 10px; }.chat-panel .chat-disclosure { font-size: 10px; margin-top: 13px; }.chat-disclosure a { text-decoration: underline; text-underline-offset: 3px; display: inline-flex; align-items: center; min-height: 30px; }.chat-panel .chat-card { font-size: 14px; padding: 20px; }.chat-panel.chat-editing .chat-heading { padding: 16px 0 10px; }.chat-panel.chat-editing .chat-heading h2 { font-size: 27px; }.chat-panel.chat-editing .chat-heading h2 br { display: none; }.chat-panel.chat-editing .chat-composer { padding: 6px; }.chat-panel.chat-editing .chat-heading .eyebrow,.chat-panel.chat-editing .chat-disclosure { display: none; }@media(min-width:801px) { .chat-panel { background: radial-gradient(ellipse at 0 100%,#e8eee380,transparent 55%),var(--paper); } }@media(max-width:700px) {
  .chat-shell { padding: max(14px,env(safe-area-inset-top)) 20px max(12px,env(safe-area-inset-bottom)); }
  .chat-panel .chat-heading { padding: 31px 0 18px; }
  .chat-panel .chat-heading .eyebrow { font-size: 8px; margin-bottom: 12px; }
  .chat-panel .chat-heading h2 { font-size: 37px; }
  .chat-panel .chat-bubble { font-size: 14px; max-width: 94%; padding: 14px 16px; }
  .chat-panel .chat-suggestions { gap: 7px; margin: 10px 0 14px; }
  .chat-panel .chat-suggestions button { padding: 9px 12px; font-size: 10px; }
  .chat-panel .chat-log { padding-right: 4px; }
  .chat-panel .chat-disclosure { font-size: 9px; margin-top: 7px; }
  .chat-panel .chat-composer { gap: 4px; padding: 6px; }
  .chat-panel .chat-composer>button { min-width: 57px; padding: 9px 12px; }
  .chat-panel.chat-editing { padding: 0; }
  .chat-panel.chat-editing .chat-shell { padding-block: 8px; }
  .chat-panel.chat-editing .chat-heading { padding-block: 8px; }
  .chat-panel.chat-editing .chat-heading h2 { font-size: 22px; }
  .chat-panel .chat-card { padding: 15px; }
}@media(max-height:600px) { .chat-panel .chat-heading { padding-block: 12px; } .chat-panel .chat-heading h2 { font-size: 25px; } .chat-panel .chat-heading br { display: none; } .chat-panel .chat-heading .eyebrow { display: none; } }
@media(prefers-reduced-motion:reduce){.chat-panel,.chat-panel *{animation:none!important;transition:none!important}}

.chat-panel .chat-heading h2{font-weight:500}

/* Content-sized messages; timestamps stay with their original turn on reopen. */
.chat-panel .chat-message{width:fit-content;max-width:88%;min-width:0;margin:0 0 18px}
.chat-panel .chat-message.visitor{margin-left:auto}
.chat-panel .chat-message .chat-bubble{width:fit-content;max-width:100%;margin:0;padding:11px 16px;line-height:1.6;box-sizing:border-box}
.chat-panel .chat-time{display:block;margin:5px 3px 0;color:#68786f;font-size:10px;line-height:1.4;font-variant-numeric:tabular-nums;white-space:nowrap}
.chat-panel .chat-message.visitor .chat-time{text-align:right}
@media(max-width:700px){.chat-panel .chat-message{max-width:94%}.chat-panel .chat-message .chat-bubble{padding:10px 14px}}
