*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--sage:#b8d8ba;--sage-dark:#8fb891;--sage-dark-2:#7aa67c;--sage-light:#d4e8d5;--sage-50:#f0f7f0;--powder:#a8d8ea;--powder-dark:#7ec0d9;--powder-light:#c8e8f4;--powder-50:#eef7fb;--cream:#fff8f0;--cream-dark:#f5ede3;--charcoal:#2d3436;--charcoal-light:#636e72;--charcoal-lighter:#8a9499;--rose:#f0c9c9;--rose-light:#f8e0e0;--rose-50:#fdf5f5;--gold:#c9b458;--gold-light:#e8dba0;--gold-50:#fbf8ed;--white:#fff;--gradient-sage:linear-gradient(135deg, #b8d8ba 0%, #a8d8ea 100%);--gradient-hero:linear-gradient(180deg, #fff8f033 0%, #fff8f0e0 100%);--gradient-sage-subtle:linear-gradient(135deg, #b8d8ba14 0%, #a8d8ea14 100%);--gradient-cta:linear-gradient(135deg, #b8d8ba 0%, #8fb891 100%);--font-heading:"DM Serif Display", Georgia, serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:50px;--radius-full:50%;--shadow-sm:0 1px 3px #2d34360a;--shadow-md:0 4px 12px #2d34360f;--shadow-lg:0 8px 24px #2d343614;--shadow-xl:0 16px 48px #2d34361a;--ease:cubic-bezier(.4, 0, .2, 1);--duration:.3s;--duration-slow:.6s;--max-width:1200px;--nav-height:72px}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--charcoal);background-color:var(--cream);font-size:16px;font-weight:400;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--charcoal);font-weight:400;line-height:1.2}h1{font-size:clamp(2.5rem,5vw,4rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}h4{font-size:clamp(1.25rem,2vw,1.5rem)}p{color:var(--charcoal-light);line-height:1.75}a{color:inherit;transition:color var(--duration) var(--ease);text-decoration:none}button{cursor:pointer;font-family:var(--font-body);background:0 0;border:none;font-size:1rem}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}input,textarea,select{font-family:var(--font-body);background:0 0;border:none;outline:none;font-size:1rem}.container{width:100%;max-width:var(--max-width);padding:0 var(--space-lg);margin:0 auto}.section{padding:var(--space-5xl) 0}.section-subtitle{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--sage-dark);margin-bottom:var(--space-md);font-size:.8125rem;font-weight:500}.section-title{margin-bottom:var(--space-lg)}.section-description{max-width:560px;margin-bottom:var(--space-3xl);font-size:1.0625rem}.btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-pill);letter-spacing:.02em;transition:all var(--duration) var(--ease);white-space:nowrap;padding:14px 32px;font-size:.9375rem;font-weight:500;display:inline-flex}.btn-primary{background-color:var(--sage);color:var(--charcoal)}.btn-primary:hover{background-color:var(--sage-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{color:var(--charcoal);border:1.5px solid var(--sage);background-color:#0000}.btn-secondary:hover{background-color:var(--sage-50);border-color:var(--sage-dark)}.btn-ghost{color:var(--charcoal-light);background-color:#0000}.btn-ghost:hover{color:var(--charcoal);background-color:var(--sage-50)}.btn-lg{padding:16px 40px;font-size:1rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes gentlePulse{0%,to{transform:scale(1)}50%{transform:scale(1.025)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes circleReveal{0%{clip-path:circle(0%);opacity:0}to{clip-path:circle(50%);opacity:1}}@keyframes driftUp{0%{opacity:.7;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-100vh)scale(.3)}}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes checkDraw{0%{stroke-dashoffset:48px}to{stroke-dashoffset:0}}.animate-on-scroll{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(24px)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.animate-on-scroll.delay-1{transition-delay:.1s}.animate-on-scroll.delay-2{transition-delay:.2s}.animate-on-scroll.delay-3{transition-delay:.3s}.animate-on-scroll.delay-4{transition-delay:.4s}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--sage);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--sage-dark)}::selection{background-color:var(--sage-light);color:var(--charcoal)}:focus-visible{outline:2px solid var(--sage);outline-offset:2px;border-radius:var(--radius-sm)}@media (width<=768px){.container{padding:0 var(--space-md)}.section{padding:var(--space-3xl) 0}}.navbar{z-index:100;transition:background-color .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);position:fixed;top:0;left:0;right:0}.navbar--transparent{background:0 0;border-bottom:1px solid #0000}.navbar--solid{-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-sm);background:#fff8f0eb;border-bottom:1px solid #b8d8ba33}.navbar-inner{height:var(--nav-height);justify-content:space-between;align-items:center;display:flex}.navbar-brand{font-family:var(--font-heading);color:var(--charcoal);z-index:101;align-items:center;gap:10px;font-size:1.5rem;display:flex}.navbar--transparent .navbar-brand{color:var(--charcoal)}.navbar-brand svg{color:var(--sage-dark)}.navbar-links{align-items:center;gap:36px;display:flex}.navbar-links a{color:var(--charcoal-light);letter-spacing:.01em;transition:color var(--duration) var(--ease);font-size:.875rem;font-weight:400}.navbar-links a:hover{color:var(--charcoal)}.navbar-dash-link{color:var(--charcoal-lighter)!important;font-size:.8125rem!important}.navbar-cta{animation:3s ease-in-out infinite gentlePulse;letter-spacing:.04em!important;padding:10px 24px!important;font-size:.8125rem!important}.navbar-cta:hover{animation:none}.navbar-toggle{color:var(--charcoal);z-index:101;padding:8px;display:none}@media (width<=768px){.navbar-toggle{display:block}.navbar-links{background:var(--cream);z-index:100;flex-direction:column;justify-content:center;gap:32px;display:none;position:fixed;inset:0}.navbar-links.open{animation:fadeIn .3s var(--ease);display:flex}.navbar-links a{font-size:1.25rem}.navbar-cta{padding:14px 36px!important;font-size:1rem!important;animation:none!important}}.footer{background:var(--charcoal);color:var(--cream-dark);padding:var(--space-4xl) 0 var(--space-xl);margin-top:auto}.footer-inner{gap:var(--space-3xl);grid-template-columns:1.5fr 1fr 1fr;display:grid}.footer-brand p{margin-top:var(--space-md);color:var(--charcoal-lighter);max-width:300px;font-size:.875rem;line-height:1.7}.footer-logo{font-family:var(--font-heading);color:var(--cream);align-items:center;gap:8px;font-size:1.25rem;display:flex}.footer-logo svg{color:var(--sage)}.footer-heading{font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--charcoal-lighter);margin-bottom:var(--space-lg);font-size:.75rem;font-weight:500}.footer-col{flex-direction:column;display:flex}.footer-col a,.footer-col span{color:var(--cream-dark);margin-bottom:var(--space-sm);transition:color var(--duration) var(--ease);font-size:.875rem}.footer-col a:hover{color:var(--sage-light)}.footer-bottom{margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid #fff8f014;grid-column:1/-1}.footer-bottom p{color:var(--charcoal-lighter);font-size:.8125rem}@media (width<=768px){.footer-inner{gap:var(--space-2xl);text-align:center;grid-template-columns:1fr}.footer-brand{align-items:center}.footer-brand p{max-width:100%}.footer-logo{justify-content:center}.footer-col{align-items:center}}.hero{justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;position:absolute;inset:0}.hero-bg-img{object-fit:cover;object-position:center 40%;width:100%;height:100%}.hero-overlay{background:linear-gradient(#fff8f059 0%,#fff8f0bf 50%,#fff8f0f2 100%);position:absolute;inset:0}.hero-blob{z-index:1;pointer-events:none;width:500px;height:500px;animation:8s ease-in-out infinite float;position:absolute;top:-10%;right:-5%}.hero-content{z-index:2;text-align:center;max-width:680px;padding:var(--space-5xl) 0;margin:0 auto;position:relative}.hero-label{letter-spacing:.2em;text-transform:uppercase;color:var(--sage-dark);margin-bottom:var(--space-xl);animation:fadeInUp .8s var(--ease) both;font-size:.8125rem;font-weight:500}.hero-title{color:var(--charcoal);margin-bottom:var(--space-xl);animation:fadeInUp .8s var(--ease) .15s both;font-size:clamp(3rem,7vw,5rem);line-height:1.05}.hero-subtitle{color:var(--charcoal-light);max-width:520px;margin:0 auto var(--space-2xl);animation:fadeInUp .8s var(--ease) .3s both;font-size:1.125rem;line-height:1.8}.hero-cta{animation:fadeInUp .8s var(--ease) .45s both, gentlePulse 3.5s ease-in-out 1.5s infinite}.hero-cta:hover{animation:none;transform:translateY(-2px)}@media (width<=768px){.hero{min-height:90vh}.hero-content{padding:calc(var(--nav-height) + var(--space-3xl)) var(--space-md) var(--space-3xl)}.hero-blob{width:300px;height:300px;top:-5%;right:-15%}}.about-grid{gap:var(--space-4xl);grid-template-columns:1fr 1.2fr;align-items:center;display:grid}.about-image-wrap{position:relative}.about-blob{background:var(--sage-50);z-index:0;border-radius:30% 70% 60% 40%/50% 40% 60% 50%;position:absolute;inset:-20px 20px 20px -20px}.about-image{z-index:1;object-fit:cover;border-radius:var(--radius-xl);width:100%;height:480px;box-shadow:var(--shadow-lg);position:relative}.about-accent-line{background:var(--powder);z-index:2;border-radius:2px;width:4px;height:80px;position:absolute;bottom:40px;left:-12px}.about-content .section-subtitle,.about-content .section-title{text-align:left}.about-text{margin-bottom:var(--space-2xl);font-size:1.0625rem;line-height:1.85}.about-features{gap:var(--space-lg);flex-direction:column;display:flex}.about-feature{gap:var(--space-md);align-items:flex-start;display:flex}.about-feature-icon{border-radius:var(--radius-md);background:var(--sage-50);width:44px;height:44px;color:var(--sage-dark);flex-shrink:0;justify-content:center;align-items:center;display:flex}.about-feature-icon--powder{background:var(--powder-50);color:var(--powder-dark)}.about-feature-icon--rose{background:var(--rose-50);color:#d4a0a0}.about-feature h4{font-family:var(--font-body);color:var(--charcoal);margin-bottom:2px;font-size:.9375rem;font-weight:600}.about-feature p{color:var(--charcoal-lighter);font-size:.875rem}@media (width<=768px){.about-grid{gap:var(--space-2xl);grid-template-columns:1fr}.about-image{height:320px}.about-blob{inset:-12px 12px 12px -12px}.about-accent-line{display:none}}.journey{background:var(--white)}.section-header{text-align:center;margin-bottom:var(--space-4xl)}.section-header .section-description{margin-left:auto;margin-right:auto}.journey-steps{justify-content:center;align-items:flex-start;gap:0;max-width:960px;margin:0 auto;display:flex}.journey-step{text-align:center;padding:0 var(--space-xl);flex:1;position:relative}.journey-number{border-radius:var(--radius-full);background:var(--sage);width:36px;height:36px;color:var(--charcoal);margin:0 auto var(--space-lg);justify-content:center;align-items:center;font-size:.875rem;font-weight:600;display:flex}.journey-icon{border-radius:var(--radius-lg);background:var(--sage-50);width:64px;height:64px;color:var(--sage-dark);margin:0 auto var(--space-lg);justify-content:center;align-items:center;display:flex}.journey-step h3{margin-bottom:var(--space-sm);font-size:1.25rem}.journey-step p{max-width:240px;margin:0 auto;font-size:.9375rem}.journey-line{background:var(--sage-light);flex-shrink:0;width:1px;height:60px;margin-top:50px;display:none}@media (width>=769px){.journey-line{background:linear-gradient(90deg, transparent, var(--sage), transparent);width:48px;height:1px;margin-top:72px;display:block}}@media (width<=768px){.journey-steps{align-items:center;gap:var(--space-2xl);flex-direction:column}.journey-step{max-width:320px}.journey-line{display:block}}.pricing{background:var(--cream)}.pricing-toggle{margin-bottom:var(--space-3xl);background:var(--white);border-radius:var(--radius-pill);width:fit-content;box-shadow:var(--shadow-sm);justify-content:center;gap:4px;margin-left:auto;margin-right:auto;padding:4px;display:flex}.pricing-toggle-btn{border-radius:var(--radius-pill);color:var(--charcoal-light);transition:all var(--duration) var(--ease);padding:10px 28px;font-size:.875rem;font-weight:500}.pricing-toggle-btn.active{background:var(--sage);color:var(--charcoal)}.pricing-cards{gap:var(--space-xl);grid-template-columns:repeat(3,1fr);max-width:960px;margin:0 auto;display:grid}.pricing-card{background:var(--white);border-radius:var(--radius-xl);padding:var(--space-2xl);border:1.5px solid var(--sage-light);transition:all var(--duration) var(--ease);flex-direction:column;display:flex;position:relative}.pricing-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.pricing-card:nth-child(3){border-color:var(--rose)}.pricing-card--featured{border-color:var(--sage);box-shadow:var(--shadow-md)}.pricing-badge{background:var(--gold);color:var(--white);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius-pill);white-space:nowrap;padding:5px 16px;font-size:.6875rem;font-weight:600;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.pricing-card-header{margin-bottom:var(--space-xl)}.pricing-card-header h3{margin-bottom:4px;font-size:1.375rem}.pricing-card-desc{color:var(--charcoal-lighter);font-size:.875rem}.pricing-amount{align-items:baseline;gap:2px;margin-bottom:4px;display:flex}.pricing-dollar{color:var(--charcoal-lighter);margin-right:2px;font-size:1.25rem;font-weight:500}.pricing-value{font-family:var(--font-heading);color:var(--charcoal);font-size:3rem;line-height:1}.pricing-per{color:var(--charcoal-lighter);margin-bottom:var(--space-xl);align-items:center;gap:var(--space-sm);font-size:.8125rem;display:flex}.pricing-save{background:var(--sage-50);color:var(--sage-dark);border-radius:var(--radius-pill);padding:2px 8px;font-size:.6875rem;font-weight:600}.pricing-features{margin-bottom:var(--space-xl);flex:1}.pricing-features li{color:var(--charcoal-light);padding:8px 0 8px 20px;font-size:.875rem;position:relative}.pricing-features li:before{content:"";border-radius:var(--radius-full);background:var(--sage);width:6px;height:6px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.pricing-btn{text-align:center;width:100%}@media (width<=768px){.pricing-cards{grid-template-columns:1fr;max-width:400px}.pricing-card--featured{order:-1}}.testimonials{background:var(--white)}.testimonial-wrap{text-align:center;max-width:640px;min-height:280px;margin:0 auto;position:relative}.testimonial-quote-icon{color:var(--sage-light);margin-bottom:var(--space-xl)}.testimonial-slider{min-height:180px;position:relative}.testimonial-item{opacity:0;transition:opacity .6s var(--ease), transform .6s var(--ease);pointer-events:none;position:absolute;top:0;left:0;right:0;transform:translateY(8px)}.testimonial-item.active{opacity:1;pointer-events:auto;position:relative;transform:translateY(0)}.testimonial-text{font-family:var(--font-heading);color:var(--charcoal);margin-bottom:var(--space-xl);font-size:1.375rem;font-style:italic;line-height:1.7}.testimonial-author{justify-content:center;align-items:center;gap:var(--space-md);display:flex}.testimonial-avatar{border-radius:var(--radius-full);background:var(--sage-light);width:40px;height:40px;color:var(--charcoal);justify-content:center;align-items:center;font-size:.875rem;font-weight:600;display:flex}.testimonial-author span{color:var(--charcoal-light);font-size:.9375rem;font-weight:500}.testimonial-dots{margin-top:var(--space-xl);justify-content:center;gap:8px;display:flex}.testimonial-dot{border-radius:var(--radius-full);background:var(--sage-light);width:8px;height:8px;transition:all var(--duration) var(--ease);padding:0}.testimonial-dot.active{background:var(--sage-dark);border-radius:4px;width:24px}@media (width<=768px){.testimonial-text{font-size:1.125rem}}.cta{padding:var(--space-5xl) 0}.cta-inner{background:var(--gradient-sage);padding:var(--space-4xl) 0}.cta-content{text-align:center}.cta-content h2{color:var(--charcoal);margin-bottom:var(--space-md);font-size:clamp(2rem,4vw,2.75rem)}.cta-content p{color:var(--charcoal-light);margin-bottom:var(--space-2xl);font-size:1.0625rem}.cta-btn{box-shadow:var(--shadow-md);background:var(--white)!important;color:var(--charcoal)!important}.cta-btn:hover{box-shadow:var(--shadow-lg)!important;transform:translateY(-2px)!important}@media (width<=768px){.cta,.cta-inner{padding:var(--space-3xl) 0}}.booking-page{padding:calc(var(--nav-height) + var(--space-3xl)) 0 var(--space-4xl);background:var(--cream);min-height:100vh}.booking-header{text-align:center;margin-bottom:var(--space-3xl)}.booking-header h1{margin-bottom:var(--space-sm)}.booking-header-desc{max-width:480px;margin:0 auto;font-size:1.0625rem}.booking-step{max-width:960px;margin:0 auto var(--space-2xl)}.booking-step-label{letter-spacing:.15em;text-transform:uppercase;color:var(--sage-dark);margin-bottom:var(--space-md);align-items:center;gap:var(--space-md);font-size:.8125rem;font-weight:500;display:flex}.booking-step-count{letter-spacing:.05em;text-transform:none;color:var(--charcoal-lighter);background:var(--sage-50);border-radius:var(--radius-pill);padding:2px 10px;font-size:.75rem}.duration-toggle{background:var(--white);border-radius:var(--radius-pill);width:fit-content;box-shadow:var(--shadow-sm);gap:4px;padding:4px;display:flex}.duration-btn{border-radius:var(--radius-pill);color:var(--charcoal-light);transition:all var(--duration) var(--ease);padding:12px 28px;font-size:.875rem;font-weight:500}.duration-btn.active{background:var(--sage);color:var(--charcoal)}.package-cards{gap:var(--space-md);grid-template-columns:repeat(3,1fr);display:grid}.package-card{background:var(--white);border:1.5px solid var(--cream-dark);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);text-align:center;transition:all var(--duration) var(--ease);flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}.package-card:hover{border-color:var(--sage-light)}.package-card.active{background:var(--sage);border-color:var(--sage);color:var(--charcoal)}.package-card.active .package-price{color:var(--charcoal)}.package-name{font-size:.9375rem;font-weight:500}.package-price{font-family:var(--font-heading);color:var(--charcoal);font-size:1.5rem}.package-badge{background:var(--gold);color:var(--white);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-pill);padding:3px 8px;font-size:.625rem;font-weight:600;position:absolute;top:-10px;right:-6px}.package-badge--rose{background:var(--rose);color:var(--charcoal)}.booking-layout{gap:var(--space-xl);grid-template-columns:1fr 1fr;display:grid}.booking-calendar{background:var(--white);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-sm)}.calendar-nav{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.calendar-nav h3{font-size:1rem}.calendar-nav button{border-radius:var(--radius-full);width:36px;height:36px;color:var(--charcoal-light);transition:all var(--duration) var(--ease);justify-content:center;align-items:center;display:flex}.calendar-nav button:hover:not(:disabled){background:var(--sage-50);color:var(--sage-dark)}.calendar-nav button:disabled{opacity:.3;cursor:not-allowed}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-day-label{text-align:center;color:var(--charcoal-lighter);text-transform:uppercase;letter-spacing:.05em;padding:8px 0;font-size:.6875rem;font-weight:500}.calendar-day{aspect-ratio:1;border-radius:var(--radius-md);color:var(--charcoal);transition:all .2s var(--ease);justify-content:center;align-items:center;font-size:.875rem;font-weight:500;display:flex}.calendar-day:not(.disabled):not(.empty):hover{background:var(--sage-50)}.calendar-day.disabled{color:var(--cream-dark);cursor:not-allowed}.calendar-day.empty{cursor:default}.calendar-day.selected{background:var(--sage);color:var(--charcoal);font-weight:600}.calendar-day.today:not(.selected){background:var(--powder-50);color:var(--powder-dark);font-weight:600}.booking-slots{background:var(--white);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.slots-date{margin-bottom:4px;font-size:1.125rem}.slots-count{color:var(--charcoal-lighter);margin-bottom:var(--space-lg);font-size:.8125rem}.slots-grid{grid-template-columns:repeat(2,1fr);gap:8px;max-height:320px;padding-right:4px;display:grid;overflow-y:auto}.slot-btn{border-radius:var(--radius-pill);border:1.5px solid var(--cream-dark);color:var(--charcoal-light);transition:all .2s var(--ease);text-align:center;padding:10px 16px;font-size:.8125rem;font-weight:500}.slot-btn:hover{border-color:var(--sage);color:var(--charcoal)}.slot-btn.selected{background:var(--sage);border-color:var(--sage);color:var(--charcoal);font-weight:600}.slot-add-btn{margin-top:var(--space-md);width:100%}.no-slots,.no-date-selected{text-align:center;padding:var(--space-3xl) var(--space-lg);color:var(--charcoal-lighter);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.no-slots p,.no-date-selected p{color:var(--charcoal-light);margin-top:var(--space-md);font-size:.9375rem;font-weight:500}.no-slots span,.no-date-selected span{color:var(--charcoal-lighter);margin-top:4px;font-size:.8125rem}.selected-slots{max-width:960px;margin:0 auto var(--space-2xl)}.selected-slots-list{flex-wrap:wrap;gap:8px;display:flex}.selected-slot-chip{background:var(--sage-50);border:1px solid var(--sage-light);border-radius:var(--radius-pill);color:var(--charcoal);align-items:center;gap:8px;padding:6px 12px 6px 16px;font-size:.8125rem;display:flex}.selected-slot-chip button{border-radius:var(--radius-full);width:20px;height:20px;color:var(--charcoal-light);transition:all var(--duration) var(--ease);justify-content:center;align-items:center;display:flex}.selected-slot-chip button:hover{background:var(--sage);color:var(--charcoal)}.booking-summary{align-items:flex-end;gap:var(--space-xl);max-width:960px;margin:0 auto;display:flex}.summary-card{background:var(--white);border:1.5px dashed var(--sage-light);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);flex:1}.summary-line{color:var(--charcoal-light);justify-content:space-between;padding:8px 0;font-size:.875rem;display:flex}.summary-line--discount{color:var(--sage-dark)}.summary-line--total{border-top:1px solid var(--cream-dark);color:var(--charcoal);margin-top:8px;padding-top:12px;font-size:1rem;font-weight:600}.summary-per-session{text-align:right;color:var(--charcoal-lighter);margin-top:4px;font-size:.75rem}.booking-continue{white-space:nowrap}.booking-continue:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}@media (width<=768px){.booking-page{padding:calc(var(--nav-height) + var(--space-xl)) 0 var(--space-3xl)}.package-cards{grid-template-columns:1fr;max-width:360px}.booking-layout{grid-template-columns:1fr}.booking-calendar,.booking-slots{padding:var(--space-lg)}.booking-summary{flex-direction:column;align-items:stretch}.booking-continue{width:100%}}.checkout-page{padding:calc(var(--nav-height) + var(--space-2xl)) 0 var(--space-4xl);background:var(--cream);min-height:100vh}.back-link{color:var(--charcoal-lighter);margin-bottom:var(--space-2xl);transition:color var(--duration) var(--ease);align-items:center;gap:6px;padding:6px 0;font-size:.8125rem;font-weight:500;display:inline-flex}.back-link:hover{color:var(--charcoal)}.checkout-layout{gap:var(--space-2xl);grid-template-columns:1.2fr 1fr;align-items:start;max-width:960px;margin:0 auto;display:grid}.checkout-form{background:var(--white);border-radius:var(--radius-xl);padding:var(--space-2xl);box-shadow:var(--shadow-sm)}.checkout-form h2{margin-bottom:var(--space-2xl);font-size:1.75rem}.form-group{margin-bottom:var(--space-lg)}.form-group label{color:var(--charcoal);margin-bottom:6px;font-size:.8125rem;font-weight:500;display:block}.form-optional{color:var(--charcoal-lighter);font-weight:400}.form-group input,.form-group textarea{border:1.5px solid var(--cream-dark);border-radius:var(--radius-md);width:100%;color:var(--charcoal);background:var(--white);transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);padding:12px 16px;font-size:.9375rem}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--charcoal-lighter)}.form-group input:focus,.form-group textarea:focus{border-color:var(--sage);box-shadow:0 0 0 3px #b8d8ba33}.form-group input.has-error{border-color:var(--rose)}.form-group textarea{resize:vertical;min-height:80px}.form-error{color:#d4776b;margin-top:4px;font-size:.75rem;display:block}.payment-section{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--cream-dark)}.payment-section h3{margin-bottom:var(--space-lg);align-items:center;gap:8px;font-size:1.125rem;display:flex}.payment-section h3 svg{color:var(--sage-dark)}.stripe-placeholder{background:var(--cream);border:1.5px dashed var(--cream-dark);border-radius:var(--radius-md);padding:var(--space-lg)}.stripe-field{margin-bottom:var(--space-sm)}.stripe-mock label{color:var(--charcoal-lighter);margin-bottom:4px;font-size:.75rem;font-weight:500;display:block}.stripe-mock input{border:1px solid var(--cream-dark);border-radius:var(--radius-sm);background:var(--white);width:100%;color:var(--charcoal-lighter);padding:10px 14px;font-size:.875rem}.stripe-row{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.stripe-note{margin-top:var(--space-md);color:var(--charcoal-lighter);align-items:center;gap:6px;font-size:.75rem;display:flex}.checkout-submit{width:100%;margin-top:var(--space-xl)}.checkout-submit:disabled{opacity:.6;cursor:wait}.spinner{border:2px solid #2d343633;border-top-color:var(--charcoal);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.order-card{background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden}.order-card-header{padding:var(--space-lg) var(--space-xl);background:var(--sage-50);border-bottom:1px solid var(--sage-light);font-family:var(--font-heading);color:var(--charcoal);align-items:center;gap:10px;font-size:1.0625rem;display:flex}.order-card-header svg{color:var(--sage-dark)}.order-card-body{padding:var(--space-lg) var(--space-xl)}.order-row{border-bottom:1px solid var(--cream-dark);justify-content:space-between;padding:10px 0;display:flex}.order-row:last-child{border-bottom:none}.order-label{color:var(--charcoal-lighter);font-size:.8125rem}.order-value{color:var(--charcoal);font-size:.875rem;font-weight:500}.order-row--discount .order-value{color:var(--sage-dark)}.order-sessions{padding:var(--space-md) 0;border-bottom:1px solid var(--cream-dark)}.order-sessions .order-label{margin-bottom:8px;display:block}.order-session-item{color:var(--charcoal-light);align-items:center;gap:6px;padding:4px 0;font-size:.8125rem;display:flex}.order-session-item svg{color:var(--sage)}.order-card-footer{padding:var(--space-lg) var(--space-xl);background:var(--sage-50);border-top:1px solid var(--sage-light);color:var(--charcoal-light);justify-content:space-between;align-items:center;font-size:.9375rem;display:flex}.order-total{font-family:var(--font-heading);color:var(--charcoal);font-size:1.5rem}.order-per-session{text-align:right;padding:0 var(--space-xl) var(--space-md);color:var(--charcoal-lighter);font-size:.75rem}.guarantee{margin-top:var(--space-md);gap:var(--space-sm);flex-direction:column;display:flex}.guarantee-item{gap:var(--space-md);padding:var(--space-md);background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex}.guarantee-item svg{color:var(--sage-dark);flex-shrink:0;margin-top:2px}.guarantee-item strong{color:var(--charcoal);margin-bottom:1px;font-size:.8125rem;font-weight:600;display:block}.guarantee-item p{color:var(--charcoal-lighter);font-size:.75rem}@media (width<=768px){.checkout-page{padding:calc(var(--nav-height) + var(--space-lg)) 0 var(--space-3xl)}.checkout-layout{grid-template-columns:1fr}.checkout-form{padding:var(--space-xl)}.order-summary{order:-1}}.confirmation-page{padding:calc(var(--nav-height) + var(--space-3xl)) 0 var(--space-4xl);background:var(--cream);min-height:100vh;position:relative;overflow:hidden}.floating-dots{pointer-events:none;z-index:0;position:fixed;inset:0}.floating-dot{border-radius:var(--radius-full);opacity:0;width:10px;height:10px;animation:8s ease-in infinite driftUp;position:absolute;bottom:-20px}.confirmation-card{background:var(--white);border-radius:var(--radius-xl);max-width:560px;padding:var(--space-3xl) var(--space-2xl);text-align:center;box-shadow:var(--shadow-md);z-index:1;animation:fadeInUp .6s var(--ease) both;margin:0 auto;position:relative}.confirmation-check{width:80px;height:80px;margin:0 auto var(--space-xl)}.check-circle{width:80px;height:80px}.check-circle-bg{fill:none;stroke:var(--sage);stroke-width:2.5px;opacity:0;transition:opacity .5s var(--ease)}.confirmation-check.show .check-circle-bg{opacity:1;animation:circleReveal .6s var(--ease) both}.check-mark{fill:none;stroke:var(--sage-dark);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48px}.confirmation-check.show .check-mark{animation:checkDraw .5s var(--ease) .4s both}.confirmation-card h1{margin-bottom:var(--space-sm);font-size:2rem}.confirmation-subtitle{color:var(--charcoal-lighter);margin-bottom:var(--space-xl);font-size:.9375rem}.confirmation-subtitle strong{color:var(--charcoal)}.confirmation-id{background:var(--sage-50);color:var(--sage-dark);border-radius:var(--radius-pill);letter-spacing:.1em;margin-bottom:var(--space-2xl);padding:6px 16px;font-size:.75rem;font-weight:600;display:inline-block}.confirmation-details{text-align:left;background:var(--cream);border:1.5px solid var(--sage-light);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-xl)}.detail-row{align-items:flex-start;gap:var(--space-md);border-bottom:1px solid var(--cream-dark);padding:10px 0;display:flex}.detail-row:last-child{border-bottom:none}.detail-row svg{color:var(--sage);flex-shrink:0;margin-top:2px}.detail-label{color:var(--charcoal-lighter);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1px;font-size:.6875rem;font-weight:500;display:block}.detail-value{color:var(--charcoal);font-size:.9375rem;font-weight:500}.confirmation-reminder{background:var(--sage-50);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-xl);text-align:left}.confirmation-reminder h4{font-family:var(--font-body);color:var(--sage-dark);margin-bottom:8px;font-size:.8125rem;font-weight:600}.confirmation-reminder li{color:var(--charcoal-light);padding:3px 0 3px 16px;font-size:.8125rem;position:relative}.confirmation-reminder li:before{content:"";border-radius:var(--radius-full);background:var(--sage);width:5px;height:5px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.confirmation-actions{gap:var(--space-md);justify-content:center;display:flex}@media (width<=768px){.confirmation-page{padding:calc(var(--nav-height) + var(--space-xl)) 0 var(--space-3xl)}.confirmation-card{padding:var(--space-2xl) var(--space-lg)}.confirmation-card h1{font-size:1.5rem}.confirmation-actions{flex-direction:column}.confirmation-actions .btn{width:100%}}.dashboard-page{padding:calc(var(--nav-height) + var(--space-2xl)) 0 var(--space-4xl);background:var(--cream);min-height:100vh}.dash-header{margin-bottom:var(--space-2xl)}.dash-header h1{font-size:2rem}.dash-header p{color:var(--charcoal-light)}.dash-stats{gap:var(--space-md);margin-bottom:var(--space-2xl);grid-template-columns:repeat(4,1fr);display:grid}.dash-stat{align-items:center;gap:var(--space-md);background:var(--white);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);box-shadow:var(--shadow-sm);display:flex}.dash-stat-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.dash-stat-icon--sage{background:var(--sage-50);color:var(--sage-dark)}.dash-stat-icon--powder{background:var(--powder-50);color:var(--powder-dark)}.dash-stat-icon--rose{background:var(--rose-50);color:#d4a0a0}.dash-stat-icon--gold{background:var(--gold-50);color:var(--gold)}.dash-stat-value{font-family:var(--font-heading);color:var(--charcoal);font-size:1.5rem;line-height:1.2;display:block}.dash-stat-label{color:var(--charcoal-lighter);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:500}.dash-tabs{background:var(--white);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);margin-bottom:var(--space-xl);gap:4px;width:fit-content;padding:4px;display:flex}.dash-tab{border-radius:var(--radius-pill);color:var(--charcoal-light);transition:all var(--duration) var(--ease);align-items:center;gap:6px;padding:10px 24px;font-size:.8125rem;font-weight:500;display:flex}.dash-tab:hover{color:var(--charcoal)}.dash-tab.active{background:var(--sage);color:var(--charcoal)}.dash-section-title{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--charcoal-lighter);margin-bottom:var(--space-md);align-items:center;gap:var(--space-sm);font-size:.8125rem;font-weight:500;display:flex}.dash-count{background:var(--sage-50);color:var(--sage-dark);border-radius:var(--radius-pill);padding:2px 8px;font-size:.6875rem;font-weight:600}.dash-empty{background:var(--white);border-radius:var(--radius-xl);padding:var(--space-4xl) var(--space-2xl);text-align:center;color:var(--charcoal-lighter);box-shadow:var(--shadow-sm)}.dash-empty p{color:var(--charcoal-light);margin-top:var(--space-md);font-size:.9375rem;font-weight:500}.dash-empty span{color:var(--charcoal-lighter);margin-top:4px;font-size:.8125rem;display:block}.dash-bookings{flex-direction:column;gap:6px;display:flex}.dash-bookings--faded{opacity:.65}.bk-row{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration) var(--ease);border-left:3px solid var(--sage);overflow:hidden}.bk-row:hover{box-shadow:var(--shadow-md)}.bk-row--cancelled{border-left-color:var(--rose)}.bk-row--past:not(.bk-row--cancelled){border-left-color:var(--cream-dark)}.bk-row-main{padding:14px var(--space-lg);cursor:pointer;justify-content:space-between;align-items:center;display:flex}.bk-row-info{align-items:center;gap:var(--space-xl);display:flex}.bk-row-item{color:var(--charcoal-light);align-items:center;gap:6px;font-size:.8125rem;display:flex}.bk-row-item svg{color:var(--sage)}.bk-row-right{align-items:center;gap:var(--space-md);display:flex}.bk-status{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.05em;padding:3px 12px;font-size:.6875rem;font-weight:600}.bk-status--confirmed{background:var(--sage-50);color:var(--sage-dark)}.bk-status--cancelled{background:var(--rose-50);color:#c98080}.bk-status--completed{background:var(--cream-dark);color:var(--charcoal-lighter)}.bk-expand{color:var(--charcoal-lighter);padding:4px}.bk-row-details{padding:12px var(--space-lg);background:var(--cream);border-top:1px solid var(--cream-dark);gap:var(--space-md);flex-wrap:wrap;align-items:center;display:flex}.bk-detail{color:var(--charcoal-light);align-items:center;gap:5px;font-size:.8125rem;display:flex}.bk-detail svg{color:var(--sage)}.bk-detail--id{color:var(--charcoal-lighter);font-family:monospace;font-size:.75rem}.bk-cancel{border-radius:var(--radius-pill);color:#c98080;border:1px solid var(--rose);transition:all var(--duration) var(--ease);align-items:center;gap:5px;margin-left:auto;padding:5px 14px;font-size:.75rem;font-weight:500;display:flex}.bk-cancel:hover{background:var(--rose-50)}.sched-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.btn-saved{background:var(--sage);color:var(--charcoal);border-radius:var(--radius-pill);align-items:center;gap:6px;padding:10px 20px;font-size:.8125rem;font-weight:500;display:flex}.sched-grid{flex-direction:column;gap:6px;display:flex}.sched-day{background:var(--white);border-radius:var(--radius-md);padding:14px var(--space-lg);box-shadow:var(--shadow-sm);transition:opacity var(--duration) var(--ease)}.sched-day--off{opacity:.5}.sched-day-header{align-items:center;gap:var(--space-md);display:flex}.sched-toggle{align-items:center;display:flex}.toggle-on{color:var(--sage-dark)}.toggle-off{color:var(--cream-dark)}.sched-day-name{color:var(--charcoal);font-size:.9375rem;font-weight:500}.sched-times{align-items:flex-end;gap:var(--space-md);margin-top:var(--space-md);margin-left:40px;display:flex}.sched-time-field label{color:var(--charcoal-lighter);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.6875rem;font-weight:500;display:block}.sched-time-field input{border:1.5px solid var(--cream-dark);border-radius:var(--radius-sm);color:var(--charcoal);background:var(--white);transition:border-color var(--duration) var(--ease);padding:8px 12px;font-size:.875rem}.sched-time-field input:focus{border-color:var(--sage);outline:none}.sched-separator{color:var(--charcoal-lighter);padding-bottom:10px;font-size:.8125rem}@media (width<=768px){.dashboard-page{padding:calc(var(--nav-height) + var(--space-lg)) 0 var(--space-3xl)}.dash-header h1{font-size:1.5rem}.dash-stats{grid-template-columns:repeat(2,1fr);gap:8px}.dash-stat{padding:var(--space-md)}.dash-stat-value{font-size:1.25rem}.bk-row-main{flex-direction:column;align-items:flex-start;gap:8px}.bk-row-info{flex-direction:column;gap:4px}.bk-row-right{justify-content:space-between;width:100%}.sched-times{flex-wrap:wrap;margin-left:0}}.app{background-color:var(--cream);flex-direction:column;min-height:100vh;display:flex}.app-content{flex:1}
