.chat-launcher{position:fixed;right:20px;bottom:14px;z-index:40;display:block;width:100px;height:132px;padding:0;border:0;border-radius:16px;background:transparent;color:#fff;font:600 14px/1.4 Arial,sans-serif;box-shadow:none;overflow:visible;isolation:isolate}
.chat-bot{display:block;width:100%;height:100%;filter:drop-shadow(0 5px 7px #122b382b);pointer-events:none}.chat-bot-animation{display:block;width:100%;height:100%}.chat-bot-animation svg{display:block;width:100%;height:100%}.chat-bot-fallback{position:absolute;inset:30px 14px;display:grid;place-items:center;border-radius:50%;background:#122b38;border:1px solid #dfc394}.chat-bot-fallback svg{width:28px;height:28px;color:#dfc394}.chat-bot-ready .chat-bot-fallback{display:none}
.chat-launcher-label{position:absolute;right:calc(100% + 8px);top:50%;transform:translate(6px,-50%);padding:10px 15px;border:1px solid #dfc394;border-radius:9px;background:#122b38;color:white;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;box-shadow:0 4px 18px #122b3826;transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s}
@media(hover:hover){.chat-launcher:hover .chat-launcher-label{opacity:1;visibility:visible;transform:translate(0,-50%);transition-delay:0s}}
.chat-launcher:focus-visible .chat-launcher-label{opacity:1;visibility:visible;transform:translate(0,-50%);transition-delay:0s}.contact-open .chat-launcher{visibility:hidden}
.firm-chat{position:fixed;inset:auto 24px 156px auto;width:410px;max-width:calc(100vw - 32px);max-height:min(730px,calc(100dvh - 176px));padding:0;border:1px solid #ced5d5;border-radius:18px;background:#fff;color:#172f3a;box-shadow:0 18px 70px #122b3850;margin:0;font:14px/1.55 Arial,sans-serif;overflow:hidden}
.firm-chat[open]{display:flex;flex-direction:column}.firm-chat::backdrop{background:#122b3833}.firm-chat *{box-sizing:border-box}.firm-chat button,.firm-chat input{font:inherit}.firm-chat button{cursor:pointer}.firm-chat button:disabled{cursor:wait;opacity:.55}
.chat-top{display:flex;align-items:center;gap:12px;padding:20px;background:#122b38;color:#fff;flex:none}.chat-brand-icon{width:40px;height:40px;display:grid;place-items:center;border:1px solid #dfc39466;border-radius:12px;color:#dfc394}.chat-brand-icon svg{width:23px;height:23px}.chat-eyebrow{font:600 9px/1.4 Arial,sans-serif;letter-spacing:.16em;color:#dfc394;margin:0 0 5px}.chat-top h2{font:24px/1.1 Georgia,serif;letter-spacing:-.02em;margin:0}.chat-close{margin-left:auto;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#fff;font-size:28px!important}.chat-close:hover{background:#ffffff15}
.chat-disclaimer{padding:9px 20px;background:#f3efe6;color:#5b503e;font-size:11px;flex:none}.chat-scroll{overflow-y:auto;overscroll-behavior:contain;padding:20px;min-height:70px;flex:1}.chat-welcome h3{font:23px/1.2 Georgia,serif;margin:0 0 10px;letter-spacing:-.02em}.chat-welcome p{color:#5c6970;font-size:13px;line-height:1.6;margin:0 0 18px}
.chat-topics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.chat-topics button{min-height:44px;padding:9px 11px;border:1px solid #c7d1d2;border-radius:8px;background:white;color:#172f3a;font-size:12px;text-align:left;line-height:1.4}.chat-topics button:hover{background:#f5f3ee;border-color:#987849}
.chat-message{padding:14px;border-radius:12px;margin:12px 0;overflow-wrap:anywhere}.chat-message p{margin:0;line-height:1.65;font-size:13px}.chat-message-label{display:block;font-size:10px;letter-spacing:.03em;font-weight:700;margin-bottom:5px;color:#56666d}.chat-user{margin-left:32px;background:#edf2f3}.chat-assistant{margin-right:8px;background:#f6f3ed;border:1px solid #e5dfd3}.chat-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.chat-links a{display:inline-flex;align-items:center;min-height:36px;color:#122b38;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px}.chat-message .chat-fallback{border-top:1px solid #d9d2c5;margin-top:12px;padding-top:10px;color:#615847;font-size:11px}
.chat-compose{padding:15px 20px;background:#fff;border-top:1px solid #d8dddc;flex:none}.chat-form label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}.chat-input-row{display:flex;gap:8px}.chat-input-row input{width:100%;min-width:0;min-height:44px;padding:10px;border:1px solid #b9c6c9;border-radius:7px;color:#172f3a;background:#fff;font-size:16px}.chat-send{flex:none;width:44px;height:44px;display:grid;place-items:center;background:#122b38;color:#fff;border:0;border-radius:7px}.chat-send svg{width:23px;height:23px}.chat-status{font-size:11px;color:#5c6970;margin:0}.chat-status:not(:empty){padding-top:6px}.chat-privacy{font-size:10px;line-height:1.55;color:#56656b;margin:10px 0!important}.chat-privacy a{text-decoration:underline}.chat-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px}.chat-bottom>a{font-weight:700}.chat-reset{border:0;background:none;color:#526168;padding:8px 0;text-decoration:underline;min-height:32px;font-size:11px!important}
.chat-launcher:focus-visible,.firm-chat :focus-visible{outline:3px solid #b28b48;outline-offset:3px}
@media(max-width:760px){.chat-launcher{right:12px;bottom:calc(66px + env(safe-area-inset-bottom));width:76px;height:100px}.chat-launcher-label{font-size:12px;padding:9px 12px;right:calc(100% + 4px)}.original-home .chat-launcher{bottom:calc(10px + env(safe-area-inset-bottom))}.firm-chat{inset:auto 12px calc(12px + env(safe-area-inset-bottom)) 12px;width:auto;max-width:none;max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));border-radius:16px}.chat-top{padding:15px 16px}.chat-scroll{padding:16px}.chat-compose{padding:12px 16px}.chat-disclaimer{padding:8px 16px}}
@media(prefers-reduced-motion:no-preference){.firm-chat[open]{animation:chat-enter .16s ease-out}@keyframes chat-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}

.chat-followups{grid-template-columns:1fr;margin:10px 0 0}

@media(prefers-reduced-motion:reduce){.chat-launcher-label{transition:none}}

.chat-launcher{touch-action:none;user-select:none;-webkit-user-select:none;cursor:pointer}
.chat-launcher.chat-dragging{cursor:grabbing}
.chat-launcher.chat-dragging .chat-launcher-label{opacity:0;visibility:hidden}
.chat-launcher.chat-dragging.chat-hide-ready .chat-launcher-label{display:block;opacity:1;visibility:visible;transform:translate(0,-50%);border-color:#dfc394;background:#122b38}
.chat-launcher.chat-label-right .chat-launcher-label{right:auto;left:calc(100% + 8px)}
.chat-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

.chat-launcher[hidden]{display:none}
.chat-launcher{translate:0 0;transition:translate .65s cubic-bezier(.22,1,.36,1),visibility 0s}
.chat-launcher.chat-hero-away{translate:0 var(--chat-hero-exit,calc(100vh + 160px));visibility:hidden;pointer-events:none;transition:translate .65s cubic-bezier(.55,0,1,.45),visibility 0s .65s}
.chat-hero-away .chat-launcher-label{display:none}
@media(prefers-reduced-motion:reduce){.chat-launcher,.chat-launcher.chat-hero-away{transition:none}}
.chat-intro .chat-launcher-label{animation:chat-intro-label 3.5s .75s both}
@keyframes chat-intro-label{0%,100%{opacity:0;visibility:hidden;transform:translate(6px,-50%)}10%,85%{opacity:1;visibility:visible;transform:translate(0,-50%)}}
@media(prefers-reduced-motion:no-preference){.chat-intro .chat-bot{animation:chat-bot-fly-in .8s cubic-bezier(.16,1,.3,1) both}@keyframes chat-bot-fly-in{from{opacity:0;transform:translateY(180px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){.chat-intro .chat-launcher-label{animation-delay:0s}@keyframes chat-intro-label{0%,100%{opacity:0;visibility:hidden}10%,85%{opacity:1;visibility:visible}}}
.chat-dock{position:fixed;right:0;bottom:36px;z-index:40;width:36px;height:96px;border:0;border-right:5px solid #b28b48;border-radius:12px 0 0 12px;background:#122b381a;cursor:pointer}
.chat-leaving{pointer-events:none}.chat-leaving .chat-launcher-label{display:none}
@media(prefers-reduced-motion:no-preference){.chat-leaving{animation:chat-fly-right .65s cubic-bezier(.55,0,1,.45) both}.chat-returning{animation:chat-fly-back .75s cubic-bezier(.16,1,.3,1) both}@keyframes chat-fly-right{to{transform:translateX(calc(100vw + 120px));opacity:0}}@keyframes chat-fly-back{from{transform:translateX(calc(100vw + 120px));opacity:0}to{transform:translateX(0);opacity:1}}}
@media(max-width:760px){.chat-dock{bottom:80px}.original-home .chat-dock{bottom:24px}}

@media (min-width: 761px) and (min-height: 1100px) {
  .chat-launcher { bottom: 28px; }
  .firm-chat { bottom: 170px; }
}
.chat-launcher-label{pointer-events:auto;cursor:pointer}



.chat-dock[hidden]{display:block;visibility:hidden;pointer-events:none}.contact-open .chat-dock{visibility:hidden}.chat-dock:focus-visible{outline:3px solid #b28b48;outline-offset:3px}


.chat-brand-icon.chat-brand-bot{width:52px;height:44px;border:0;border-radius:0;flex:none}
.chat-brand-bot svg{width:100%;height:100%;display:block}

.chat-revealing > .chat-links,.chat-revealing > .chat-followups,.chat-revealing > .chat-fallback{display:none}
.chat-typing{letter-spacing:.25em;animation:chat-typing-pulse .7s ease-in-out infinite alternate}
@keyframes chat-typing-pulse{from{opacity:.35}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.chat-typing{animation:none}}

.chat-intake-summary{margin:16px 0;display:grid;gap:12px}
.chat-intake-summary>div{padding-bottom:10px;border-bottom:1px solid #d8dfe3;min-width:0}
.chat-intake-summary dt{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#526570}
.chat-intake-summary dd{margin:4px 0 6px;overflow-wrap:anywhere;color:#122b38}
.chat-intake-summary button,.chat-intake-cancel{font:inherit;font-size:12px;background:transparent;border:0;text-decoration:underline;color:#365867;cursor:pointer;padding:6px 0;min-height:32px}
.chat-intake-consent{font-size:12px!important;line-height:1.6!important}
.chat-intake-cancel{display:block;margin:6px auto 0}.chat-intake-cancel[hidden],.chat-topics[hidden]{display:none}
.firm-chat button:disabled{opacity:.55;cursor:default}
.chat-intake-summary button:focus-visible,.chat-intake-cancel:focus-visible{outline:2px solid #b28b48;outline-offset:3px}
.chat-message .form-security{max-width:100%;overflow:hidden}
.chat-message .form-send-status{font-size:12px;overflow-wrap:anywhere}

.chat-form[hidden]{display:none}

/* Reveal hover/focus controls only after the return animation settles. */
.chat-launcher.chat-returning{pointer-events:none}
.chat-launcher.chat-returning .chat-launcher-label{visibility:hidden;opacity:0;pointer-events:none;transition:none}
@media(prefers-reduced-motion:reduce){.chat-launcher-label{transition:none}}

.firm-chat{box-sizing:border-box}.firm-chat .chat-scroll{min-height:0;flex:1 1 auto;overflow-y:auto}.firm-chat .chat-top,.firm-chat .chat-compose{flex-shrink:0}
