@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600&family=Playfair+Display:ital,wght@0,400;0,600;1,400&display=swap";.booking-page-overlay{background:var(--color-bg);z-index:500;flex-direction:column;animation:.5s forwards pageFadeIn;display:flex;position:fixed;inset:0;overflow:hidden auto}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}.booking-page-header{border-bottom:1px solid #ffffff0d;justify-content:flex-end;align-items:center;padding:2rem 4rem;display:flex;position:relative}.booking-page-centered-logo{position:absolute;top:60%;left:50%;transform:translate(-50%,-50%)scale(.85)}.booking-page-close{color:#ffffff80;font-family:var(--font-sans);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;font-size:.8rem;transition:color .3s}.booking-page-close:hover{color:#fff}.booking-page-content{flex-direction:column;flex:1;width:100%;max-width:1200px;margin:0 auto;padding:4rem 2rem;display:flex}.step-container{width:100%}.slide-in{animation:.6s cubic-bezier(.16,1,.3,1) forwards slideUpFade}@keyframes slideUpFade{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.booking-page-title{font-family:var(--font-serif);color:#fff;margin-bottom:1rem;font-size:clamp(3rem,5vw,4.5rem);font-weight:400;line-height:1.1}.booking-page-subtitle{font-family:var(--font-sans);color:#fff9;letter-spacing:.05em;margin-bottom:4rem;font-size:1.1rem}.services-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2.5rem;display:grid}.service-card{cursor:pointer;background:#ffffff05;border:1px solid #ffffff0d;flex-direction:column;height:100%;transition:all .4s;display:flex}.service-card:hover{background:#ffffff0a;border-color:#fff3;transform:translateY(-5px)}.service-image-wrapper{aspect-ratio:16/10;width:100%;position:relative;overflow:hidden}.service-image{object-fit:cover;filter:grayscale(40%);width:100%;height:100%;transition:transform .7s}.service-card:hover .service-image{filter:grayscale(0%);transform:scale(1.05)}.service-price-tag{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:var(--color-accent);font-family:var(--font-serif);background:#000000b3;border:1px solid #d4af374d;padding:.5rem 1rem;font-size:1.2rem;position:absolute;top:1rem;right:1rem}.service-details{flex-direction:column;flex:1;padding:2rem;display:flex}.service-header{justify-content:space-between;align-items:baseline;margin-bottom:1rem;display:flex}.service-title{font-family:var(--font-serif);color:#fff;font-size:1.6rem;font-weight:400}.service-duration{font-family:var(--font-sans);color:#ffffff80;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}.service-description{font-family:var(--font-sans);color:#ffffffb3;flex:1;margin-bottom:2rem;font-size:.95rem;line-height:1.6}.service-select-btn{color:#fff;text-transform:uppercase;letter-spacing:.15em;cursor:pointer;background:0 0;border:1px solid #fff3;width:100%;padding:1rem;font-size:.85rem;transition:all .3s}.service-card:hover .service-select-btn{color:#000;background:#fff}.form-step{max-width:700px;margin:0 auto}.back-btn{color:#ffffff80;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;background:0 0;border:none;margin-bottom:3rem;padding:0;font-size:.9rem;transition:color .3s}.back-btn:hover{color:#fff}.booking-full-form{flex-direction:column;gap:2rem;margin-top:3rem;display:flex}.form-row{gap:2rem;display:flex}.form-group{flex-direction:column;flex:1;gap:.8rem;display:flex}.form-group label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.1em;color:#ffffffb3;font-size:.85rem}.form-group input{color:#fff;font-family:var(--font-sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#ffffff05;border:1px solid #ffffff1a;outline:none;padding:1.2rem;font-size:1rem;transition:border-color .3s}.form-group input:focus{border-color:var(--color-accent)}.form-group input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.form-group input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.form-group input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.form-group input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}.booking-confirm-btn{color:#000;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.2em;cursor:pointer;background:#fff;border:none;width:100%;margin-top:2rem;padding:1.25rem 2rem;font-size:.9rem;font-weight:500;transition:all .3s}.booking-confirm-btn:hover{background:var(--color-accent);color:#000}.success-step{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:50vh;display:flex}:root{--color-bg:#030303;--color-text:#fff;--color-accent:#d4af37;--font-sans:"Inter", sans-serif;--font-serif:"Playfair Display", serif}*{box-sizing:border-box;margin:0;padding:0}body,html{background-color:var(--color-bg);width:100%;color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.canvas-container{z-index:0;background-color:var(--color-bg);pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0}.experience-canvas{object-fit:cover;filter:brightness(.7)contrast(1.1);width:100%;height:100%;display:block}.loader{background:var(--color-bg);z-index:10;width:100vw;height:100vh;color:var(--color-text);font-family:var(--font-sans);letter-spacing:.2em;text-transform:uppercase;justify-content:center;align-items:center;font-size:.9rem;font-weight:300;animation:2s infinite pulse;display:flex;position:absolute;top:0;left:0}@keyframes pulse{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.scroll-container{z-index:1;width:100%;position:relative}.chapter{width:100%;height:300vh;position:relative}.content-container{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100vh;padding:2rem;display:flex;position:sticky;top:0}.title{font-family:var(--font-serif);letter-spacing:-.02em;text-shadow:0 4px 20px #000c;margin-bottom:1rem;font-size:clamp(3rem,6vw,6rem);font-weight:400;line-height:1.1}.subtitle{font-family:var(--font-sans);letter-spacing:.05em;color:#fffc;text-shadow:0 2px 10px #0009;max-width:600px;font-size:clamp(1rem,1.5vw,1.5rem);font-weight:300}.final-ui{pointer-events:auto}.cta-button{color:#fff;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.25em;cursor:pointer;background-color:#0000;border:1px solid #fff6;margin-top:3rem;padding:1.25rem 5rem;font-size:.85rem;font-weight:400;transition:all .4s}.cta-button:hover{background-color:#ffffff0d;border-color:#fffc}.brand-logo-container{pointer-events:none;text-shadow:0 4px 15px #000c;animation:2s forwards logoFadeIn}.main-page-logo{z-index:100;position:fixed;top:2rem;left:50%;transform:translate(-50%)}.brand-logo-mark{filter:drop-shadow(0 2px 5px #000c);margin-bottom:.2rem}.brand-logo-text{font-family:var(--font-serif);letter-spacing:.35em;color:var(--color-accent);text-transform:uppercase;font-size:1.6rem;line-height:1}.brand-logo-subtext{font-family:var(--font-sans);letter-spacing:.4em;color:#fff9;text-transform:uppercase;margin-left:.4em;font-size:.6rem}@keyframes logoFadeIn{0%{opacity:0;filter:blur(10px);transform:translate(-50%,-10px)}to{opacity:1;filter:blur();transform:translate(-50%)}}.nav-book-btn{z-index:1000;color:#fff;font-family:var(--font-sans);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:0 0;border:1px solid #ffffff4d;padding:.8rem 1.5rem;font-size:.75rem;font-weight:500;transition:all .4s;animation:2s forwards navFadeIn;position:fixed;top:2rem;right:3rem}.nav-book-btn:hover{color:#000;background:#fff;border-color:#fff}@keyframes navFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
