@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Jost:wght@300;400;500&display=swap";:root{color-scheme:dark;--bg: #06053e;--bg-warm: #03022a;--surface: #0b0a4e;--surface-2: #12114f;--ink: #ede8dd;--ink-soft: #cdc7ba;--muted: #a39fab;--faint: #7a778e;--hair: rgba(237, 232, 221, .14);--rose: #dc3a3a;--rose-700: #b52e2e;--rose-soft: #3a1e22;--rose-tint: #331a1d;--coral-soft: #33231a;--coral-ink: #d99a72;--plum-soft: #281a33;--plum-ink: #c9a0d6;--sage-soft: #16241d;--sage-ink: #8fd0a8;--gold: #c58a5a;--r-sm: 8px;--r-md: 8px;--r-lg: 8px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .28), 0 2px 6px rgba(0, 0, 0, .22);--shadow-md: 0 2px 6px rgba(0, 0, 0, .3), 0 10px 24px rgba(0, 0, 0, .32);--shadow-lg: 0 8px 18px rgba(0, 0, 0, .34), 0 20px 48px rgba(0, 0, 0, .4);--shadow-rose: 0 8px 20px rgba(220, 58, 58, .35);font-family:Jost,ui-sans-serif,system-ui,sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{min-width:320px;min-height:100%;margin:0;background:var(--bg-warm);color:var(--ink);font-weight:300;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}button,input{font:inherit}button,input{border:0}button,a{-webkit-tap-highlight-color:transparent}.booking-page{min-height:100dvh;background:var(--bg)}.booking-shell{position:relative;display:flex;flex-direction:column;width:min(100%,480px);min-height:100dvh;margin:0 auto;background:var(--bg);border-inline:1px solid rgba(237,232,221,.08);box-shadow:0 20px 80px #03022a8c}.screen{flex:1;min-height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 18px calc(120px + env(safe-area-inset-bottom))}.stretch{display:flex;flex-direction:column}.grow{flex:1}.row{display:flex;align-items:center}.between{display:flex;align-items:center;justify-content:space-between;gap:12px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.wordmark{margin:0;color:var(--ink);font-family:Cormorant Garamond,serif;font-size:2.1rem;font-weight:500;letter-spacing:0}.wordmark span{color:var(--rose)}.booking-brand{display:flex;min-height:48px;align-items:center}.sphere-hero{position:relative;overflow:hidden;min-height:300px;margin:calc(-18px - env(safe-area-inset-top)) -18px 0;padding:calc(28px + env(safe-area-inset-top)) 18px 30px}.sphere-hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,#06053e40,#06053e8c 55%,#06053eeb);pointer-events:none}.sphere-hero-content{position:relative;z-index:1}.booking-logo{display:block;width:auto;max-width:min(220px,72vw);max-height:56px;object-fit:contain}.eyebrow{margin:0;color:var(--gold);font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase}.display{margin:0;color:var(--ink);font-family:Cormorant Garamond,serif;font-size:clamp(2.6rem,13vw,4rem);font-weight:500;line-height:.98;letter-spacing:0}.title{margin:0;color:var(--ink);font-family:Cormorant Garamond,serif;font-size:clamp(2rem,8.5vw,2.6rem);font-weight:500;line-height:1.02;letter-spacing:0}.section-title{margin:30px 0 16px;padding-bottom:12px;border-bottom:1px solid var(--hair)}.section-title h2{margin:0;font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:500}.section-title p,.body{margin:0;color:var(--ink-soft);font-size:.94rem;line-height:1.5}.small{color:var(--muted);font-size:.82rem;line-height:1.42}.tiny{color:var(--muted);font-size:.74rem;line-height:1.35}.price{color:var(--ink);font-family:Cormorant Garamond,serif;font-weight:500;letter-spacing:0}.card{overflow:hidden;border:1px solid var(--hair);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.auth-link-button{margin-top:12px;text-decoration:none}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--surface-2);color:var(--ink-soft);font-size:.76rem;font-weight:800;white-space:nowrap}.chip-rose{background:var(--rose-soft);color:var(--rose-700)}.chip-sage{background:var(--sage-soft);color:var(--sage-ink)}.chip-plum{background:var(--plum-soft);color:var(--plum-ink)}.chip-coral{background:var(--coral-soft);color:var(--coral-ink)}.chip-dot:before{width:6px;height:6px;border-radius:50%;background:currentColor;content:"";opacity:.72}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-8px -18px 10px;padding:10px 18px;background:#06053ed1;-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%)}.icon-button{position:relative;display:inline-grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border-radius:999px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);cursor:pointer}.icon-button:active,.button:active,.treatment-card:active,.choice-row:active,.slot-button:active,.date-button:active{transform:scale(.98)}.badge{position:absolute;top:-4px;right:-4px;display:inline-grid;min-width:20px;height:20px;place-items:center;padding:0 5px;border:2px solid var(--bg);border-radius:999px;background:var(--rose);color:#fff;font-size:.68rem;font-weight:800}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:8px;padding:0 18px;border-radius:999px;background:var(--surface);color:var(--ink);font-weight:800;cursor:pointer;transition:transform .12s ease,opacity .12s ease,background .12s ease}.button-primary{background:var(--rose);color:#fff;box-shadow:var(--shadow-rose)}.button-ghost{background:var(--surface);box-shadow:var(--shadow-sm)}.button-block{width:100%}.button:disabled{cursor:not-allowed;opacity:.52}.segmented{position:sticky;top:52px;z-index:15;display:flex;gap:4px;width:max-content;max-width:100%;margin:18px 0 4px;overflow-x:auto;padding:4px;border-radius:999px;background:var(--surface-2);scrollbar-width:none}.segmented::-webkit-scrollbar,.rail::-webkit-scrollbar,.date-strip::-webkit-scrollbar{display:none}.segmented button{min-height:36px;padding:0 14px;border-radius:999px;background:transparent;color:var(--muted);font-weight:800;white-space:nowrap}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.rail{display:flex;gap:12px;overflow-x:auto;margin:0 -18px;padding:0 18px 4px;scrollbar-width:none}.treatment-list{display:grid;gap:12px}.treatment-card{width:100%;padding:0;border-radius:var(--r-lg);background:var(--surface);color:inherit;text-align:left;cursor:pointer;transition:transform .12s ease}.treatment-card-list{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}.treatment-card-rail{display:block;width:200px;flex:0 0 200px;padding:0}.treatment-copy{display:flex;min-width:0;flex-direction:column;padding:16px}.treatment-copy h3{margin:0;color:var(--ink);font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:500;line-height:1.15}.treatment-copy p{margin:6px 0 0}.treatment-meta{margin-top:auto;padding-top:14px;border-top:1px solid var(--hair)}.benefit-list{display:flex;flex-wrap:wrap;gap:8px}.note-panel{margin-top:18px;padding:14px;border-radius:var(--r-lg);background:var(--rose-tint)}.choice-stack{display:grid;gap:10px;margin-top:18px}.choice-row{display:flex;width:100%;align-items:center;gap:12px;padding:12px;border:1.5px solid transparent;border-radius:var(--r-lg);background:var(--surface);color:inherit;text-align:left;box-shadow:var(--shadow-sm);cursor:pointer}.choice-row[aria-pressed=true]{border-color:var(--rose);background:var(--rose-tint)}.avatar{display:inline-grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--rose-soft),var(--coral-soft));color:var(--rose-700);font-weight:800}.radio-dot{display:inline-grid;width:22px;height:22px;flex:0 0 auto;place-items:center;border:2px solid var(--hair);border-radius:50%;color:#fff}.choice-row[aria-pressed=true] .radio-dot,.pay-choice[aria-pressed=true] .radio-dot{border-color:var(--rose);background:var(--rose)}.terms-card{margin-top:14px;padding:12px}.checkout-check{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;width:100%;align-items:start;background:transparent;color:inherit;text-align:left;cursor:pointer}.checkout-check strong{display:block;font-size:.86rem}.checkout-check span span{display:block;margin-top:3px;color:var(--muted);font-size:.75rem;line-height:1.4}.checkout-check[aria-pressed=true] .radio-dot{border-color:var(--rose);background:var(--rose)}.terms-card.invalid{border-color:var(--rose-700);box-shadow:0 0 0 2px var(--rose-tint)}.checkout-check.invalid .radio-dot{border-color:var(--rose-700)}.date-strip{display:flex;gap:10px;overflow-x:auto;margin:18px -18px 0;padding:0 18px 4px;scrollbar-width:none}.date-button{width:62px;flex:0 0 62px;padding:12px 0;border:1.5px solid var(--hair);border-radius:var(--r-md);background:var(--surface);color:var(--ink-soft);text-align:center;cursor:pointer}.date-button[aria-pressed=true]{border-color:var(--rose);background:var(--rose);color:#fff;box-shadow:var(--shadow-rose)}.date-button:disabled{cursor:not-allowed;opacity:.4}.calendar-trigger{flex:0 0 auto}.calendar-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;background:#06053e73}.calendar-sheet{width:min(100%,480px);max-height:82vh;overflow-y:auto;padding:18px 18px calc(18px + env(safe-area-inset-bottom));border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--bg);box-shadow:var(--shadow-lg)}.calendar-nav{display:flex;justify-content:space-between;margin-top:14px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-top:16px;color:var(--muted);font-size:.72rem;font-weight:800;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:8px}.calendar-day{aspect-ratio:1;border:1.5px solid transparent;border-radius:var(--r-md);background:var(--surface);color:var(--ink);cursor:pointer}.calendar-day[aria-current=date]{border-color:var(--rose)}.calendar-day[aria-pressed=true]{border-color:var(--rose);background:var(--rose);color:#fff;box-shadow:var(--shadow-rose)}.calendar-day:disabled{cursor:not-allowed;color:var(--faint);opacity:.4}.date-day{display:block;margin:2px 0;font-family:Cormorant Garamond,serif;font-size:1.35rem;font-weight:500}.slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.slot-button{min-height:46px;border:1.5px solid var(--hair);border-radius:var(--r-md);background:var(--surface);color:var(--ink-soft);font-weight:800;cursor:pointer}.slot-button[aria-pressed=true]{border-color:var(--rose);background:var(--rose-tint);color:var(--rose-700)}.slot-button:disabled{cursor:not-allowed;opacity:.36;text-decoration:line-through}.cart-list{display:grid;gap:12px}.package-list{display:grid;gap:10px}.package-card{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px}.package-action{display:grid;flex:0 0 auto;justify-items:end;gap:10px}.package-photo{width:56px;height:56px;border-radius:10px;object-fit:cover;flex:0 0 auto}.package-button{min-height:38px;padding:0 13px;font-size:.78rem;box-shadow:none}.cart-item{display:grid;grid-template-columns:minmax(0,1fr);padding:10px}@media(max-width:380px){.package-card{flex-direction:column}.package-action{width:100%;grid-template-columns:minmax(0,1fr) auto;align-items:center}}.remove-button{padding:4px;background:transparent;color:var(--rose-700);font-size:.76rem;font-weight:800;cursor:pointer}.pay-panel,.summary-panel{padding:14px}.pay-choice{display:flex;width:100%;align-items:center;gap:12px;padding:10px 0;background:transparent;color:inherit;text-align:left;cursor:pointer}.field-stack{display:grid;gap:12px}.field{display:grid;gap:6px}.field span{color:var(--ink-soft);font-size:.76rem;font-weight:800}.field input,.field textarea,.field select{width:100%;min-height:48px;padding:0 14px;border:1.5px solid var(--hair);border-radius:var(--r-md);background:var(--surface);color:var(--ink);outline:none}.field textarea{font:inherit;padding:12px 14px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--rose);box-shadow:0 0 0 3px var(--rose-tint)}.phone-field{display:flex;gap:8px}.phone-field select{flex:0 0 108px;min-width:0}.phone-field input{flex:1;min-width:0}.next-appointment-banner{display:flex;align-items:center;gap:12px;margin-top:16px;padding:14px 16px;text-decoration:none;color:var(--ink)}.dock{position:sticky;z-index:30;bottom:0;margin:auto -18px calc(-120px - env(safe-area-inset-bottom));padding:14px 18px calc(22px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--bg) 72%,rgba(6,5,62,0))}.dock-card{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-lg)}.success-mark{display:inline-grid;width:86px;height:86px;place-items:center;border-radius:50%;background:var(--rose);color:#fff;box-shadow:var(--shadow-rose)}.center{text-align:center}.stripe-checkout{min-height:620px;margin-top:18px}.spin{animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:720px){.booking-page{padding:28px 0}.booking-shell{min-height:calc(100dvh - 56px);border-radius:24px;overflow:hidden}.screen{min-height:calc(100dvh - 56px)}}
