/* Scoped contact assistant: accents inherit each service's existing theme. */
.df-assistant-launcher,.df-assistant,.dfa-invite{--dfa-accent:var(--blue,#3b82f6);--dfa-light:var(--cyan,#55d8ff);font-family:var(--body,'Inter',sans-serif);color:#f4f7ff}
.df-assistant-launcher{position:fixed;right:clamp(1rem,3vw,2rem);bottom:max(1rem,env(safe-area-inset-bottom));z-index:35;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 1.25rem;min-height:56px;border:1px solid var(--dfa-accent);border-radius:999px;background:#0b1426;box-shadow:0 8px 30px #0005;font-size:.9375rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.df-assistant-launcher>svg{color:var(--dfa-light);flex-shrink:0}
.df-assistant-launcher:hover{transform:translateY(-2px);box-shadow:0 10px 32px #0008}
.df-assistant-launcher:focus-visible,.df-assistant button:focus-visible,.df-assistant a:focus-visible{outline:2px solid var(--dfa-light);outline-offset:3px}
.df-assistant{z-index:60} /* Above navigation, below the existing desktop cursor (1000). */
.dfa-availability-dot{position:relative;display:inline-block;flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:#4aee94;box-shadow:0 0 8px #4aee9470}
.dfa-availability-dot::after{content:"";position:absolute;inset:-3px;border:1.5px solid #4aee94;border-radius:50%;animation:dfa-available 2s ease-out infinite;pointer-events:none}
.df-assistant{box-sizing:border-box;position:fixed;inset:auto 1.5rem 1.5rem auto;width:450px;max-width:calc(100vw - 2rem);height:760px;max-height:calc(100dvh - 3rem);margin:0;padding:0;overflow:hidden;border:1px solid var(--dfa-accent);border-radius:1.5rem;background:#080f1e;box-shadow:0 24px 90px #0009;isolation:isolate}
.df-assistant[open]{display:flex;flex-direction:column;animation:dfa-enter .35s cubic-bezier(.22,1,.36,1) both}
.df-assistant *{box-sizing:border-box}
.dfa-header{display:flex;align-items:center;gap:.75rem;padding:1.125rem 1.25rem;border-bottom:1px solid #ffffff12;background:linear-gradient(135deg,#ffffff05,transparent),#0d172a;flex-shrink:0}
.dfa-header>div{min-width:0}
.dfa-header h2{display:flex;align-items:center;gap:.625rem;margin:0;font:700 1rem/1.5 var(--display,'Manrope',sans-serif);letter-spacing:-.02em}
.dfa-header p{font-size:.75rem;line-height:1.5;color:#9eacc3;margin:.125rem 0 0}
.dfa-avatar{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#ffffff07;color:var(--dfa-light);border:1px solid var(--dfa-accent)}
.dfa-brand-mark{display:block;width:23px;height:23px;background:var(--dfa-accent);-webkit-mask:url('/deepfield-favicon.png') center/contain no-repeat;mask:url('/deepfield-favicon.png') center/contain no-repeat}
.dfa-header>.dfa-avatar{width:40px;height:40px;flex-basis:40px}
.dfa-close{display:grid;place-items:center;flex:0 0 40px;min-height:40px;margin-left:auto;background:transparent;border:1px solid #ffffff16;border-radius:.625rem;color:#c6d2e5;cursor:pointer}
.dfa-close:hover{background:#ffffff0a}
.dfa-progress{display:flex;gap:7px;padding:.75rem 1.25rem;flex-shrink:0;color:var(--dfa-accent);transition:color .45s ease}
.dfa-progress>span{position:relative;height:4px;flex:1;min-width:0;background:#ffffff12;border-radius:999px;overflow:hidden;isolation:isolate}
.dfa-progress>span:before{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor;transform:scaleX(0);transform-origin:left;transition:background-color .45s ease}
.dfa-progress>span.is-active:before{transform:scaleX(1);transition:transform .55s cubic-bezier(.22,1,.36,1),background-color .45s ease}
.dfa-progress>span:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 5%,#ffffff85 50%,transparent 95%);transform:translateX(-130%);opacity:0;pointer-events:none}
.dfa-progress>span.is-current:after{animation:dfa-progress-light 2.8s ease-in-out infinite}
.dfa-progress[data-state="sending"]>span:after{animation:dfa-progress-light 1.15s ease-in-out infinite}
.dfa-progress[data-state="sending"]>span:nth-child(2):after{animation-delay:.12s}.dfa-progress[data-state="sending"]>span:nth-child(3):after{animation-delay:.24s}.dfa-progress[data-state="sending"]>span:nth-child(4):after{animation-delay:.36s}
.dfa-progress[data-state="success"]{color:#4aee94}
.dfa-progress[data-state="success"]>span{animation:dfa-progress-confirm .65s ease-out both}
.dfa-progress[data-state="success"]>span:after{animation:dfa-progress-finish .75s ease-out both}
.dfa-progress[data-state="success"]>span:nth-child(2),.dfa-progress[data-state="success"]>span:nth-child(2):after{animation-delay:.08s}.dfa-progress[data-state="success"]>span:nth-child(3),.dfa-progress[data-state="success"]>span:nth-child(3):after{animation-delay:.16s}.dfa-progress[data-state="success"]>span:nth-child(4),.dfa-progress[data-state="success"]>span:nth-child(4):after{animation-delay:.24s}
.dfa-progress[data-state="error"]{color:#ee9caa}
@keyframes dfa-progress-light{0%,20%{opacity:0;transform:translateX(-130%)}35%{opacity:.75}75%{opacity:.5;transform:translateX(130%)}100%{opacity:0;transform:translateX(130%)}}
@keyframes dfa-progress-finish{0%{opacity:0;transform:translateX(-130%)}30%{opacity:.8}100%{opacity:0;transform:translateX(130%)}}
@keyframes dfa-progress-confirm{0%,100%{box-shadow:0 0 0 transparent;transform:scaleY(1)}45%{box-shadow:0 0 10px #4aee9455;transform:scaleY(1.25)}}
@media(prefers-reduced-motion:reduce){.dfa-progress,.dfa-progress>span:before{transition:none}.dfa-progress>span,.dfa-progress>span:after{animation:none!important}.dfa-progress>span:after{display:none}}
.dfa-body{flex:1;min-height:0;overflow:auto;padding:1rem 1.25rem 1.5rem;scrollbar-width:thin;scrollbar-color:var(--dfa-accent) #080f1e;scroll-padding:1rem;overscroll-behavior:contain}
.dfa-step-caption{margin:-.2rem 1.25rem .55rem;color:#9bacc6;font-size:.6875rem;font-weight:500;line-height:1.5;flex-shrink:0}
.dfa-new-messages{position:absolute;right:1.25rem;bottom:6.25rem;z-index:3;display:flex;align-items:center;gap:.5rem;padding:.6rem .9rem;border:1px solid var(--dfa-accent);border-radius:999px;background:#14213a;color:#e8f2ff;box-shadow:0 6px 24px #0006;font:600 .75rem var(--body);cursor:pointer;animation:dfa-enter .2s ease-out both}
.dfa-new-messages:hover{background:#1c2e4c}
.dfa-new-messages[hidden],.dfa-field-error[hidden]{display:none}
.df-assistant .dfa-edit{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:.2rem .45rem;border:1px solid #ffffff18;border-radius:.4rem;background:#ffffff04;color:var(--dfa-light);font:500 .6875rem/1.4 var(--body);cursor:pointer;transition:background .2s ease,border-color .2s ease}
.df-assistant .dfa-edit:hover{background:#ffffff0b;border-color:var(--dfa-accent)}
.dfa-bubble>.dfa-edit{display:flex;margin:.45rem 0 0 auto}
.dfa-review{padding:1rem;border:1px solid color-mix(in srgb,var(--dfa-accent) 40%,#26364d);border-radius:1rem;background:linear-gradient(135deg,#ffffff04,transparent),#0f1a2d;min-width:0}
.dfa-review h3{margin:0 0 .85rem;font:700 .9375rem/1.5 var(--display);letter-spacing:-.02em;color:#e7effd}
.dfa-review-item{padding:.75rem 0;border-top:1px solid #ffffff0c}
.dfa-review-item:last-child{padding-bottom:0}
.dfa-review-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.dfa-review-heading strong{font-size:.6875rem;font-weight:600;color:#91a7c5}
.dfa-review-item p{margin:.35rem 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8125rem;line-height:1.7;color:#d4dfef}
.dfa-review-expand{display:inline-block;margin:.45rem 0 0;padding:.15rem 0;border:0;background:none;color:var(--dfa-light);font:500 .6875rem/1.5 var(--body);text-align:left;cursor:pointer}
.dfa-field-error{margin:0;font-size:.6875rem;line-height:1.6;color:#f0a5af}
.dfa-field input[aria-invalid="true"],.dfa-field textarea[aria-invalid="true"]{border-color:#e195a2;background:#211521}
.dfa-transcript{display:flex;flex-direction:column;gap:1rem}
.dfa-message{display:flex;align-items:flex-end;gap:.5rem;min-width:0}
.dfa-message>.dfa-avatar{flex-basis:32px;width:32px;height:32px}
.dfa-message>.dfa-avatar .dfa-brand-mark{width:22px;height:22px}
.dfa-message>.dfa-avatar svg{width:23px;height:23px}
.dfa-bubble{min-width:0;max-width:calc(100% - 2.5rem);padding:.875rem 1rem;border:1px solid #ffffff12;border-radius:1rem 1rem 1rem .25rem;background:#101b2f;overflow-wrap:anywhere}
.dfa-speaker{display:block;color:var(--dfa-light);font-size:.625rem;font-weight:600;line-height:1.5;letter-spacing:.04em;margin-bottom:.375rem}
.dfa-bubble p{margin:0;font-size:.875rem;line-height:1.75;color:#d3def0;white-space:pre-wrap}
.dfa-message.is-user{flex-direction:row-reverse}
.dfa-message.is-user .dfa-bubble{border-color:var(--dfa-accent);background:#142035;border-radius:1rem 1rem .25rem 1rem}
.dfa-message.is-user .dfa-speaker{color:#aabbd4}
.dfa-message.is-user .dfa-avatar{border-color:#ffffff25;color:#b5c4da}
.dfa-compose{margin-top:1.25rem;min-width:0}
.dfa-options{display:grid;gap:.625rem}
.dfa-message[hidden],.dfa-compose[hidden],.dfa-option[hidden],.dfa-invite[hidden]{display:none}
.dfa-message.is-entering,.dfa-option.is-entering{animation:dfa-enter .3s ease-out backwards}
.dfa-typing{align-items:center}
.dfa-typing-dots{display:flex;align-items:center;gap:5px;min-height:42px;padding:.75rem 1rem;border:1px solid #ffffff12;border-radius:1rem 1rem 1rem .25rem;background:#ffffff06}
.dfa-typing-dots i{width:5px;height:5px;border-radius:50%;background:var(--dfa-light);animation:dfa-type 1s ease-in-out infinite}
.dfa-typing-dots i:nth-child(2){animation-delay:.14s}.dfa-typing-dots i:nth-child(3){animation-delay:.28s}
.dfa-option{width:100%;padding:.875rem 1rem;text-align:left;min-height:48px;border:1px solid var(--dfa-accent);border-radius:.75rem;background:#101b2f;color:#edf4ff;font:500 .875rem/1.6 var(--body);cursor:pointer;transition:background .2s ease,transform .2s ease}
.dfa-option{display:flex;align-items:center;gap:.875rem}
.dfa-option-icon{display:flex;align-items:center;justify-content:center;flex:0 0 27.5px;color:var(--dfa-light)}
.dfa-option-icon svg{display:block}
.dfa-option-label{flex:1;min-width:0;overflow-wrap:anywhere}
.dfa-option:hover{background:#1a2942;transform:translateX(2px)}
.dfa-form{display:flex;flex-direction:column;gap:1rem;min-width:0}
.dfa-field{display:flex;flex-direction:column;gap:.5rem;min-width:0}
.dfa-field label{font-size:.8125rem;font-weight:500;line-height:1.5;color:#c5d4e8}
.dfa-field input,.dfa-field textarea{appearance:none;min-width:0;width:100%;min-height:46px;padding:.625rem .75rem;border:1px solid #ffffff26;border-radius:.625rem;background:#060d1a;color:#f4f7ff;-webkit-text-fill-color:#f4f7ff;color-scheme:dark;caret-color:var(--dfa-light);font:400 16px/1.6 var(--body)}
.dfa-field textarea{min-height:120px;max-height:280px;resize:vertical}
.dfa-field textarea::placeholder{color:#8191aa;-webkit-text-fill-color:#8191aa;opacity:1}
.dfa-field textarea:focus::placeholder{opacity:.4}
.dfa-field input:focus-visible,.dfa-field textarea:focus-visible{outline:2px solid var(--dfa-light);outline-offset:2px}
.dfa-field input:-webkit-autofill{color:#f4f7ff;-webkit-text-fill-color:#f4f7ff;box-shadow:0 0 0 1000px #101d32 inset}
.dfa-meta{display:flex;justify-content:space-between;gap:.75rem;margin-top:-.5rem;font-size:.6875rem;color:#8e9fb9;line-height:1.5;font-variant-numeric:tabular-nums}
.dfa-actions,.dfa-result-actions{display:flex;align-items:center;gap:.75rem;min-width:0}
.dfa-primary,.dfa-back{min-height:46px;padding:.75rem 1rem;border-radius:.625rem;font:600 .8125rem/1.5 var(--body);cursor:pointer}
.dfa-primary{flex:1;background:var(--dfa-accent);border:1px solid var(--dfa-light);color:#fff;box-shadow:inset 0 1px 0 #ffffff20}
.dfa-primary:hover{box-shadow:inset 0 0 0 100px #00000015}
.dfa-primary:disabled{opacity:.5;cursor:wait}
.dfa-back{color:#b7c8e0;background:transparent;border:1px solid #ffffff20}
.dfa-back:hover{background:#ffffff08}
.dfa-note{margin:0;color:#9bacc5;font-size:.75rem;line-height:1.6}
.dfa-verification{display:flex;align-items:center;justify-content:center;min-height:65px;min-width:0}
.dfa-verification.is-compact{min-height:140px}
.dfa-trap{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.dfa-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.dfa-result{text-align:center;padding:1.5rem 1rem;background:#101b2f;border:1px solid #ffffff16;border-radius:1rem}
.dfa-result h3{font:700 1.125rem/1.5 var(--display);margin:.75rem 0}
.dfa-result p{font-size:.875rem;line-height:1.7;color:#b5c5dd;margin:0}
.dfa-success-contacts{display:grid;grid-template-columns:minmax(0,1fr) 46px 46px;gap:.375rem;margin-top:1.25rem}
.dfa-call{display:flex;align-items:center;justify-content:center;gap:.5rem;min-width:0;min-height:46px;padding:.75rem .5rem;border:1px solid var(--dfa-accent);border-radius:.625rem;background:#ffffff04;color:var(--dfa-light);text-decoration:none;font:600 .875rem/1.5 var(--body);animation:dfa-enter .3s .25s ease-out backwards;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.dfa-social{padding:0}
.dfa-social svg{display:block;flex-shrink:0}
@media(hover:hover) and (pointer:fine){.dfa-call:hover{background:#ffffff0c;border-color:var(--dfa-light);box-shadow:0 4px 14px #0003;transform:translateY(-2px)}}
.dfa-call-icon,.dfa-call-icon svg{display:block;flex-shrink:0}
.dfa-result-icon{color:var(--dfa-light)}
.dfa-result-icon svg{stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.dfa-ring{stroke-opacity:.25;stroke-width:1}
.dfa-spin,.dfa-tick,.dfa-x{display:none}
.dfa-result.is-pending .dfa-spin{display:block;stroke-dasharray:.25 .75;transform-origin:32px 32px;animation:dfa-spin .9s linear infinite}
.dfa-result.is-success .dfa-tick,.dfa-result.is-error .dfa-x{display:block;animation:dfa-enter .25s ease-out both}
.dfa-result.is-success .dfa-result-icon{color:#91d7be}
.dfa-result.is-error .dfa-result-icon{color:#eaa3ab}
.dfa-result-actions{margin-top:1rem;animation:dfa-enter .3s .25s ease-out both}
.dfa-footer{display:flex;flex-direction:column;gap:.375rem;padding:.875rem 1.25rem;border-top:1px solid #ffffff12;background:#0b1424;flex-shrink:0}
.dfa-footer span{font-size:.625rem;line-height:1.6;color:#8e9fb9}
.dfa-footer a{font-size:.75rem;line-height:1.6;color:var(--dfa-light);text-decoration:none}
.dfa-footer-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;width:100%}
.dfa-clear{min-height:28px;padding:0;border:0;border-bottom:1px solid transparent;background:transparent;color:#a8b6ca;font:500 .6875rem/1.5 var(--body);cursor:pointer}
.dfa-clear:hover{color:#f0c2c6;border-bottom-color:currentColor}
.dfa-clear:disabled{opacity:.45;cursor:wait}
.dfa-resume-note{margin:0;padding:.75rem;border:1px solid #ffffff24;border-radius:.625rem;color:#d5c9a9;font-size:.75rem;line-height:1.7}
.dfa-invite{position:fixed;z-index:34;right:clamp(1rem,3vw,2rem);bottom:calc(88px + env(safe-area-inset-bottom));width:310px;max-width:calc(100vw - 2rem);padding:1.125rem 2.5rem 1.125rem 1.125rem;border:1px solid var(--dfa-accent);border-radius:1rem 1rem .25rem 1rem;background:#101827;box-shadow:0 12px 40px #0005;animation:dfa-enter .35s ease-out both}
.dfa-invite-title{margin:0 0 .5rem;font-size:.6875rem;font-weight:600;line-height:1.5;color:var(--dfa-light)}
.dfa-invite-open{display:block;padding:0;border:0;background:none;color:#e2eaf7;text-align:left;font:500 .875rem/1.7 var(--body);cursor:pointer}
.dfa-invite-close{position:absolute;top:.5rem;right:.5rem;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:.5rem;background:transparent;color:#c5ccda;font:400 24px/1 var(--body);cursor:pointer}
.dfa-invite-close:hover{background:#ffffff0a}
.dfa-invite button:focus-visible{outline:2px solid var(--dfa-light);outline-offset:3px}
/* Tint the complete conversation, not only the launcher, with the page's exact accents. */
@supports(background:color-mix(in srgb,red,black)){
  .df-assistant-launcher,.df-assistant,.dfa-invite{--dfa-base:color-mix(in srgb,var(--dfa-accent) 7%,#080b13);--dfa-panel:color-mix(in srgb,var(--dfa-accent) 12%,#0b0e17);background:var(--dfa-base)}
  .dfa-header,.dfa-footer{background:var(--dfa-panel)}
  .dfa-bubble,.dfa-option,.dfa-result{background:var(--dfa-panel)}
  .dfa-message.is-user .dfa-bubble{background:color-mix(in srgb,var(--dfa-accent) 18%,#0b0e17)}
  .dfa-option:hover{background:color-mix(in srgb,var(--dfa-accent) 22%,#0b0e17)}
  .dfa-field input,.dfa-field textarea{background:var(--dfa-base)}
  .dfa-primary{background:color-mix(in srgb,var(--dfa-accent) 60%,#070b14)}
}
@keyframes dfa-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes dfa-spin{to{transform:rotate(360deg)}}
@keyframes dfa-type{0%,70%,100%{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}
@keyframes dfa-available{0%{opacity:.9;transform:scale(.65)}85%,100%{opacity:0;transform:scale(1.9)}}
@media(max-width:560px){.df-assistant-launcher>.dfa-availability-dot{position:absolute;top:9px;right:9px}}
@media(max-width:360px){.dfa-header h2{font-size:.9375rem}}
@media(prefers-reduced-motion:reduce){.dfa-new-messages{animation:none}}
@media(max-width:560px){.df-assistant-launcher{right:1rem;padding:.875rem;min-width:52px;min-height:52px}.df-assistant-launcher>span{display:none}.df-assistant{inset:var(--dfa-viewport-top,0px) 0 auto;width:100%;max-width:none;height:var(--dfa-viewport-height,100dvh);max-height:none;border:0;border-radius:0}.dfa-header{padding-top:max(1rem,env(safe-area-inset-top))}.dfa-footer{padding-bottom:max(.875rem,env(safe-area-inset-bottom))}.dfa-body{padding-inline:1rem}.dfa-result-actions{flex-wrap:wrap}.dfa-result-actions>*{flex:1}}
@media(prefers-reduced-motion:reduce){.df-assistant[open],.dfa-result.is-pending .dfa-spin,.dfa-result.is-success .dfa-tick,.dfa-result.is-error .dfa-x,.dfa-result-actions,.dfa-call,.dfa-message.is-entering,.dfa-option.is-entering,.dfa-typing-dots i,.dfa-invite,.dfa-availability-dot::after{animation:none}.dfa-availability-dot::after{opacity:0}.df-assistant-launcher,.dfa-option,.dfa-call{transition:none}.df-assistant-launcher:hover,.dfa-option:hover,.dfa-call:hover{transform:none}}
