.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.live-contact { grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr); align-items:center; gap:45px; padding:36px; margin-block:12px 30px; background:#e4edda; border:1px solid #d3dfc6; }
.advisor-intro h2 { margin-top:23px; font-size:clamp(38px,4.1vw,60px); line-height:1.02; }
.advisor-intro h2 em { color:#5b7146; }
.advisor-intro>p:not(.eyebrow) { color:#526348; font-size:15px; margin-top:22px; max-width:240px; }
.advisor-email { margin-top:35px; font-size:11px; color:#58684e; }
.advisor-email a { margin-left:5px; text-decoration:underline; text-underline-offset:4px; }
.advisor-shell { min-width:0; border:1px solid #cbd5c1; border-radius:11px; background:#fafbf6; overflow:hidden; box-shadow:0 7px 20px #25351b08; }
.advisor-shell button,.advisor-shell textarea { font:inherit; }
.advisor-shell button { cursor:pointer; }
.advisor-shell button:disabled { cursor:wait; opacity:.5; }
.advisor-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 22px; border-bottom:1px solid #e0e6d8; }
.advisor-identity { display:flex; align-items:center; gap:9px; font-size:12px; }
.advisor-identity strong { letter-spacing:-.3px; font-size:15px; }
.advisor-identity>span { border-left:1px solid #d5ddcd; margin-left:4px; padding-left:12px; color:#64745a; font-size:11px; }
.advisor-text-button { border:0; padding:4px 0; background:transparent; color:#566d41; font-size:11px!important; }
.advisor-text-button:hover { text-decoration:underline; text-underline-offset:3px; }
.advisor-welcome { padding:27px 22px 22px; }
.advisor-welcome>p { font-size:20px; line-height:1.35; letter-spacing:-.45px; max-width:360px; }
.advisor-prompts { display:flex; flex-wrap:wrap; gap:7px; margin-top:20px; }
.advisor-prompts button { color:#506242; background:#edf2e5; border:1px solid #d5dfc9; border-radius:5px; padding:8px 10px; font-size:10px; transition:background .15s; }
.advisor-prompts button:hover { background:#dce9cb; }
.advisor-form { display:flex; gap:10px; align-items:flex-end; margin:0 22px; padding:11px; border:1px solid #aeba9f; border-radius:7px; background:#fff; }
.advisor-form:focus-within { border-color:#6c854f; outline:2px solid #acc89066; outline-offset:2px; }
.advisor-form textarea { flex:1; min-width:0; resize:vertical; min-height:54px; max-height:160px; border:0; padding:3px; font-size:14px; line-height:1.5; color:var(--ink); background:transparent; }
.advisor-form textarea:focus { outline:0; }
.advisor-form textarea::placeholder { color:#7b8374; }
.advisor-form>button { display:flex; align-items:center; justify-content:center; gap:12px; min-height:40px; flex:none; border:0; border-radius:4px; background:var(--ink); color:#eff5e6; padding:10px 13px; font-size:11px; }
.advisor-form>button:hover { background:#405332; }
.advisor-form>button>span:last-child { font-size:18px; line-height:1; }
.advisor-tools { display:flex; align-items:center; justify-content:space-between; gap:15px; font-size:9px; color:#77816e; padding:10px 23px 15px; min-height:41px; }
.advisor-messages { display:flex; flex-direction:column; gap:18px; max-height:370px; overflow:auto; overscroll-behavior:contain; padding:24px 22px; scrollbar-width:thin; scrollbar-color:#b4c3a5 transparent; }
.advisor-message { max-width:95%; overflow-wrap:anywhere; font-size:14px; line-height:1.6; }
.advisor-message p { white-space:pre-wrap; }
.advisor-message-label { display:block; font-size:9px; letter-spacing:.6px; color:#6c7d5d; margin-bottom:6px; }
.advisor-message.user { align-self:flex-end; background:#e7eedc; border-radius:9px 9px 2px 9px; padding:12px 15px; }
.advisor-message.assistant { align-self:flex-start; }
.advisor-sources { display:flex; flex-wrap:wrap; gap:12px; margin-top:10px; }
.advisor-sources a { font-size:10px; color:#5b7347; text-decoration:underline; text-underline-offset:3px; }
.advisor-status { color:#66785a; font-size:11px; padding:0 23px; }
.advisor-status:not(:empty) { padding-block:0 14px; }
.advisor-error { margin:0 22px 15px; padding:12px 14px; border:1px solid #d9b59e; border-radius:5px; background:#fbf2e9; color:#78442a; font-size:12px; line-height:1.6; }
.advisor-reset { display:flex; flex-wrap:wrap; gap:10px; align-items:center; padding:14px 22px; background:#edf2e5; font-size:12px; }
.advisor-reset p { margin-right:auto; }
.advisor-reset button,.brief-update button { padding:6px 9px; font-size:11px; border:1px solid #aebea0; border-radius:4px; background:transparent; }
.advisor-privacy { padding-inline:23px; border-top:1px solid #e2e8dc; }
.advisor-privacy summary { justify-content:flex-start; padding:12px 0; gap:8px; font-size:9px; color:#727e66; }
.advisor-privacy summary>span { font-size:13px; }
.advisor-privacy p { padding:0 0 15px; font-size:11px; line-height:1.7; }
.advisor-brief { margin:8px 22px 22px; padding:22px; background:#edf3e3; border:1px solid #cddcba; border-radius:7px; }
.brief-heading { display:flex; justify-content:space-between; align-items:center; gap:15px; }
.brief-heading .eyebrow { font-size:8px; color:#647b50; }
.brief-heading h3 { font-size:23px; line-height:1.2; letter-spacing:-.7px; font-weight:500; margin-top:7px; }
.brief-heading>span { font-size:30px; color:#78935c; }
.brief-description { font-size:11px; color:#657957; margin-block:12px; }
.advisor-brief textarea { display:block; width:100%; resize:vertical; border:1px solid #c0d1ad; border-radius:5px; padding:14px; font-size:12px; line-height:1.7; min-height:265px; max-height:650px; color:#35442b; background:#fcfef7; }
.brief-service { margin-block:14px; font-size:11px; color:#62794d; }
.brief-service a { text-decoration:underline; text-underline-offset:3px; }
.brief-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.brief-actions .button { font-size:12px; padding:12px 14px; }
.brief-actions>button { padding:8px 0; border:0; background:transparent; color:#546c40; font-size:10px; }
.brief-actions>button:hover { text-decoration:underline; text-underline-offset:4px; }
.brief-note { font-size:9px; line-height:1.6; color:#6a7e5a; margin-top:13px; }
.brief-update { font-size:11px; margin-block:14px; padding:12px; background:#e0eacb; border-radius:5px; }
.brief-update button { margin-top:8px; }
.advisor-nojs { max-width:380px; color:#536645; }
.advisor-tools,.advisor-privacy summary,.brief-note { color:#5e6b55; }
.advisor-tools>a { font-size:11px; text-decoration:underline; text-underline-offset:3px; }
.advisor-prompts button { font-size:11px; }
.advisor-form>button { min-height:44px; }
.advisor-started { align-items:start; }
@media(min-width:761px) { .advisor-started .advisor-intro { position:sticky; top:35px; padding-top:20px; } }
@media(max-width:1000px) {
 .live-contact { gap:28px; padding:28px; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); }
 .advisor-intro h2 { font-size:43px; }
 .advisor-bar { padding-inline:18px; }
 .advisor-identity>span { font-size:9px; padding-left:8px; }
 .advisor-form { margin-inline:18px; }
 .advisor-prompts { gap:6px; }
}
@media(max-width:760px) {
 .live-contact { grid-template-columns:minmax(0,1fr); padding:23px 17px 17px; gap:23px; margin-block:4px 24px; }
 .advisor-intro { padding-inline:5px; }
 .advisor-intro h2 { font-size:38px; margin-top:14px; }
 .advisor-intro h2 br { display:none; }
 .advisor-intro>p:not(.eyebrow) { font-size:13px; max-width:none; margin-top:14px; }
 .advisor-email { margin-top:15px; font-size:10px; }
 .advisor-bar { padding:15px; }
 .advisor-identity { gap:7px; }
 .advisor-identity>span { font-size:9px; padding-left:8px; margin-left:2px; }
 .advisor-identity strong { font-size:13px; }
 .advisor-welcome { padding:22px 15px 18px; }
 .advisor-welcome>p { font-size:18px; }
 .advisor-prompts { margin-top:15px; }
 .advisor-prompts button { font-size:11px; padding:8px; }
 .advisor-form { margin-inline:15px; padding:9px; }
 .advisor-form textarea { font-size:16px; min-height:75px; }
 .advisor-form>button { padding:10px; }
 .advisor-form>button [data-send-label] { display:none; }
 .advisor-tools { padding-inline:15px; font-size:8px; }
 .advisor-tools .advisor-text-button { font-size:10px!important; }
 .advisor-messages { padding:20px 15px; max-height:360px; }
 .advisor-message { font-size:13px; }
 .advisor-privacy { padding-inline:15px; }
 .advisor-status { padding-inline:15px; }
 .advisor-error { margin-inline:15px; }
 .advisor-reset { padding:14px 15px; }
 .advisor-brief { margin:5px 15px 15px; padding:15px; }
 .brief-heading h3 { font-size:21px; }
 .advisor-brief textarea { font-size:16px; min-height:310px; }
 .brief-actions { gap:14px; }
}
@media(prefers-reduced-motion:reduce) { .advisor-shell * { scroll-behavior:auto; transition:none; } }
