/* The same calendar stays mounted when its presentation changes. */
#bookingCalendarHome,#bookingAssistant{width:100%;min-width:0}
.bookingFloatingCta{position:fixed;z-index:160;right:max(28px,env(safe-area-inset-right));
  bottom:max(26px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:11px;
  min-height:60px;padding:17px 23px;border:1px solid rgba(196,195,250,.42);border-radius:999px;
  color:var(--paper);background:linear-gradient(125deg,#514eff,#6a40ce);
  box-shadow:0 8px 36px rgba(25,14,59,.5),inset 0 1px rgba(255,255,255,.13);
  font-family:var(--disp);font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  line-height:1.4;transition:transform .25s var(--ease),box-shadow .25s var(--ease);cursor:pointer}
.bookingFloatingCta svg{width:23px;height:23px;flex:none}
.bookingFloatingCta:hover{transform:translateY(-3px);box-shadow:0 12px 42px rgba(81,78,255,.4)}
.bookingFloatingCta:focus-visible{outline:2px solid var(--lavender);outline-offset:5px}
.bookingFloatingCta.isDialogOpen{box-shadow:0 0 0 5px rgba(196,195,250,.12),0 8px 36px rgba(25,14,59,.5)}
.bookingAssistantAnnouncement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#bookingAssistant.isFloating{position:fixed;z-index:161;right:max(28px,env(safe-area-inset-right));
  bottom:calc(102px + env(safe-area-inset-bottom));width:min(440px,calc(100vw - 40px));max-width:calc(100vw - 40px);
  max-height:calc(100svh - 124px - env(safe-area-inset-bottom));display:flex;flex-direction:column;
  text-align:left;border:1px solid rgba(196,195,250,.32);border-radius:25px;
  background:linear-gradient(145deg,#22192d,#120d17 65%);color:var(--paper);
  box-shadow:0 26px 90px rgba(0,0,0,.6);isolation:isolate;overflow:hidden;
  animation:bookingAssistantEnter .5s var(--ease)}
.bookingAssistantHead{position:relative;flex:none;padding:25px 28px 18px}
.bookingAssistantHead .lab{font-size:8px;letter-spacing:.23em;color:var(--lavender)}
#bookingAssistant .bookingAssistantHead h2{font-size:26px;font-weight:300;line-height:1.15;
  text-transform:none;letter-spacing:-.025em;margin:12px 0 10px;color:var(--paper)}
.bookingAssistantHead p{font-size:14px;line-height:1.7;letter-spacing:.01em;color:var(--dim);max-width:350px}
.bookingAssistantMeta{display:block;margin-top:13px;font-size:10px;color:var(--lavender);letter-spacing:.045em}
.bookingAssistantClose{position:absolute;right:15px;top:15px;display:grid;place-items:center;width:34px;height:34px;
  border-radius:50%;border:1px solid rgba(244,244,246,.2);background:rgba(255,255,255,.04);color:var(--paper);
  font:300 24px/1 var(--disp);cursor:pointer}
.bookingAssistantClose:hover{background:rgba(255,255,255,.13)}
#bookingAssistant.isFloating .bookingAssistantContent{min-height:0;overflow-y:auto;overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:var(--lavender) #21182b;border-radius:16px;margin:0 12px}
#bookingAssistant.isFloating #bookingEmbed{width:100%;margin:0}
#bookingAssistant.isFloating #bookingEmbed .calendly-inline-widget,
#bookingAssistant.isFloating #bookingEmbed iframe{border-radius:16px}
#bookingAssistant.isFloating .bookingGate{margin:0;border-radius:16px;width:100%;padding:25px 22px;
  text-align:center;gap:14px;background:rgba(244,244,246,.04);box-shadow:none;backdrop-filter:none}
#bookingAssistant.isFloating .bookingGate h3{font-size:21px;line-height:1.3}
#bookingAssistant.isFloating .bookingGate p{font-size:12px;line-height:1.7}
#bookingAssistant.isFloating .bookingGate .bookingLinks{gap:15px}
#bookingAssistant.isFloating .bookingGate .btn{font-size:8px;padding:16px 18px;letter-spacing:.13em;cursor:pointer}
#bookingAssistant.isFloating .bookingStatus{padding:20px;font-size:12px}
.bookingAssistantPageLink{flex:none;align-self:center;margin:15px 18px 18px;font:400 9px/1.6 var(--disp);
  color:var(--dim);letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid rgba(244,244,246,.3);cursor:pointer}
.bookingAssistantPageLink:hover{color:var(--paper)}
#demo{scroll-margin-top:90px}
@keyframes bookingAssistantEnter{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:600px){
  .bookingFloatingCta{right:max(16px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));
    padding:16px 19px;min-height:56px;font-size:9px}
  #bookingAssistant.isFloating{right:12px;bottom:calc(86px + env(safe-area-inset-bottom));width:calc(100vw - 24px);max-width:calc(100vw - 24px);
    max-height:calc(100svh - 104px - env(safe-area-inset-bottom));border-radius:22px}
  .bookingAssistantHead{padding:22px 23px 15px}
  #bookingAssistant .bookingAssistantHead h2{font-size:24px}
  .bookingAssistantHead p{font-size:13px}
  .bookingAssistantMeta{font-size:9px;margin-top:10px}
}
@media(max-width:360px){
  #bookingAssistant.isFloating{right:0;width:100vw;max-width:100vw;border-inline:0}
  #bookingAssistant.isFloating .bookingAssistantContent{margin-inline:0}
}
@media(prefers-reduced-motion:reduce){
  #bookingAssistant.isFloating{animation:none}
  .bookingFloatingCta{transition:none}
  .bookingFloatingCta:hover{transform:none}
}
