.concierge-root{--chat-paper:#eee5d2;--chat-ink:#34241e;font-family:var(--sans,Arial,sans-serif);color:var(--chat-ink);position:fixed;right:24px;bottom:23px;z-index:95}
.concierge-launch{display:flex;align-items:center;gap:12px;text-align:left;padding:12px 17px;border-radius:999px;color:var(--chat-ink);background:linear-gradient(135deg,rgba(250,243,227,.92),rgba(238,229,210,.7));border:1px solid rgba(255,251,241,.8);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 32px #34241e22,inset 0 1px 0 #fff9;min-height:58px}
.concierge-launch svg{width:23px;height:23px;stroke-width:1.1}
.concierge-launch strong{display:block;font:16px var(--serif,Georgia,serif);font-weight:400;line-height:1.2}
.concierge-launch small{display:block;font-size:8px;letter-spacing:.08em;margin-top:4px}
.concierge-unread{position:absolute;top:0;right:6px;width:12px;height:12px;border:2px solid var(--chat-paper);background:var(--moss);border-radius:50%}
.concierge-panel{position:fixed;inset:auto 24px 96px auto;width:min(380px,calc(100vw - 32px));height:min(600px,calc(100dvh - 125px));margin:0;border:1px solid rgba(255,251,241,.82);border-radius:20px;padding:0;color:var(--chat-ink);background:linear-gradient(145deg,rgba(250,244,229,.96),rgba(238,229,210,.94));backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);box-shadow:0 24px 85px #34241e33;overflow:hidden;z-index:96;font-family:var(--sans,Arial,sans-serif)}
.concierge-panel:not([hidden]){display:flex;flex-direction:column}
.concierge-panel[hidden]{display:none!important}
.concierge-panel header{display:flex;align-items:center;gap:12px;padding:21px 21px 17px;border-bottom:1px solid #34241e1c;flex-shrink:0}
.concierge-emblem{width:32px;height:36px;background:var(--chat-ink);mask:url('/assets/brand-mark.png') center/60px no-repeat;mask-mode:luminance}
.concierge-panel h2{font:24px var(--serif,Georgia,serif);letter-spacing:-.02em;line-height:1.05}
.concierge-panel header p{font-size:9px;color:#716456;margin-top:6px;line-height:1.3}
.concierge-close{margin-left:auto;width:34px;height:34px;font:25px Georgia,serif;border-radius:50%}
.concierge-close:hover{background:#34241e0b}
.concierge-body{flex:1;overflow:auto;overscroll-behavior:contain;padding:20px;scrollbar-width:thin;scrollbar-color:#a99b86 transparent;min-height:0}
.concierge-welcome{padding:2px 0 12px}
.concierge-welcome h3{font:29px var(--serif,Georgia,serif);margin:0 0 8px}
.concierge-welcome p{font-size:12px;line-height:1.8;color:#716456}
.concierge-suggestions{display:flex;flex-wrap:wrap;gap:7px;padding-bottom:15px}
.concierge-suggestions button{font-size:10px;border:1px solid #34241e2b;padding:9px 11px;border-radius:999px;text-align:left}
.concierge-suggestions button:hover{background:#fff4}
.concierge-message{margin:15px 0;max-width:94%;font-size:12px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}
.concierge-message>span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:#716456;line-height:1.5;margin-bottom:5px}
.concierge-message>p{font-size:12px;line-height:1.75;white-space:pre-wrap;margin:0}
.concierge-message.user{margin-left:auto;padding:12px 14px;background:#34241e;color:#faf3e3;border-radius:13px 13px 2px 13px}
.concierge-message.user>span{color:#e5dac6}
.concierge-message.team{border-left:2px solid var(--moss);padding-left:12px}
.concierge-message.system{font-size:10px;color:#716456;padding:10px 0;border-top:1px solid #34241e1c}
.concierge-message a{display:block;font-size:10px;text-decoration:underline;text-underline-offset:4px;margin-top:8px}
.concierge-team-button{border-bottom:1px solid #34241e;padding:4px 0;font-size:10px;margin-top:8px}
.concierge-handoff{background:#fff3;padding:14px;border:1px solid #34241e25;border-radius:10px;margin:12px 0}
.concierge-handoff label{display:block;font-size:11px;line-height:1.7}
.concierge-handoff input{background:transparent;border:0;border-bottom:1px solid #34241e66;padding:9px 0;width:100%;font:12px var(--sans)}
.concierge-handoff p{font-size:10px;line-height:1.7;color:#716456;margin:9px 0}
.concierge-handoff button{background:#34241e;color:#faf3e3;border-radius:999px;font-size:10px;padding:10px 15px}
.concierge-compose{padding:12px 17px 14px;border-top:1px solid #34241e22;flex-shrink:0}
.concierge-input-row{display:flex;align-items:center;gap:8px;border:1px solid #34241e38;border-radius:12px;padding:6px 6px 6px 12px;background:#fff3}
.concierge-input-row textarea{font:12px/1.5 var(--sans);background:transparent;border:0;resize:none;min-width:0;flex:1;max-height:90px;padding:5px 0;color:#34241e}
.concierge-input-row textarea:focus{outline:none}
.concierge-input-row:focus-within{outline:1px solid var(--moss);outline-offset:2px}
.concierge-send{display:grid;place-items:center;border-radius:50%;width:33px;height:33px;background:#34241e;color:#faf3e3;font-size:19px}
.concierge-send:disabled{opacity:.5;cursor:wait}
.concierge-note{font-size:8px!important;line-height:1.5!important;color:#716456;margin:8px 0 0!important;display:flex;gap:6px;justify-content:space-between}
.concierge-note button{text-decoration:underline;font-size:8px;padding:0}
.concierge-status{font-size:10px;line-height:1.5;padding:0 0 7px;color:#7b422d}
.concierge-status:empty{display:none}
.concierge-root button:focus-visible,.concierge-panel button:focus-visible,.concierge-panel a:focus-visible{outline:2px solid var(--moss);outline-offset:3px}
@media(max-width:1100px){.concierge-root{bottom:92px;right:19px}.concierge-panel{bottom:165px;right:19px;height:min(570px,calc(100dvh - 190px))}}
@media(max-width:600px){.concierge-root{bottom:86px;right:14px}.concierge-launch{min-height:49px;padding:9px 13px;gap:8px}.concierge-launch strong{font-size:14px}.concierge-launch small{font-size:7px}.concierge-launch svg{width:19px;height:19px}.concierge-panel{right:12px;bottom:145px;width:calc(100vw - 24px);height:min(570px,calc(100dvh - 165px));border-radius:16px}.concierge-panel header{padding:15px 17px}.concierge-panel h2{font-size:23px}.concierge-body{padding:16px}.concierge-compose{padding:10px 14px}.booking-embedded .concierge-root{bottom:16px}.booking-embedded .concierge-panel{bottom:77px;height:calc(100dvh - 95px)}}
@media(prefers-reduced-motion:no-preference){.concierge-launch{transition:box-shadow .2s,transform .2s}.concierge-launch:hover{transform:translateY(-2px);box-shadow:0 10px 40px #34241e33}.concierge-panel:not([hidden]){animation:concierge-appear .2s ease-out}@keyframes concierge-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
.concierge-panel [hidden],.concierge-root [hidden]{display:none!important}
.concierge-root.concierge-tucked{opacity:0;visibility:hidden;pointer-events:none;transform:translate(110%,36px)}
.booking-embedded .concierge-root,.booking-embedded .concierge-panel{display:none!important}
.booking-page .concierge-root{right:0;bottom:max(16px,env(safe-area-inset-bottom))}
.booking-page .concierge-launch{width:48px;min-height:46px;padding:11px 14px 11px 11px;border-radius:24px 0 0 24px}
.booking-page .concierge-launch>span{display:none}
.booking-page .concierge-launch svg{width:22px;height:22px}
.booking-page .concierge-panel{bottom:76px;right:12px;height:min(600px,calc(100dvh - 96px))}
@media(prefers-reduced-motion:no-preference){.concierge-root{transition:transform .28s ease,opacity .2s ease,visibility .28s}.concierge-root.concierge-tucked{transition:transform .28s ease,opacity .2s ease,visibility 0s .28s}}
@media(max-width:600px){.concierge-panel{width:calc(100% - 24px)}.concierge-input-row textarea,.concierge-handoff input{font-size:16px}.concierge-message,.concierge-message>p{font-size:13px}}
