/* Shared mezzanine tokens; no fonts, trackers, portraits or third-party widget loader. */
.consultant-launcher{position:fixed;right:var(--x-l);bottom:max(var(--y-m),env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;gap:var(--x-s);min-height:52px;padding:var(--y-s) var(--x-m);border:1px solid #222c28;border-radius:999px;background:var(--lime);color:#222c28;box-shadow:0 4px 24px #101b2026;font-size:.875rem;line-height:1.25rem;font-weight:600}
.consultant-launcher svg,.consultant-symbol svg,.lead-symbol svg{stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.consultant-launcher:hover span{text-decoration:underline;text-underline-offset:.2em}
.consultant-dialog{position:fixed;inset:auto var(--x-l) max(var(--y-m),env(safe-area-inset-bottom)) auto;margin:0;width:min(28rem,calc(100% - 2rem));max-height:calc(100dvh - 3rem);padding:0;overflow:auto;border-color:var(--control);border-radius:var(--radius);background:var(--white)}
.consultant-dialog[open]{display:flex;flex-direction:column}
.consultant-dialog::backdrop{background:#17201830;backdrop-filter:none}
.consultant-heading{display:flex;align-items:center;gap:var(--x-s);padding:var(--y-m) var(--x-m);background:var(--paper);border-bottom:1px solid var(--line);flex:none}
.consultant-heading>div{min-width:0;flex:1}
.consultant-heading h2{font-size:1.25rem;line-height:1.75rem;letter-spacing:-.02em}
.consultant-heading p{font-size:.875rem;line-height:1.25rem;margin-top:var(--y-s)}
.consultant-heading .close-button{flex:none;align-self:flex-start;background:var(--white);margin:0}
.consultant-symbol,.lead-symbol{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;border-radius:.5rem;background:var(--lime);color:#222c28}
.consultant-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:1 1 auto;padding:var(--y-m) var(--x-m);display:flex;flex-direction:column;gap:var(--y-m);scrollbar-gutter:stable}
.consultant-welcome{padding:var(--y-m) var(--x-m);background:var(--soft);border-radius:0 var(--radius) var(--radius) var(--radius)}
.consultant-welcome p,.consultant-message p{color:var(--ink);font-size:.875rem;line-height:1.5rem;white-space:pre-wrap;overflow-wrap:anywhere}
.consultant-log{display:flex;flex-direction:column;gap:var(--y-m)}
.consultant-log:empty{display:none}
.consultant-message{display:flex;flex-direction:column;gap:var(--y-s);max-width:100%;padding:var(--y-m) var(--x-m);border-radius:0 var(--radius) var(--radius) var(--radius);background:var(--soft)}
.consultant-message.is-user{align-self:flex-end;margin-left:var(--x-l);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius) 0 var(--radius) var(--radius)}
.consultant-author{font-size:.75rem;line-height:1.125rem;font-weight:600;color:var(--muted)}
.consultant-suggestions,.consultant-links{display:flex;flex-direction:column;gap:var(--y-s)}
.consultant-suggestions:empty{display:none}
.consultant-suggestions button{min-height:44px;padding:var(--y-s) var(--x-m);background:var(--white);border:1px solid var(--control);border-radius:.5rem;font-size:.875rem;line-height:1.25rem;text-align:left;color:var(--ink)}
.consultant-suggestions button:hover{text-decoration:underline;text-underline-offset:.2em;border-color:var(--link)}
.consultant-links a{display:flex;align-items:center;min-height:44px;font-size:.875rem;line-height:1.25rem;text-decoration:underline;text-underline-offset:.2em}
.consultant-controls{padding:var(--y-m) var(--x-m);display:flex;flex-direction:column;gap:var(--y-s);border-top:1px solid var(--line);background:var(--paper);flex:none}
.consultant-controls .field{font-size:.875rem;line-height:1.25rem}
.consultant-controls textarea{min-height:4.5rem;height:4.5rem;max-height:10rem;resize:vertical;padding:var(--y-s) var(--x-s);font-size:1rem;line-height:1.5rem}
.consultant-send-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--y-s) var(--x-s);margin-top:var(--y-s)}
.consultant-send-row>.button{margin-left:auto}
.consultant-reset{min-height:44px;background:none;padding:var(--y-s) 0;font-size:.875rem;line-height:1.25rem;color:var(--link);text-decoration:underline;text-underline-offset:.2em}
.consultant-handoff{width:100%;justify-content:center}
.consultant-privacy{font-size:.75rem;line-height:1.125rem}
.consultant-notice:empty{display:none}
.consultant-notice{font-size:.875rem;line-height:1.25rem;margin-top:var(--y-s);color:var(--ink)}
.lead-dialog{width:min(38rem,calc(100% - 2rem));background:var(--white)}
.lead-dialog .dialog-top{background:var(--white);padding:var(--y-m) var(--x-m);position:static;align-items:flex-start}
.lead-dialog-heading{display:flex;align-items:center;gap:var(--x-m);min-width:0}
.lead-dialog h2{font-size:1.5rem;line-height:2rem}
.lead-dialog .close-button{flex:none}
.lead-dialog .contact-form{padding:var(--y-m) var(--x-m)}
.lead-intro{display:flex;flex-direction:column;gap:var(--y-s);margin-bottom:var(--y-m)}
.lead-intro>p{color:var(--ink)}
.lead-dialog .form-grid{gap:var(--y-s) var(--x-m);margin-top:0}
.lead-dialog .field textarea{height:4.5rem;min-height:4.5rem}
.lead-dialog .contact-form-actions{margin-top:var(--y-m)}
.lead-dialog .contact-status{margin-top:var(--y-s);padding:var(--y-s) var(--x-m)}
.lead-dialog .contact-fallback{margin-top:var(--y-m)}
.footer .lead-manual{margin-top:var(--y-s);background:transparent;color:#f6f7f2;border:1px solid #82917d}
.footer-chat-actions{display:flex;flex-wrap:wrap;gap:var(--y-s) var(--x-s);margin-top:var(--y-s)}
.footer-chat-actions .lead-manual{margin:0;justify-content:center}
@media(max-width:720px){
  .consultant-launcher{right:var(--x-m);bottom:max(var(--y-s),env(safe-area-inset-bottom));min-height:48px}
  .consultant-dialog{right:var(--x-m);bottom:max(var(--y-s),env(safe-area-inset-bottom));max-height:calc(100dvh - 2rem);width:calc(100% - 2rem)}
  .consultant-heading{padding:var(--y-s) var(--x-m)}
  .consultant-heading h2{font-size:1.125rem;line-height:1.625rem}
  .consultant-heading p{font-size:.75rem;line-height:1.125rem;margin-top:0}
  .consultant-heading>.consultant-symbol{display:none}
  .consultant-scroll,.consultant-controls{padding:var(--y-m) var(--x-m)}
  .lead-dialog-heading{gap:var(--x-s)}
  .lead-dialog h2{font-size:1.25rem;line-height:1.75rem}
  .lead-dialog-heading>.lead-symbol{display:none}
}
@media(max-height:650px){
  .consultant-dialog[open]{display:block}
  .consultant-scroll{max-height:none;overflow:visible}
  .consultant-heading{position:sticky;top:0;z-index:2;padding:var(--y-s) var(--x-m)}
  .consultant-controls{position:static}
}
@media print{.consultant-shell,.lead-dialog,.lead-manual{display:none!important}}
