/* Shared foundations and preserved chatbot styles. Inner components live in inner.css. */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:var(--type-body)/1.65 var(--font-sans)}
a{color:inherit;text-decoration:none}
.shell{width:min(var(--container-content),calc(100% - 2 * var(--gutter)));margin-inline:auto}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;background:#fff;padding:10px;z-index:70}
.brand-logo{display:block;line-height:0}
.brand-logo img{display:block;width:138px;height:auto}
.footer-logo img{width:178px}
.dark{background:var(--ink);color:white}
h1,h2,h3{line-height:1.18;letter-spacing:-.035em;margin-top:0;text-wrap:balance}
.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-s);min-height:50px;background:var(--lime);color:#111;padding:12px 22px;font-weight:750;border:0;cursor:pointer;border-radius:var(--radius-control);font-family:inherit;font-size:var(--type-button);line-height:1.4;transition:background-color var(--motion-fast) ease}
.button:hover{background:#cce951}
.button.small{min-height:42px;padding:8px 16px}
a:focus-visible,button:focus-visible{outline:2px solid #789326;outline-offset:5px}
.dark a:focus-visible,.site-header a:focus-visible{outline-color:var(--lime)}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.contact-success-modal{width:min(560px,calc(100% - 32px));padding:0;border:0;background:transparent;color:var(--ink);overflow:visible}
.contact-success-modal::backdrop{background:rgba(10,16,18,.72)}
.contact-success-content{position:relative;background:var(--white);padding:48px;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.28)}
.contact-success-content h2{font-size:clamp(29px,5vw,40px);margin:18px 0}
.contact-success-content p{margin:0 auto 30px;max-width:430px;color:var(--muted);font-size:18px}
.contact-success-icon{display:grid;place-items:center;width:58px;height:58px;margin:auto;border-radius:50%;background:var(--lime);font-size:30px;font-weight:800}
.contact-success-close{position:absolute;top:12px;right:14px;width:42px;height:42px;border:0;background:transparent;color:var(--muted);font-size:30px;line-height:1;cursor:pointer}
.contact-success-close:hover{color:var(--ink)}
@media(max-width:780px){
.contact-success-content{padding:42px 24px 30px}
}
.chat-contact{border:0;font-family:inherit;cursor:pointer}
.chat-contact:disabled{opacity:.6;cursor:wait}
.chat-summary-offer{padding:10px 14px;border-top:1px solid var(--line);background:#f6f8f3}
.chat-summary-offer[hidden]{display:none}
.chat-summary-offer p{margin:0 0 8px;font-size:12px;line-height:1.4}
.chat-topics[hidden]{display:none}
.chat-launcher{position:fixed;right:24px;bottom:24px;z-index:50;border:0;border-radius:999px;padding:14px 19px;background:var(--lime);color:#101619;font:inherit;font-weight:800;box-shadow:0 12px 35px #10161955;cursor:pointer}
.chat-panel{position:fixed;right:24px;bottom:110px;z-index:51;width:min(410px,calc(100vw - 32px));height:min(650px,calc(100vh - 110px));background:#fff;border:1px solid #dfe4df;box-shadow:0 22px 70px #10161955;display:grid;grid-template-rows:auto 1fr auto auto}
.chat-panel[hidden]{display:none}
.chat-header{padding:16px 18px;background:var(--ink2);color:#fff;display:flex;align-items:center;justify-content:space-between}
.chat-header small{color:var(--lime);font-weight:800}
.chat-header h2{font-size:20px;margin:2px 0}
.chat-close{border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}
.chat-body{padding:18px;overflow:auto}
.chat-message{max-width:88%;padding:12px 14px;margin:0 0 12px;white-space:pre-wrap;line-height:1.45;font-size:14px}
.chat-message.assistant{background:#eef1ec;border-left:3px solid var(--lime)}
.chat-message.user{margin-left:auto;background:var(--ink2);color:#fff}
.chat-topics{display:flex;flex-wrap:wrap;gap:7px}
.chat-topics button{border:1px solid #cad2c6;background:#fff;padding:8px 10px;color:#344044;font:inherit;font-size:12px;cursor:pointer}
.chat-topics button:hover,.chat-topics button:focus{border-color:#8fa925}
.chat-status{min-height:26px;padding:2px 14px;display:flex;justify-content:space-between;color:#687275;font-size:12px}
.chat-form{padding:10px 14px;display:grid;grid-template-columns:1fr auto;gap:8px;border-top:1px solid var(--line)}
.chat-form textarea{resize:none;width:100%;padding:10px;border:1px solid #c9d0cb;font:inherit}
.chat-form button{border:0;background:var(--lime);font-weight:800;padding:0 13px;cursor:pointer}
.chat-form button:disabled{opacity:.55;cursor:wait}
.chat-privacy{margin:0;padding:0 14px 12px;color:#667074;font-size:10px}
.chat-contact{display:inline-block;padding:10px 13px;background:var(--lime);color:#101619;font-weight:800;font-size:13px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:520px){
.chat-launcher{right:16px;bottom:16px}
.chat-panel{inset:0;width:100%;height:100%;max-height:none}
.chat-form{padding-bottom:max(10px,env(safe-area-inset-bottom))}
}
.chat-panel{border-radius:6px;overflow:hidden;animation:panel-enter 180ms ease-out}
@keyframes panel-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:520px){
.chat-panel{border-radius:0}
}
.chat-panel{width:min(640px,calc(100vw - 48px));height:min(780px,calc(100dvh - 140px));grid-template-rows:auto minmax(0,1fr) auto auto auto auto}
.chat-header{padding:22px 24px}
.chat-body{padding:24px}
.chat-message{font-size:15px;line-height:1.6;padding:16px 18px;margin-bottom:18px}
.chat-summary-offer{padding:14px 24px;background:#f6f8f3}
.chat-form{padding:16px 24px}
.chat-privacy{font-size:11px;line-height:1.5;padding:0 24px 16px}
.chat-review{grid-row:2;overflow:auto;padding:24px;line-height:1.6}
.chat-summary-text{white-space:pre-wrap;padding:20px;background:#f6f8f3;border-left:3px solid var(--lime)}
.chat-review-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.chat-edit{background:white;border:1px solid var(--line);padding:10px 13px;font:inherit;cursor:pointer}
.chat-body[hidden],.chat-review[hidden],.chat-form[hidden]{display:none}
.chat-open{overflow:hidden}
.chat-panel button:focus-visible,.chat-panel a:focus-visible,.chat-panel textarea:focus-visible{outline:2px solid #738a1b;outline-offset:3px}
@media(max-width:680px){
.chat-panel{inset:0;width:100%;height:100dvh;max-height:100dvh;border-radius:0}
.chat-header,.chat-body,.chat-review{padding:16px}
.chat-form{padding:12px 16px}
.chat-privacy{padding:0 16px max(12px,env(safe-area-inset-bottom))}
.chat-review-actions>*{width:100%;text-align:center}
.chat-message{max-width:95%}
.chat-header h2{font-size:19px}
}

/* Make the automated chat identity visible before the panel opens. */
.chat-launcher { display:flex; align-items:center; gap:12px; text-align:left; border-radius:18px; min-height:68px; max-width:calc(100vw - 32px); padding:12px 18px; }
.chat-launcher__icon { width:32px; height:32px; flex-shrink:0; }
.chat-launcher__copy { display:grid; gap:2px; min-width:0; }
.chat-launcher__copy strong { font-size:16px; line-height:1.3; }
.chat-launcher__copy > span { font-size:12px; font-weight:500; line-height:1.4; }
.chat-launcher:hover { background:#cce951; }
.chat-launcher:focus-visible { outline:3px solid var(--accent-text); outline-offset:4px; }
@media(max-width:520px) { .chat-launcher { bottom:max(16px,env(safe-area-inset-bottom)); } }
