:root{--accent:#e8a838;--accent-hover:color-mix(in srgb, var(--accent) 82%, #000);--accent-glow:color-mix(in srgb, var(--accent) 18%, transparent);--accent-subtle:color-mix(in srgb, var(--accent) 8%, transparent);--sp-1:8px;--sp-2:16px;--sp-3:24px;--sp-4:32px;--sp-6:48px;--sp-8:64px;--sp-12:96px;--r:14px;--r-sm:8px;--r-pill:999px;--ease:cubic-bezier(.4, 0, .2, 1);--t-fast:.15s var(--ease);--t-base:.25s var(--ease);--t-slow:.5s var(--ease);--fs-hero:clamp(1.75rem, 3.5vw, 2.5rem);--fs-section:.6875rem;--fs-body:.9375rem;--fs-sm:.8125rem;--fs-xs:.75rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root,[data-theme=dark]{--bg-deep:#0b0e17;--bg-surface:#111827;--bg-elevated:#1a2035;--bg-input:#151c2e;--border:#1e2333;--border-focus:#2d3548;--text-1:#f0ede8;--text-2:#8b8fa3;--text-3:#484d62;--glass:#111827a6;--glass-border:#ffffff0f;--success:#34a853;--danger:#ea4335;--shadow-card:0 4px 32px #00000059;--hero-overlay:linear-gradient(135deg, #0b0e174d, #0b0e17b3)}[data-theme=light]{--bg-deep:#f5f3ef;--bg-surface:#fff;--bg-elevated:#faf8f5;--bg-input:#f0ede8;--border:#e0dcd5;--border-focus:#c8c3ba;--text-1:#1a1a1f;--text-2:#6b6e7a;--text-3:#a8abb4;--glass:#ffffffb3;--glass-border:#0000000f;--success:#1b873b;--danger:#d32f2f;--shadow-card:0 4px 24px #0000000f;--hero-overlay:linear-gradient(135deg, #f5f3ef33, #f5f3ef99)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg-deep);color:var(--text-1);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulseGlow{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 0 8px #0000}}.animate-in{opacity:0;animation:fadeUp .6s var(--ease) forwards}.animate-in:first-child{animation-delay:50ms}.animate-in:nth-child(2){animation-delay:.12s}.animate-in:nth-child(3){animation-delay:.19s}.animate-in:nth-child(4){animation-delay:.26s}.animate-in:nth-child(5){animation-delay:.33s}.animate-in:nth-child(6){animation-delay:.4s}.animate-in:nth-child(7){animation-delay:.47s}.booking-page{min-height:100vh;padding:var(--sp-6) var(--sp-3) var(--sp-8);background:var(--bg-deep);flex-direction:column;align-items:center;display:flex;position:relative}.booking-page:before{content:"";background:radial-gradient(ellipse at center, color-mix(in srgb, var(--accent) 10%, transparent), transparent 70%);pointer-events:none;z-index:0;width:70vw;height:50vh;position:fixed;top:-20%;left:50%;transform:translate(-50%)}.booking-container{gap:var(--sp-3);z-index:1;flex-direction:column;width:100%;max-width:680px;display:flex;position:relative}.theme-toggle{top:var(--sp-2);right:var(--sp-2);z-index:100;border:1px solid var(--border);background:var(--glass);-webkit-backdrop-filter:blur(12px);cursor:pointer;width:40px;height:40px;transition:all var(--t-base);color:var(--text-2);border-radius:50%;justify-content:center;align-items:center;font-size:18px;display:flex;position:fixed}.theme-toggle:hover{border-color:var(--accent);color:var(--accent);transform:rotate(20deg)}.page-badge{text-align:center;font-size:var(--fs-xs);color:var(--text-3);letter-spacing:1.5px;text-transform:uppercase;font-weight:500}.section-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r);transition:border-color var(--t-base), box-shadow var(--t-base);box-shadow:var(--shadow-card);overflow:hidden}.section-card:hover{border-color:var(--border-focus)}.section-body{padding:var(--sp-3) var(--sp-3) var(--sp-4)}.section-title{font-family:DM Serif Display,Georgia,serif;font-size:var(--fs-section);text-transform:uppercase;letter-spacing:2px;color:var(--accent);margin-bottom:var(--sp-2);align-items:center;gap:var(--sp-1);font-weight:400;display:flex}.section-title:before{content:"";background:var(--accent);width:18px;height:1px;display:inline-block}.hero-layout{grid-template-columns:1fr 1fr;gap:0;min-height:260px;display:grid}.hero-image-wrap{position:relative;overflow:hidden}.hero-image-wrap img{object-fit:cover;width:100%;height:100%;transition:transform var(--t-slow);display:block}.section-card:hover .hero-image-wrap img{transform:scale(1.03)}.hero-image-wrap:after{content:"";background:var(--hero-overlay);pointer-events:none;position:absolute;inset:0}.hero-text{padding:var(--sp-4);justify-content:center;gap:var(--sp-1);flex-direction:column;display:flex}.hero-text h1{font-family:DM Serif Display,Georgia,serif;font-size:var(--fs-hero);color:var(--text-1);letter-spacing:-.01em;font-weight:400;line-height:1.15}.hero-text p{font-size:var(--fs-body);color:var(--text-2);margin-top:var(--sp-1);line-height:1.65}.hero-no-image{grid-template-columns:1fr}.hero-no-image .hero-text{padding:var(--sp-4)}.calendar-header{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.calendar-month{color:var(--text-1);font-family:DM Serif Display,Georgia,serif;font-size:1rem;font-weight:400}.calendar-nav{gap:4px;display:flex}.calendar-nav button{border-radius:var(--r-sm);border:1px solid var(--border);width:34px;height:34px;color:var(--text-2);cursor:pointer;transition:all var(--t-fast);background:0 0;justify-content:center;align-items:center;font-size:16px;display:flex}.calendar-nav button:hover{background:var(--bg-elevated);color:var(--text-1);border-color:var(--border-focus)}.calendar-grid{margin-bottom:var(--sp-3);grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.day-label{text-align:center;font-size:var(--fs-xs);color:var(--text-3);padding:var(--sp-1) 0;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.day-cell{aspect-ratio:1;font-size:var(--fs-sm);border-radius:var(--r-sm);cursor:pointer;transition:all var(--t-fast);color:var(--text-1);border:1px solid #0000;justify-content:center;align-items:center;font-weight:500;display:flex;position:relative}.day-cell:hover:not(.disabled):not(.selected):not(.empty){background:var(--bg-elevated);border-color:var(--border-focus)}.day-cell.selected{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 16px var(--accent-glow);font-weight:600}.day-cell.disabled{color:var(--text-3);cursor:not-allowed;opacity:.3}.day-cell.empty{cursor:default}.day-cell.today:not(.selected){border-color:var(--accent);color:var(--accent)}.time-slots-label{font-size:var(--fs-sm);color:var(--text-2);margin-bottom:var(--sp-1);font-weight:500}.time-slots{gap:var(--sp-1);flex-wrap:wrap;display:flex}.time-slot{padding:var(--sp-1) var(--sp-2);text-align:center;font-size:var(--fs-sm);border-radius:var(--r-pill);border:1px solid var(--border);color:var(--text-2);cursor:pointer;transition:all var(--t-fast);white-space:nowrap;background:0 0;font-family:inherit;font-weight:500}.time-slot:hover{border-color:var(--accent);color:var(--text-1);background:var(--accent-subtle)}.time-slot.selected{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.form-group{margin-bottom:var(--sp-2);flex-direction:column;gap:6px;display:flex}.form-group:last-child{margin-bottom:0}.form-label{font-size:var(--fs-xs);color:var(--text-2);text-transform:uppercase;letter-spacing:.8px;font-weight:600}.form-input{padding:14px var(--sp-2);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-1);font-size:var(--fs-body);transition:all var(--t-fast);outline:none;width:100%;font-family:inherit}.form-input::placeholder{color:var(--text-3)}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.form-input.error{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 12%, transparent)}.form-row{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.form-error{font-size:var(--fs-xs);color:var(--danger);margin-top:2px}.field-error{font-size:var(--fs-xs);color:var(--danger);margin-top:4px;animation:.2s fadeUp;display:block}.form-input-error{border-color:var(--danger)!important;box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 12%, transparent)!important}.phone-input-wrapper{gap:0;display:flex;position:relative}.phone-country-btn{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--r-sm) 0 0 var(--r-sm);cursor:pointer;font-family:inherit;font-size:var(--fs-sm);color:var(--text-1);transition:all var(--t-fast);white-space:nowrap;border-right:none;flex-shrink:0;align-items:center;gap:6px;padding:12px 10px;display:flex}.phone-country-btn:hover{background:var(--bg-elevated)}.phone-country-flag{font-size:18px;line-height:1}.phone-country-code{font-weight:500;font-size:var(--fs-xs);color:var(--text-2);font-family:Outfit,sans-serif}.phone-country-caret{color:var(--text-3);margin-left:2px;font-size:10px}.phone-input-field{border-radius:0 var(--r-sm) var(--r-sm) 0!important;border-left:none!important}.phone-input-field:focus{border-color:var(--accent)!important}.phone-input-wrapper:focus-within .phone-country-btn{border-color:var(--accent);box-shadow:-3px 0 0 0 var(--accent-glow)}.phone-dropdown{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-sm);z-index:9999;margin-top:0;animation:.15s fadeUp;overflow:hidden;box-shadow:0 8px 32px #00000040}.phone-dropdown-search{border-bottom:1px solid var(--border);padding:8px}.phone-dropdown-search-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text-1);font-size:var(--fs-sm);transition:border-color var(--t-fast);outline:none;padding:8px 10px;font-family:inherit}.phone-dropdown-search-input:focus{border-color:var(--accent)}.phone-dropdown-search-input::placeholder{color:var(--text-3)}.phone-dropdown-list{scrollbar-width:thin;scrollbar-color:var(--border) transparent;max-height:240px;overflow-y:auto}.phone-dropdown-item{cursor:pointer;width:100%;font-family:inherit;font-size:var(--fs-sm);color:var(--text-1);transition:background var(--t-fast);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px 12px;display:flex}.phone-dropdown-item:hover{background:var(--bg-elevated)}.phone-dropdown-item.selected{background:var(--accent-subtle);color:var(--accent)}.phone-dropdown-flag{flex-shrink:0;font-size:18px;line-height:1}.phone-dropdown-name{flex:1;font-weight:500}.phone-dropdown-dial{color:var(--text-3);font-size:var(--fs-xs);flex-shrink:0;font-family:Outfit,sans-serif}.phone-dropdown-empty{text-align:center;color:var(--text-3);font-size:var(--fs-sm);padding:16px}.processing-options{gap:var(--sp-1);flex-direction:column;display:flex}.processing-card{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r);border:1px solid var(--border);background:var(--glass);-webkit-backdrop-filter:blur(8px);cursor:pointer;transition:all var(--t-base);text-align:left;width:100%;color:inherit;font-family:inherit;display:flex}.processing-card:hover{border-color:var(--border-focus);background:var(--bg-elevated)}.processing-card.selected{border-color:var(--accent);background:var(--accent-subtle);box-shadow:0 0 20px var(--accent-glow)}.processing-radio{border:2px solid var(--border);width:20px;height:20px;transition:all var(--t-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.processing-card.selected .processing-radio{border-color:var(--accent)}.processing-radio-inner{background:var(--accent);width:10px;height:10px;transition:transform var(--t-base);border-radius:50%;transform:scale(0)}.processing-card.selected .processing-radio-inner{transform:scale(1)}.processing-info h4{font-size:var(--fs-body);margin-bottom:2px;font-weight:600}.processing-info p{font-size:var(--fs-xs);color:var(--text-2)}.processing-badge{border-radius:var(--r-pill);font-size:var(--fs-xs);letter-spacing:.3px;margin-left:auto;padding:5px 14px;font-weight:600}.processing-badge.free{background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success)}.processing-badge.paid{background:var(--accent-subtle);color:var(--accent)}.card-input-group{position:relative}.card-icon{color:var(--text-3);pointer-events:none;font-size:18px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.card-fields{margin-top:var(--sp-3)}.book-button{border-radius:var(--r);background:var(--accent);color:#fff;cursor:pointer;width:100%;transition:all var(--t-base);letter-spacing:.3px;border:none;padding:18px;font-family:inherit;font-size:1rem;font-weight:600;position:relative;overflow:hidden}.book-button:before{content:"";background:linear-gradient(105deg,#0000 40%,#ffffff26 50%,#0000 60%) 0 0/200% 100%;animation:3s ease-in-out infinite shimmer;position:absolute;inset:0}.book-button:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 8px 28px var(--accent-glow);transform:translateY(-2px)}.book-button:active:not(:disabled){transform:translateY(0)}.book-button:disabled{opacity:.4;cursor:not-allowed}.book-button:disabled:before{animation:none}.auth-note{padding:var(--sp-2);background:var(--accent-subtle);border-radius:var(--r-sm);border:1px solid color-mix(in srgb, var(--accent) 15%, transparent);align-items:flex-start;gap:12px;display:flex}.auth-note-icon{flex-shrink:0;margin-top:1px;font-size:16px}.auth-note p{font-size:var(--fs-xs);color:var(--text-2);line-height:1.55}.auth-note strong{color:var(--text-1)}.thankyou-container{min-height:100vh;padding:var(--sp-6) var(--sp-3);background:var(--bg-deep);justify-content:center;align-items:center;display:flex}.thankyou-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r);width:100%;max-width:480px;padding:var(--sp-4) var(--sp-4) var(--sp-3);box-shadow:var(--shadow-card)}.thankyou-header{text-align:center;padding-bottom:var(--sp-2)}.thankyou-icon{background:color-mix(in srgb, var(--success) 12%, transparent);width:56px;height:56px;margin:0 auto var(--sp-2);border-radius:50%;justify-content:center;align-items:center;display:flex}.thankyou-card h1{color:var(--text-1);margin:0 0 6px;font-family:DM Serif Display,Georgia,serif;font-size:1.4rem;font-weight:400}.thankyou-conf-id{font-size:var(--fs-xs);color:var(--text-3);letter-spacing:.5px;font-family:Outfit,sans-serif}.thankyou-divider{background:var(--border);height:1px;margin:var(--sp-2) 0}.thankyou-section-title{font-family:Outfit,sans-serif;font-size:var(--fs-section);text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);margin:0 0 var(--sp-1);font-weight:600}.thankyou-details{padding:var(--sp-1) var(--sp-2);background:var(--bg-input);border-radius:var(--r-sm)}.thankyou-detail-row{font-size:var(--fs-sm);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.thankyou-detail-row+.thankyou-detail-row{border-top:1px solid var(--border)}.thankyou-detail-row .label{color:var(--text-3)}.thankyou-detail-row .value{color:var(--text-1);text-align:right;font-weight:500}.thankyou-badge{border-radius:var(--r-pill);font-size:var(--fs-xs);letter-spacing:.3px;padding:2px 10px;font-weight:600;display:inline-block}.badge-standard{background:color-mix(in srgb, var(--text-3) 15%, transparent);color:var(--text-2)}.badge-express{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent)}.thankyou-next-steps{padding-top:var(--sp-1)}.thankyou-next-steps p{font-size:var(--fs-sm);color:var(--text-2);margin:4px 0 0;line-height:1.6}.loading-container{background:var(--bg-deep);justify-content:center;align-items:center;min-height:100vh;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.notfound-container{min-height:100vh;padding:var(--sp-6) var(--sp-3);background:var(--bg-deep);justify-content:center;align-items:center;display:flex}.notfound-card{text-align:center;max-width:400px}.notfound-card h1{color:var(--text-3);margin-bottom:var(--sp-1);font-family:DM Serif Display,Georgia,serif;font-size:3.5rem;font-weight:400}.notfound-card p{font-size:var(--fs-body);color:var(--text-2)}.auth-modal-dialog{background:0 0;border:none;width:fit-content;max-width:100vw;height:fit-content;max-height:100vh;margin:auto;padding:0;position:fixed;inset:0;overflow:visible}.auth-modal-dialog::backdrop{background:#00000080;animation:.2s fadeIn}.auth-modal-card{text-align:center;background:#fff;border-radius:8px;width:384px;max-width:calc(100vw - 48px);padding:40px 40px 32px;font-family:Outfit,Google Sans,Roboto,sans-serif;animation:.25s modalSlideUp;box-shadow:0 2px 6px 2px #3c404326,0 1px 2px #3c40434d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.auth-modal-logo{margin-bottom:16px}.auth-modal-logo svg{width:24px;height:24px}.auth-modal-title{color:#202124;letter-spacing:0;margin:0 0 12px;font-family:Outfit,Google Sans,Roboto,sans-serif;font-size:24px;font-weight:400}.auth-modal-body{color:#5f6368;margin:0 0 16px;font-size:14px;line-height:1.6}.auth-modal-powered{color:#9aa0a6;letter-spacing:.2px;margin:0 0 24px;font-size:11px}.auth-modal-actions{justify-content:flex-end;gap:8px;display:flex}.auth-modal-btn-text{color:#1a73e8;cursor:pointer;letter-spacing:.25px;background:0 0;border:none;border-radius:4px;padding:8px 16px;font-family:Outfit,Google Sans,Roboto,sans-serif;font-size:14px;font-weight:500;transition:background .15s}.auth-modal-btn-text:hover{background:#1a73e80a}.auth-modal-btn-primary{color:#fff;cursor:pointer;letter-spacing:.25px;background:#1a73e8;border:none;border-radius:4px;padding:8px 24px;font-family:Outfit,Google Sans,Roboto,sans-serif;font-size:14px;font-weight:500;transition:background .15s,box-shadow .15s}.auth-modal-btn-primary:hover{background:#1765cc;box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.thankyou-icon svg{width:32px;height:32px}.thankyou-icon svg path{stroke:var(--success,#34a853);stroke-width:2px;stroke-dasharray:48;stroke-dashoffset:48px;fill:none;animation:.6s .3s forwards checkDraw}@keyframes checkDraw{to{stroke-dashoffset:0;fill:color-mix(in srgb, var(--success,#34a853) 15%, transparent)}}@media (max-width:600px){.booking-page{padding:var(--sp-3) var(--sp-2) var(--sp-6)}.hero-layout{grid-template-columns:1fr;min-height:auto}.hero-image-wrap{height:180px}.hero-text{padding:var(--sp-3)}.section-body{padding:var(--sp-2) var(--sp-2) var(--sp-3)}.form-row{grid-template-columns:1fr}.time-slots{gap:6px}.time-slot{font-size:var(--fs-xs);padding:6px 12px}.thankyou-card{padding:var(--sp-4) var(--sp-3)}.book-button{padding:16px}}
