:root { --chat-width:390px; --chat-gap:12px; --chat-pad:20px; --chat-radius:18px; }
.chat-launcher{position:fixed;right:24px;bottom:28px;z-index:1100;display:flex;align-items:center;gap:10px;background:var(--navy,#20394a);color:var(--paper,#fff);padding:14px 20px;border:0;border-radius:30px;box-shadow:0 6px 24px #20394a30;font:600 15px var(--sans,sans-serif);cursor:pointer;min-height:48px}
.chat-launcher svg{width:24px;height:24px}
.admissions-chat{position:fixed;inset:auto 24px 24px auto;width:min(var(--chat-width),calc(100vw - 24px));height:min(660px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);padding:0;margin:0;border:1px solid var(--line,#ddd);border-radius:var(--chat-radius);color:var(--navy,#20394a);background:var(--paper,#fff);box-shadow:0 18px 70px #20394a35;overflow:hidden;font:16px/1.7 var(--sans,sans-serif)}
.admissions-chat[open]{display:flex;flex-direction:column}
.admissions-chat::backdrop{background:rgb(20 35 45 / .18)}
.chat-head{display:flex;justify-content:space-between;gap:12px;background:var(--navy,#20394a);color:#fff;padding:18px var(--chat-pad);flex-shrink:0}
.chat-head p{font-size:11px;letter-spacing:.12em;margin:0 0 3px;opacity:.8}.chat-head h2{font:600 20px/1.5 var(--sans,sans-serif);color:inherit;margin:0}.chat-head span{font-size:12px;opacity:.85}
.chat-close{width:44px;height:44px;color:#fff;background:transparent;border:1px solid #ffffff50;border-radius:50%;font-size:27px;cursor:pointer;flex-shrink:0}
.chat-body{overflow-y:auto;flex:1;min-height:0;padding:var(--chat-pad);background:var(--ivory,#faf8f2);overscroll-behavior:contain}
.chat-log{display:flex;flex-direction:column;gap:var(--chat-gap)}
.chat-bubble{align-self:flex-start;max-width:94%;margin:0;background:#fff;border:1px solid var(--line,#ddd);border-radius:2px 14px 14px;padding:12px 14px;font-size:14px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;word-break:keep-all}
.chat-bubble--user{align-self:flex-end;background:var(--navy,#20394a);color:#fff;border-radius:14px 2px 14px 14px}
.chat-topics{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.chat-topics button{border:1px solid var(--navy,#20394a);background:transparent;color:var(--navy,#20394a);border-radius:18px;padding:9px 13px;min-height:44px;font:500 13px var(--sans,sans-serif);cursor:pointer}
.chat-topics button:hover{background:var(--paper,#fff)}
.chat-actions{display:flex;gap:8px;padding:12px var(--chat-pad);border-top:1px solid var(--line,#ddd);flex-shrink:0}.chat-actions>*{flex:1;text-align:center;padding:10px 4px;min-height:44px;font:600 14px/1.6 var(--sans,sans-serif);border:1px solid var(--navy,#20394a);border-radius:6px;text-decoration:none;color:var(--navy,#20394a);cursor:pointer;background:#fff}.chat-actions .chat-consult{background:var(--navy,#20394a);color:#fff}
.chat-form{padding:0 var(--chat-pad) 12px;flex-shrink:0}.chat-form label{display:block;font-size:13px;margin-bottom:6px}.chat-form>div{display:flex;gap:8px}.chat-form input{min-width:0;flex:1;padding:10px;border:1px solid var(--ink-soft,#73857b);border-radius:6px;font:16px var(--sans,sans-serif)}.chat-form button{border:0;background:var(--navy,#20394a);color:#fff;border-radius:6px;padding:10px 12px;font-size:14px;cursor:pointer}.chat-form p{font-size:11px;margin:5px 0 0;color:var(--ink-soft,#4e5b61)}

.admissions-chat .chat-head p{color:#fff}
.public-site .admissions-chat .chat-head p,.public-site .admissions-chat .chat-bubble--user{color:#fff!important}

.chat-launcher{background:var(--paper,#fff);color:var(--navy,#20394a);border:2px solid var(--bronze,#80502a);box-shadow:0 5px 22px #0003}
.admissions-chat :focus-visible,.chat-launcher:focus-visible{outline:3px solid var(--bronze,#80502a);outline-offset:3px}
@media(max-width:700px){.chat-launcher{right:16px;bottom:calc(80px + env(safe-area-inset-bottom));width:52px;height:52px;min-height:52px;padding:0;justify-content:center;border-radius:50%}.chat-launcher span{display:none}.chat-launcher svg{width:25px;height:25px}.admissions-chat{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));--chat-pad:16px}.chat-bubble{font-size:15px}}
