/* CP-N6 native persistent Concierge communicator */
.swb-communicator{position:fixed;right:clamp(18px,2.2vw,30px);bottom:clamp(18px,2.2vw,30px);z-index:10050;font-family:var(--swb-type-ui,"Jost",Arial,sans-serif);color:#211e1a}
.swb-communicator__trigger{position:relative;display:grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid rgba(33,30,26,.5);border-radius:50%;background:#fbfaf7;color:#211e1a;cursor:pointer;isolation:isolate;transition:transform .52s cubic-bezier(.22,1,.36,1),border-color .18s ease,background-color .18s ease}
.swb-communicator__trigger:before{content:"";position:absolute;inset:-5px;border:1px solid rgba(33,30,26,.16);border-radius:50%;opacity:0;transform:scale(.9);transition:opacity .18s ease,transform .52s cubic-bezier(.22,1,.36,1);z-index:-1}
.swb-communicator__trigger svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;transition:transform .52s cubic-bezier(.22,1,.36,1)}
.swb-communicator__trigger:hover,.swb-communicator__trigger:focus-visible,.swb-communicator.is-open .swb-communicator__trigger{transform:translateY(-3px);border-color:#211e1a;background:#fff}
.swb-communicator__trigger:hover:before,.swb-communicator__trigger:focus-visible:before,.swb-communicator.is-open .swb-communicator__trigger:before{opacity:1;transform:scale(1)}
.swb-communicator__trigger:focus-visible,.swb-communicator__link:focus-visible,.swb-communicator__fallback:focus-visible{outline:2px solid #74665a;outline-offset:4px}
.swb-communicator__hint{position:absolute;right:calc(100% + 13px);top:50%;width:max-content;max-width:210px;transform:translate(5px,-50%);opacity:0;pointer-events:none;color:#fbfaf7;background:#211e1a;padding:8px 11px;font-size:10px;line-height:1.3;letter-spacing:.06em;transition:opacity .18s ease,transform .52s cubic-bezier(.22,1,.36,1)}
.swb-communicator__trigger:hover .swb-communicator__hint,.swb-communicator__trigger:focus-visible .swb-communicator__hint{opacity:1;transform:translate(0,-50%)}
.swb-communicator__panel{position:absolute;right:0;bottom:calc(100% + 16px);width:min(310px,calc(100vw - 36px));padding:23px 22px 19px;background:#fbfaf7;border:1px solid rgba(33,30,26,.18);color:#211e1a;transform:translateY(0);transform-origin:bottom right;transition:opacity .18s ease,transform .52s cubic-bezier(.22,1,.36,1)}
.swb-communicator__panel[hidden]{display:none}
.swb-communicator__eyebrow{margin:0 0 8px;color:#81796f;font-size:9px;line-height:1.4;letter-spacing:.16em;text-transform:uppercase}
.swb-communicator__title{margin:0;font-family:var(--swb-type-display,"Cormorant Garamond",Georgia,serif);font-size:26px;font-weight:400;line-height:1.12;letter-spacing:-.015em}
.swb-communicator__intro{margin:8px 0 17px;color:#716b63;font-size:11px;line-height:1.6}
.swb-communicator__channels{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid rgba(33,30,26,.13)}
.swb-communicator__link{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0 10px;border-bottom:1px solid rgba(33,30,26,.13);color:inherit;text-decoration:none;font-size:11px;line-height:1.4;letter-spacing:.015em;transition:padding-left .52s cubic-bezier(.22,1,.36,1),color .18s ease}
.swb-communicator__link:after{content:"→";opacity:0;transform:translateX(-4px);transition:opacity .18s ease,transform .52s cubic-bezier(.22,1,.36,1)}
.swb-communicator__link:hover,.swb-communicator__link:focus-visible{padding-left:4px;color:#211e1a;text-decoration:none}
.swb-communicator__link:hover:after,.swb-communicator__link:focus-visible:after{opacity:1;transform:translateX(0)}
.swb-communicator__fallback{display:inline-flex;align-items:center;gap:9px;margin-top:16px;color:inherit;font-size:10px;line-height:1.5;text-decoration:none;border-bottom:1px solid rgba(33,30,26,.45);padding-bottom:3px;transition:gap .52s cubic-bezier(.22,1,.36,1)}
.swb-communicator__fallback:hover{gap:13px;text-decoration:none}
@media(max-width:600px){.swb-communicator{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}.swb-communicator__trigger{width:49px;height:49px}.swb-communicator__panel{width:min(310px,calc(100vw - 32px));padding:20px 18px 17px}}
@media(prefers-reduced-motion:reduce){.swb-communicator__trigger,.swb-communicator__trigger:before,.swb-communicator__trigger svg,.swb-communicator__hint,.swb-communicator__panel,.swb-communicator__link,.swb-communicator__link:after,.swb-communicator__fallback{transition:none!important}}
@media(hover:none){.swb-communicator__hint{display:none!important}}

.swb-communicator__privacy{margin:13px 0 0;color:#8a837a;font-size:9px;line-height:1.55;letter-spacing:.005em}
