@property --gemisis-border-color-shift{syntax:"<angle>";inherits:true;initial-value:0deg}@keyframes gemisis-booking-color-cycle{to{--gemisis-border-color-shift:360deg}}html:has(.gemisis-booking-page){--gemisis-border-color-shift:0deg;--booking-accent:hsl(calc(208deg + var(--gemisis-border-color-shift)) 85% 62%);--booking-accent-readable:hsl(calc(208deg + var(--gemisis-border-color-shift)) 85% 72%);--booking-accent-light:hsl(calc(208deg + var(--gemisis-border-color-shift)) 85% 78%);--booking-accent-soft:hsl(calc(208deg + var(--gemisis-border-color-shift)) 85% 62% / 12%);--booking-accent-shade:hsl(calc(208deg + var(--gemisis-border-color-shift)) 85% 30%);animation:18s linear infinite gemisis-booking-color-cycle}@media (prefers-reduced-motion:reduce){html:has(.gemisis-booking-page){animation:none}}.gemisis-booking-page{color:#f5f5f5;background:#000;min-height:100svh;padding:32px 24px 60px;font-family:Arial,sans-serif}.gemisis-booking-page *{box-sizing:border-box}.booking-nav{justify-content:space-between;align-items:center;max-width:1000px;margin:0 auto 28px;display:flex}.booking-brand{letter-spacing:-1.2px;color:#fff;font-size:28px;font-weight:600;text-decoration:none}.booking-back{color:#a3a3a3;font-size:14px;text-decoration:none}.booking-intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"eyebrow eyebrow""title details";align-items:center;column-gap:24px;max-width:1000px;margin:0 auto 28px;display:grid}.booking-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--booking-accent-readable);grid-area:eyebrow;font-size:11px}.booking-intro h1{text-align:left;letter-spacing:-1.8px;grid-area:title;margin:12px 0;font-size:clamp(30px,5vw,44px);line-height:1.15}.booking-intro p{text-align:right;color:#a3a3a3;grid-area:details;margin:0;font-size:15px}.booking-shell{background:#101010;border:1px solid #303030;border-radius:16px;max-width:1000px;margin:auto;overflow:hidden;box-shadow:0 20px 60px #00000024}.booking-grid{grid-template-columns:1fr 1fr;min-height:440px;display:grid}.booking-calendar{border-right:1px solid #303030;padding:32px}.booking-month-nav{justify-content:space-between;align-items:center;margin-bottom:28px;font-size:17px;display:flex}.booking-month-nav button,.booking-text-button{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:10px}.booking-month-nav button:disabled{opacity:.3;cursor:default}.booking-weekdays,.booking-days{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.booking-weekdays span{text-align:center;color:#a3a3a3;padding:6px 0 12px;font-size:11px}.booking-day{aspect-ratio:1;color:#f5f5f5;cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:14px;position:relative}.booking-day:disabled{color:#737373;cursor:default}.booking-day:not(:disabled):hover{background:#202020}.booking-day[aria-pressed=true]{background:var(--booking-accent-readable);color:#000}.booking-day.has-slots:after{content:"";background:currentColor;border-radius:50%;width:3px;height:3px;position:absolute;bottom:5px;left:calc(50% - 1.5px)}.booking-timezone{color:#a3a3a3;align-items:center;gap:8px;margin-top:24px;font-size:12px;display:flex}.booking-timezone select{color:#f5f5f5;background:0 0;border:0;min-width:0;max-width:100%;padding:8px 2px;font-size:12px}.booking-times{min-width:0;padding:32px}.booking-times h2{margin:0 0 22px;font-size:16px;font-weight:500;line-height:1.5}.booking-slot-grid{scrollbar-gutter:stable;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:320px;display:grid;overflow:auto}.booking-slot{min-height:46px;color:var(--booking-accent-readable);cursor:pointer;background:#101010;border:1px solid #404040;border-radius:8px;padding:10px 8px;font-size:14px}.booking-slot:hover{border-color:var(--booking-accent);background:var(--booking-accent-soft)}.booking-slot:disabled{color:#858585;cursor:default;background:#181818}.booking-slot small{margin-top:3px;font-size:10px;display:block}.booking-empty{color:#a3a3a3;padding:30px 0;font-size:14px;line-height:1.6}.booking-form{max-width:560px;margin:auto;padding:32px}.booking-form-heading{justify-content:space-between;align-items:start;gap:20px;margin-bottom:24px;display:flex}.booking-form-heading h2{letter-spacing:-.4px;margin:0 0 8px;font-size:20px}.booking-form-heading p{color:#a3a3a3;margin:0;font-size:13px;line-height:1.6}.booking-field{margin:18px 0;font-size:12px;font-weight:500;display:block}.booking-field input,.booking-field textarea{color:#f5f5f5;width:100%;font:inherit;background:#101010;border:1px solid #404040;border-radius:8px;margin-top:8px;padding:13px;font-size:15px;display:block}.booking-field textarea{resize:vertical;min-height:88px}.booking-submit{border:1px solid var(--booking-accent-readable);background:var(--booking-accent-readable);color:#000;cursor:pointer;border-radius:8px;width:100%;min-height:48px;font-size:14px}.booking-submit:disabled{opacity:.5;cursor:wait}.booking-error{color:#ff9292;margin:12px 0;font-size:13px;line-height:1.6}.booking-footer{color:#a3a3a3;justify-content:space-between;gap:18px;max-width:1000px;margin:22px auto 0;font-size:11px;display:flex}.booking-footer a{color:inherit}.booking-success{text-align:center;max-width:500px;margin:auto;padding:60px 30px}.booking-success-icon{background:var(--booking-accent-soft);width:56px;height:56px;color:var(--booking-accent-readable);border-radius:50%;place-items:center;margin:0 auto 24px;font-size:26px;display:grid}.booking-success h2{letter-spacing:-.8px;margin:0 0 16px;font-size:28px}.booking-success p{color:#a3a3a3;font-size:14px;line-height:1.7}.booking-success strong{color:var(--booking-accent-readable);font-weight:500}.booking-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.gemisis-booking-page :focus-visible,.booking-zone-popover :focus-visible{outline:2px solid var(--booking-accent);outline-offset:3px}@media (width>=641px){.booking-month-nav,.booking-times h2{min-height:45.5px}.booking-times h2{align-items:center;display:flex}}@media (width<=640px){.gemisis-booking-page{padding:24px 16px 40px}.booking-nav{margin-bottom:18px}.booking-grid{grid-template-columns:1fr}.booking-calendar{border-bottom:1px solid #303030;border-right:0;padding:24px}.booking-times{padding:24px}.booking-month-nav{margin-bottom:18px}.booking-form{padding:24px}.booking-footer{font-size:10px}.booking-intro{margin-bottom:24px;display:block}.booking-intro h1,.booking-intro p{text-align:left}.booking-slot-grid{max-height:260px}}.gemisis-booking-page{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.booking-day:not(:disabled){background:linear-gradient(#101010,#141414);border:1px solid #404040;box-shadow:0 2px #080808,inset 0 1px #ffffff0d}.booking-day:not(:disabled):hover{border-color:var(--booking-accent);background:var(--booking-accent-soft)}.booking-day[aria-pressed=true]:not(:disabled){background:linear-gradient(180deg, var(--booking-accent-light), var(--booking-accent-readable));border-color:var(--booking-accent);box-shadow:0 2px 0 var(--booking-accent-shade);color:#000}.booking-timezone-trigger{color:#f5f5f5;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:8px 2px;font-size:12px;display:flex}.booking-timezone-trigger>span:first-child{text-overflow:ellipsis;white-space:nowrap;max-width:225px;overflow:hidden}.booking-zone-popover{font-family:Arial,sans-serif;--lightningcss-light: !important;--lightningcss-dark:initial!important;--lightningcss-light: !important;--lightningcss-dark:initial!important;color-scheme:dark!important;color:#f5f5f5!important;background:#101010!important;border:1px solid #404040!important;border-radius:10px!important;width:min(340px,100vw - 32px)!important;padding:10px!important;box-shadow:0 12px 35px #0006!important}.booking-zone-search{color:#f5f5f5;outline-offset:2px;background:#101010;border:1px solid #404040;border-radius:6px;width:100%;padding:11px;font-size:16px}.booking-zone-results{max-height:min(280px,40dvh);margin-top:8px;overflow:auto}.booking-zone-option{text-align:left;color:#f5f5f5;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-direction:column;gap:4px;width:100%;padding:10px;font-size:13px;display:flex}.booking-zone-option small{color:#a3a3a3;font-size:11px}.booking-zone-option[aria-selected=true],.booking-zone-option:hover{background:var(--booking-accent-soft)}.booking-zone-empty{color:#a3a3a3;padding:16px 10px;font-size:13px}.booking-time-picker{font-size:12px}.booking-time-trigger{color:#f5f5f5;text-align:left;cursor:pointer;background:#101010;border:1px solid #404040;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:46px;margin-top:8px;padding:12px 13px;font-size:15px;display:flex}.booking-time-trigger:disabled{opacity:.35;cursor:default}.booking-time-trigger[aria-expanded=true]{border-color:var(--booking-accent)}.booking-time-popover{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;max-width:calc(100vw - 32px);font-family:Arial,sans-serif;box-shadow:0 12px 35px #0006;width:var(--radix-popover-trigger-width)!important;color:#f5f5f5!important;background:#101010!important;border:1px solid #404040!important;border-radius:8px!important;padding:0!important}.booking-time-options{max-height:min(264px, var(--radix-popover-content-available-height));overscroll-behavior:contain;scrollbar-gutter:stable;overflow-y:auto}.booking-time-option{color:#f5f5f5;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:6px;width:100%;height:44px;min-height:44px;padding:0 13px;font-size:14px;display:flex}.booking-time-option small{color:#a3a3a3;font-size:11px}.booking-time-option:disabled{opacity:.4;cursor:default}.booking-time-option:not(:disabled):is(:hover,:focus-visible),.booking-time-option[aria-selected=true]{background:var(--booking-accent-soft);outline-offset:-2px}.booking-time-empty{color:#a3a3a3;padding:16px 13px;font-size:13px}.booking-inline-form{max-width:none;padding:0}.booking-details-gated{transition:opacity .15s}.booking-details-gated[data-locked=true]{opacity:.28}.booking-details-gated[data-locked=true] :is(input,textarea){cursor:pointer}.booking-optional{color:#a3a3a3;font-weight:400}.booking-field input{font-size:16px}.gemisis-booking-page{--validation-error-color:#ff9292}.booking-field-error{color:var(--validation-error-color);margin-top:8px;font-size:12px;font-weight:400;line-height:1.5;display:block}.booking-field:has([aria-invalid=true]){color:var(--validation-error-color)}
