.site-contact{--sa-bottom:max(20px,env(safe-area-inset-bottom));--sa-right:max(22px,env(safe-area-inset-right));--sa-text:var(--text-primary,#e3eeeb);--sa-muted:var(--text-secondary,#93aeb3);--sa-surface:var(--surface-inset,#0a242d);position:relative;z-index:520;color:var(--sa-text);font:400 14px/1.55 var(--font-body);color-scheme:var(--theme-color-scheme,dark)}
.site-contact [hidden]{display:none!important}
.site-contact button,.site-contact input,.site-contact textarea{font:inherit}
.site-contact button,.site-contact a{-webkit-tap-highlight-color:transparent}
.site-contact button{cursor:pointer}
.site-contact button:disabled{opacity:.4;cursor:default}
.site-contact :is(button,a,input,textarea):focus-visible{outline:2px solid var(--green2);outline-offset:3px}
.site-contact .module-icon,.site-contact svg{display:block;flex:none;position:static;align-self:center;width:20px;height:20px;margin:0;transform:none}
.site-contact-dock{position:fixed;right:var(--sa-right);bottom:var(--sa-bottom);display:flex;align-items:center;gap:10px}
.site-contact-phone,.site-contact-launcher{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;border:0;border-radius:14px;box-shadow:var(--shadow-overlay,0 5px 24px #0004);transition:background-color .18s,color .18s,box-shadow .18s;white-space:nowrap}
.site-contact-phone{width:52px;background:var(--green2);color:var(--action-primary-text,#062414)}
.site-contact-phone svg{width:23px;height:23px}
.site-contact-phone:hover{background:var(--action-primary-hover,#90d696);box-shadow:var(--shadow-overlay,0 7px 26px #0005)}
/* Opaque greens stay readable over both light and dark sections. */
.site-contact-launcher{padding:0 18px;background:var(--sa-launcher-bg);color:var(--sa-launcher-text);font-weight:500}
.site-contact-launcher[aria-expanded=true]{background:var(--sa-launcher-hover);color:var(--sa-launcher-hover-text)}
@media(hover:hover) and (pointer:fine){
  .site-contact-launcher:hover{background:var(--sa-launcher-hover);color:var(--sa-launcher-hover-text)}
}
.site-contact-launcher:active{background:var(--sa-launcher-pressed);color:var(--sa-launcher-hover-text)}
.site-contact-launcher .module-icon{color:var(--green2)}
.sa-panel{position:fixed;inset:auto var(--sa-right) calc(var(--sa-bottom) + 66px + var(--sa-keyboard,0px)) auto;margin:0;width:412px;max-width:calc(100vw - 32px);height:600px;max-height:calc(var(--sa-viewport-height,100dvh) - 110px);padding:0;border:1px solid var(--border-subtle,#29434a);border-radius:18px;background:var(--sa-surface);color:var(--sa-text);box-shadow:var(--shadow-panel,0 24px 80px #0007);overflow:hidden;font:400 14px/1.55 var(--font-body);flex-direction:column;isolation:isolate}
.sa-panel:popover-open{display:flex;animation:sa-open .2s ease-out both}
/* Focus scrolls the form/history only, so the panel heading stays in place. */
.sa-panel{overflow:clip}
.sa-panel::backdrop{background:transparent}
.site-contact.has-keyboard .sa-panel{bottom:calc(12px + var(--sa-keyboard,0px));max-height:calc(var(--sa-viewport-height,100dvh) - 24px)}
.sa-head{display:flex;align-items:center;gap:12px;padding:18px 18px 16px;flex:none;border-bottom:1px solid var(--border-subtle,#cde9eb0b)}
.sa-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--avatar-green,#7bc98212);color:var(--green2)}
.sa-avatar>.module-icon{width:23px;height:23px}
.sa-heading{min-width:0;flex:1}
.sa-heading h2{margin:0;font:500 16px/1.35 var(--font-body);letter-spacing:0}
.sa-heading p{margin:3px 0 0;color:var(--sa-muted);font-size:11px}
.sa-icon-button{display:grid;place-items:center;flex:none;width:36px;height:36px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text-secondary,#9fb5ba)}
.sa-icon-button:hover,.sa-quiet:hover,.sa-back:hover,.sa-lead-link:hover,.sa-message-link:hover{background:var(--hover-subtle);color:var(--text-primary,#e5f2ec)}
.sa-chat{display:flex;flex-direction:column;flex:1;min-height:0}
.sa-history{overflow:auto;overscroll-behavior:contain;min-height:0;flex:1;padding:22px 18px 12px;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb,#42635f) transparent}
.sa-welcome{padding:6px 2px 18px}
.sa-welcome p{margin:0;color:var(--sa-muted);font-size:14px;line-height:1.6}
.sa-welcome .sa-welcome-title{margin:0 0 14px;color:var(--text-primary,#edf4ef);font-size:23px;line-height:1.22;letter-spacing:-.035em;white-space:pre-line;font-weight:500}
.sa-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.sa-suggestion{border:0;border-radius:8px;padding:9px 11px;background:var(--surface-inset,#14343a);color:var(--text-primary,#b7d7cf);font-size:12px!important;line-height:1.35!important;text-align:left}
.sa-suggestion:hover{background:var(--hover-subtle,#1c4143);color:var(--text-primary,#e1f2e9)}
.sa-message{margin:0 0 16px;animation:sa-message .16s ease-out;overflow-wrap:anywhere}
.sa-message p{margin:5px 0 0;font-size:13px;line-height:1.65;white-space:pre-wrap}
.sa-message-author{display:block;font-size:10px;line-height:1.3;color:var(--text-muted,#86a5ab)}
.sa-message-assistant{padding:3px 2px 3px 0}
.sa-message-assistant .sa-message-author{color:var(--green2)}
.sa-message-user{padding:12px 14px;margin-left:32px;border-radius:12px 12px 3px 12px;background:var(--surface-inset,#153638)}
.sa-message-link{display:inline-flex;align-items:center;gap:7px;padding:6px 8px;margin:10px 0 0 -8px;border:0;border-radius:7px;background:transparent;color:var(--accent-text,#a0d5ae);font:400 12px/1.4 var(--font-body)!important;text-align:left}
.sa-message-link .module-icon{width:14px;height:14px}
.sa-chat-footer{flex:none;padding:4px 18px 12px;background:var(--sa-surface)}
.sa-lead-link{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px -6px;padding:8px 6px;border:0;border-radius:7px;background:transparent;color:var(--accent-text,#a3cbb3);font-size:12px!important}
.sa-lead-link .module-icon{width:15px;height:15px}
.sa-composer{display:flex;align-items:flex-end;gap:8px;padding:9px;background:var(--surface-inset,#071d26);border:1px solid var(--border-subtle,#334e53);border-radius:12px}
.sa-composer:focus-within{border-color:var(--focus-ring,#6a9c79);box-shadow:var(--shadow-overlay,0 0 0 2px #7bc9820d)}
.site-contact .sa-question{display:block;min-width:0;width:100%;min-height:46px;max-height:120px;border:0;border-radius:6px;background:transparent;color:var(--text-primary,#e6eeeb);padding:4px 3px;resize:none;outline:none!important;font-size:14px;line-height:1.5;overscroll-behavior:contain}
.site-contact textarea::placeholder,.site-contact input::placeholder{color:var(--text-muted,#78979f);opacity:1}
.sa-send{flex:none;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:9px;background:var(--action-primary-bg,#284b3e);color:var(--action-primary-text,#bdedc8)}
.sa-send:hover:not(:disabled){background:var(--action-primary-hover,#34634c)}
.sa-caption{margin:9px 0 0;font:400 10px/1.5 var(--font-body);color:var(--text-muted,#88a3aa)}
.sa-chat-footer>.sa-caption{text-align:center}
.sa-lead-view{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:12px 20px 20px;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb,#42635f) transparent}
.sa-quiet{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary,#aac3c5);font-size:12px!important}
.sa-quiet .module-icon{width:15px;height:15px}
.sa-back{margin-left:-10px;margin-bottom:16px}
.sa-form-intro{margin:0 0 22px}
.sa-form-intro h3,.sa-review h3{margin:0 0 6px;font:500 20px/1.25 var(--font-body);letter-spacing:-.025em;color:var(--text-primary,#e7f2ed)}
.sa-form-intro p,.sa-review-note{margin:0;color:var(--sa-muted);font-size:13px;line-height:1.6}
.sa-field{display:flex;flex-direction:column;gap:7px;min-width:0;margin-bottom:14px}
.sa-field>span{font-size:11px;color:var(--text-secondary,#b5c9ca)}
.sa-field input,.sa-field textarea,.sa-copy-fallback{display:block;min-width:0;width:100%;padding:11px 12px;border:1px solid var(--border-control,#334e53);border-radius:9px;background:var(--surface-input,#071d26);color:var(--text-primary,#e6eeeb);font-size:13px;line-height:1.5}
.sa-field textarea{min-height:95px;resize:vertical;max-height:180px;overscroll-behavior:contain}
.sa-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sa-form-hint{margin:-3px 0 20px;color:var(--text-muted,#88a3aa);font-size:11px}
#site-assistant .contact-consents{margin:0 0 20px}
.sa-submit-hint{margin:10px 0 0;color:var(--sa-muted);font-size:12px;line-height:1.5}
.sa-primary{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:44px;padding:11px 14px;background:var(--action-primary-bg,#7bc982);color:var(--action-primary-text,#082314);border:0;border-radius:9px;font:500 13px/1.5 var(--font-body)!important;text-align:center}
.sa-primary .module-icon{width:16px;height:16px}
.sa-primary:hover:not(:disabled){background:var(--action-primary-hover,#90d696)}
.sa-error{color:var(--danger-text,#efb5ac);font-size:12px}
.sa-error:empty,.sa-copy-status:empty{display:none}
.sa-review-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--success-bg,#7bc98214);color:var(--accent-text,#9fd5a6);margin-bottom:14px}
.sa-summary{margin:20px 0;padding:16px;background:var(--surface-inset,#071d26);border-radius:11px;font-size:13px}
.sa-summary>div+div{margin-top:13px}.sa-summary dt{font-size:10px;color:var(--text-muted,#88a3aa);margin-bottom:4px}.sa-summary dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.sa-review-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}
.sa-copy-status{font-size:12px;color:var(--accent-text,#acd8b5);overflow-wrap:anywhere}
.sa-copy-fallback{margin-top:12px;resize:vertical}
/* The floating controls should not obscure the last line of company details. */
.site-footer{padding-bottom:max(104px,calc(80px + env(safe-area-inset-bottom)))}
@keyframes sa-open{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes sa-message{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){
  .site-contact{--sa-bottom:max(12px,env(safe-area-inset-bottom));--sa-right:max(12px,env(safe-area-inset-right))}
  .site-contact-phone,.site-contact-launcher{height:48px;border-radius:13px}
  .site-contact-phone{width:48px}.site-contact-launcher{padding:0 14px;font-size:13px}
  .sa-panel{inset:auto 10px calc(var(--sa-bottom) + 60px + var(--sa-keyboard,0px)) auto;width:calc(100vw - 20px);max-width:none;height:600px;max-height:calc(var(--sa-viewport-height,100dvh) - 90px);border-radius:16px}
  .sa-head{padding:14px 15px}.sa-history{padding:18px 15px 10px}.sa-chat-footer{padding:4px 15px 10px}
  .site-contact .sa-question,.sa-field input,.sa-field textarea{font-size:16px}
  .sa-lead-view{padding:12px 16px 18px}.sa-field-pair{grid-template-columns:1fr;gap:0}
}
@media(max-height:520px){.sa-panel{max-height:calc(var(--sa-viewport-height,100dvh) - 24px);bottom:calc(12px + var(--sa-keyboard,0px))}.sa-head{padding:10px 15px}.sa-chat-footer{padding-bottom:8px}}
@media(prefers-reduced-motion:reduce){.sa-panel:popover-open,.sa-message{animation:none}.site-contact-phone,.site-contact-launcher{transition:none}}
@media print{.site-contact{display:none}}

/* Shared consent controls, copied from the primary AI landing. */
.site-contact .contact-consents { display: grid; gap: 6px; min-width: 0; margin: 24px 0 0; padding: 0; border: 0; }
.site-contact .contact-consents legend { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.site-contact .contact-consent { display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: start; gap: 12px; min-height: 44px; padding: 7px 0; color: var(--text-secondary,#a8bdc5); font: 400 13px/1.55 var(--font-body); cursor: pointer; }
.site-contact .contact-consent input { appearance: none; -webkit-appearance: none; position: relative; display: grid; place-content: center; width: 20px; height: 20px; padding: 0; margin: 1px 0 0; border: 1px solid var(--border-control,#57757f); border-radius: 5px; background: var(--surface-input,#03151e); color: var(--text-primary,#fff); cursor: pointer; transition: background-color .15s ease, border-color .15s ease; }
.site-contact .contact-consent input::after { content: ''; width: 9px; height: 5px; margin-top: -2px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); visibility: hidden; }
.site-contact .contact-consent input:checked { background: var(--action-bg); border-color: var(--action-bg); }
.site-contact .contact-consent input:checked::after { visibility: visible; }
.site-contact .contact-consent:hover input:not(:checked) { border-color: var(--border-control,#a8bdc5); }
.site-contact .contact-consent input:focus-visible { outline: 2px solid var(--green-on-dark); outline-offset: 4px; }
.site-contact .contact-consent a { color: var(--text-primary,#d5e4e3); text-decoration: underline; text-decoration-color: var(--text-muted,#57757f); text-underline-offset: 3px; border-radius: 3px; }
.site-contact .contact-consent a:hover { color: var(--green-on-dark); text-decoration-color: currentColor; }
/* Bind the copied widget to this page's existing palette, without global aliases. */
.site-contact {
  --text-primary: var(--text);
  --text-muted: var(--muted);
  --green2: var(--green);
  --green-on-dark: var(--green);
  --surface-inset: #041923;
  --surface-input: #020f16;
  --border-subtle: var(--border);
  --border-control: #34515b;
  --accent-text: #bde5c4;
  --success-bg: #103029;
  --sa-launcher-bg: #103029;
  --sa-launcher-hover: #1a3b32;
  --sa-launcher-pressed: #0d2822;
  --sa-launcher-text: #bde5c4;
  --sa-launcher-hover-text: #e4f2e7;
  --action-primary-bg: var(--action-bg);
  --action-primary-hover: var(--action-hover);
  --action-primary-text: var(--action-text);
  --focus-ring: var(--green);
  --shadow-overlay: 0 5px 24px #0004;
}
.site-contact .site-contact-phone { color: #062414; }
.site-contact .site-contact-phone:hover { background: #90d696; }
.site-contact .sa-suggestion { background: var(--surface-panel); }
.site-contact .sa-message-user { background: var(--surface-panel); }
.site-contact .sa-welcome-title, .site-contact .sa-form-intro h3, .site-contact .sa-review h3 { letter-spacing: normal; }

/* Phone guidance follows the assistant's existing text, surfaces and error palette. */
.sa-phone-feedback { margin: 0; color: var(--sa-muted); font-size: 11px; line-height: 1.5; }
.sa-phone-feedback.is-error { color: var(--danger-text, #efb5ac); }
.sa-field input[aria-invalid="true"] { border-color: var(--danger-border, #ad706b); }
