.virtual-concierge{--concierge-green:#23392b;--concierge-cream:#f6f2e9;position:fixed;right:22px;bottom:22px;z-index:90;font-family:var(--sans,Arial,sans-serif)}
.concierge-launch{display:flex;align-items:center;gap:11px;border:0;border-radius:999px;background:var(--concierge-green);color:#fff;min-height:56px;padding:10px 18px 10px 12px;box-shadow:0 12px 32px rgba(20,31,24,.28);font:600 15px/1.2 var(--sans,Arial,sans-serif);cursor:pointer}.concierge-launch:focus-visible,.concierge-close:focus-visible,.concierge-chip:focus-visible,.concierge-form button:focus-visible,.concierge-form textarea:focus-visible{outline:3px solid #c6a76b;outline-offset:3px}.concierge-mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.55);border-radius:50%;font:500 20px/1 Georgia,serif}
.concierge-panel{position:absolute;right:0;bottom:68px;width:min(390px,calc(100vw - 28px));height:min(620px,calc(100vh - 110px));display:grid;grid-template-rows:auto 1fr auto;background:#fff;color:#24241f;border:1px solid rgba(35,57,43,.22);box-shadow:0 20px 60px rgba(20,31,24,.3)}.concierge-panel[hidden]{display:none}.concierge-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;background:var(--concierge-green);color:#fff;padding:19px 20px}.concierge-header strong{display:block;font:500 23px/1.1 var(--serif,Georgia,serif)}.concierge-header span{display:block;margin-top:5px;color:rgba(255,255,255,.78);font-size:13px;line-height:1.35}.concierge-close{border:0;background:transparent;color:#fff;font-size:26px;line-height:1;cursor:pointer;padding:0 2px}
.concierge-body{overflow:auto;padding:18px;background:var(--concierge-cream);scrollbar-width:thin}.concierge-message{max-width:88%;margin:0 0 12px;padding:12px 14px;font-size:15px;line-height:1.55;white-space:pre-line;overflow-wrap:anywhere}.concierge-message.bot{background:#fff;border:1px solid rgba(35,57,43,.16)}.concierge-message.user{margin-left:auto;background:var(--concierge-green);color:#fff}.concierge-message a{display:inline-block;margin-top:8px;color:var(--concierge-green);font-weight:700;text-decoration:underline}.concierge-suggestions{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 16px}.concierge-chip{border:1px solid #849184;background:#fff;color:var(--concierge-green);border-radius:999px;padding:8px 11px;font:600 13px/1.25 var(--sans,Arial,sans-serif);cursor:pointer}
.concierge-compose{border-top:1px solid rgba(35,57,43,.2);background:#fff;padding:13px}.concierge-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.concierge-form textarea{width:100%;min-height:46px;max-height:110px;resize:none;border:1px solid #8d998f;border-radius:0;padding:11px 12px;color:#24241f;background:#fff;font:16px/1.35 var(--sans,Arial,sans-serif)}.concierge-form button{height:46px;border:0;background:var(--concierge-green);color:#fff;padding:0 16px;font-weight:700;cursor:pointer}.concierge-note{margin:8px 1px 0;color:#686d66;font-size:12px;line-height:1.4}
@media(max-width:620px){.virtual-concierge{right:14px;bottom:14px}.home-page .virtual-concierge{bottom:82px}.concierge-launch{min-height:52px;padding-right:15px}.concierge-panel{position:fixed;inset:12px 12px 76px;width:auto;height:auto}.home-page .concierge-panel{bottom:136px}.concierge-body{padding:15px}.concierge-header{padding:17px}.concierge-launch-label{font-size:14px}}
@media(prefers-reduced-motion:no-preference){.concierge-panel{transform-origin:bottom right;animation:concierge-in .18s ease-out}@keyframes concierge-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}}
