body{margin:0;padding:0;font-family:Graphik,sans-serif;overflow-x:hidden}.booking-fullscreen{position:relative;width:100vw;height:100vh;overflow:hidden}.booking-fullscreen__back-button{position:absolute;top:2rem;left:2rem;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:transparent;border:none;cursor:pointer;text-decoration:none;transition:background-color .3s ease;border-radius:8px;z-index:100}.booking-fullscreen__back-button:hover{background-color:#dddad3}.booking-fullscreen__back-arrow{flex-shrink:0;display:block}.booking-fullscreen__back-label{font-size:1.1rem;font-weight:500;color:#201e1c;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;white-space:nowrap}.booking-fullscreen__back-button:hover .booking-fullscreen__back-label{opacity:1;visibility:visible}.booking-fullscreen__layout{display:flex;width:100%;height:100%}.booking-fullscreen__left{flex:1.8;background-color:#f2efe8;overflow:hidden;display:flex;align-items:center;justify-content:center;position:sticky;top:0;height:100vh}.booking-fullscreen__image-container{padding:4rem;width:100%;max-width:100%;display:flex;align-items:center;justify-content:center;position:relative;transition:opacity .4s ease}.booking-fullscreen__image{width:100%;max-width:600px;height:auto;border-radius:8px;object-fit:cover;box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a;position:absolute;transition:opacity .6s ease}.booking-fullscreen__image--default{opacity:1}.booking-fullscreen__image--addon{opacity:0}.booking-fullscreen__summary-items{padding:4rem;width:100%;max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:0;transition:opacity .4s ease}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0}.summary-item__content{display:flex;flex-direction:column;gap:.25rem;flex:1}.summary-item__title{font-size:1.05rem;font-weight:500;color:#201e1c;text-align:left}.summary-item__subtitle{font-size:.95rem;font-weight:400;color:#5e5d59;text-align:left}.summary-item__label{font-size:1.05rem;font-weight:500;color:#201e1c;text-align:left}.summary-item__label--incomplete{color:#a8a7a4;font-weight:400}.summary-item__helper{font-size:.85rem;font-weight:400;color:#a8a7a4;margin-top:.25rem}.summary-item__right{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.summary-item__price{font-size:1.05rem;font-weight:500;color:#201e1c;text-align:right}.summary-item__link{font-size:.9rem;font-weight:500;color:#201e1c;text-decoration:underline;transition:opacity .2s ease}.summary-item__link:hover{opacity:.7}.summary-item__divider{height:1px;background-color:#b3b0ab;width:100%}.mobile-summary-items{display:none;flex-direction:column;gap:0;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #dbdad7}.booking-fullscreen__right{flex:1;background-color:#fcfbf8;overflow-y:auto;scroll-behavior:smooth;position:relative}.booking-fullscreen__right:before{content:"";position:fixed;top:calc(4.5rem + 2px);left:calc(1.8 * 100% / 2.8);right:0;height:15vh;background:linear-gradient(to top,#fcfbf800,#fcfbf8);pointer-events:none;z-index:5;transition:opacity .3s ease}.booking-fullscreen__right.at-top:before{opacity:0}.booking-fullscreen__right:after{content:"";position:fixed;bottom:0;right:0;width:calc((100% - 1.8 * ((100vw - 100%) / (1.8 + 1))));height:15vh;background:linear-gradient(to bottom,#fcfbf800,#fcfbf8);pointer-events:none;z-index:20;transition:opacity .3s ease}.booking-fullscreen__right.at-bottom:after{opacity:0}html{color-scheme:light;scroll-behavior:smooth}@media (prefers-color-scheme: dark){html{color-scheme:dark}}::selection{background-color:#06f;color:#fff}::-moz-selection{background-color:#06f;color:#fff}.booking-fullscreen__content{padding:6rem 3rem 3rem}.booking-fullscreen__right .booking-fullscreen__content{padding:2rem 2rem 3rem}.booking-fullscreen__header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:1.5rem;margin-bottom:2rem;border-bottom:1px solid #dbdad7;font-size:.95rem;color:#201e1c;position:sticky;top:0;background-color:#fcfbf8;z-index:10;padding-top:2rem;margin-top:-2rem}.booking-fullscreen__mobile-back{display:none}.booking-fullscreen__total{text-align:left;display:flex;align-items:center;gap:.5rem}.booking-fullscreen__total-icon{width:18px;height:18px;display:inline-block;flex-shrink:0}.booking-fullscreen__amount{font-weight:500}.booking-fullscreen__tagline{text-align:right;display:flex;align-items:center;justify-content:flex-end}.booking-fullscreen__tagline-icon{width:22px;height:22px;margin-right:.35rem;flex-shrink:0}.booking-fullscreen__tagline-emphasis{font-weight:500}.massage-selection{margin-top:14rem;margin-bottom:16rem;width:100%}.booking-fullscreen__header+.massage-selection{margin-top:4.5rem}.massage-selection__title{font-family:Canela,serif;font-size:2rem;font-weight:300;letter-spacing:.02em;color:#141413;margin:0 0 .5rem;padding:0;text-align:left;width:100%;max-width:100%;box-sizing:border-box;display:block}.massage-selection__description{font-family:Graphik,sans-serif;font-size:1rem;font-weight:400;color:#141413;margin:0 0 .5rem;padding:0;text-align:left;width:100%;max-width:100%;box-sizing:border-box;display:block}.massage-selection__cards-label{font-size:1.05rem;font-weight:500;color:#201e1c;text-align:left;display:flex;justify-content:space-between;align-items:center;margin:0 0 .75rem;padding:0;width:100%;max-width:100%;box-sizing:border-box}.massage-selection__dynamic-name{color:#574f4c;margin-left:.25rem}.addon-price{font-size:1.05rem;font-weight:500;color:#141413}.addon-price-plus{font-weight:400}.massage-selection__options{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;width:100%;max-width:100%;box-sizing:border-box;margin:0;padding:0}.massage-card{padding:1rem;background:#f2efe8;border:2px solid transparent;border-radius:0;cursor:pointer;user-select:none}.massage-card:hover{outline:1px solid #d1cfc6;outline-offset:-1px}.massage-card.selected{background-color:#ebf2fe;border:2px solid #3358eb}.massage-card.selected .massage-card__description{color:#141413}.massage-card__title{font-size:.95rem;font-weight:500;color:#141413;margin:0 0 .35rem;text-align:left}.massage-card__description{font-size:.8rem;color:#5e5d59;margin:0;text-align:left;line-height:1.4}.massage-selection__mobile-image{display:none}.massage-notes{margin-top:1.5rem;padding:1rem;border:1px solid #dbdad7;font-size:.85rem;color:#201e1c;line-height:1.5;background:transparent;width:100%;max-width:100%;box-sizing:border-box;max-height:500px;overflow:hidden;opacity:1;transition:max-height .4s ease,opacity .4s ease,margin-top .4s ease,padding .4s ease,border-width .4s ease}.massage-notes__tag{display:flex;align-items:center;gap:.4rem;text-transform:uppercase;color:#143aab;background-color:#ebf2fe;border-radius:999px;padding:.25rem .75rem;font-weight:400;font-size:.9rem;letter-spacing:.05em;margin-bottom:.75rem;width:fit-content}.massage-notes__tag img{width:14px;height:14px;flex-shrink:0}.massage-notes--hidden{max-height:0;opacity:0;margin-top:0;padding:0;border-width:0}.massage-notes--no-transition{transition:none!important}.therapist-checkbox{display:flex;align-items:center;gap:.75rem;margin-top:1.5rem;user-select:none}.therapist-checkbox input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}.therapist-checkbox__circle{position:relative;width:18px;height:18px;border:2px solid #6c635f;border-radius:50%;flex-shrink:0;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.therapist-checkbox__circle:hover{border-color:#1e41cc}.therapist-checkbox input[type=checkbox]:checked+.therapist-checkbox__circle{border:3px solid #1e41cc}.therapist-checkbox input[type=checkbox]:checked+.therapist-checkbox__circle:hover{border:3px solid #1e41cc}.therapist-checkbox input[type=checkbox]:checked+.therapist-checkbox__circle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background-color:#1e41cc;border-radius:50%}.therapist-checkbox__label{font-size:.95rem;font-weight:500;color:#201e1c;pointer-events:none}.calendar{width:100%;margin-top:1.5rem}.calendar__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.calendar__nav{background:transparent;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:0;transition:background-color .2s ease}.calendar__nav:hover{background-color:#f2efe8}.calendar__month-year{font-size:1.1rem;font-weight:500;color:#141413}.calendar__day-labels{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:.5rem}.calendar__day-label{text-align:center;font-size:.85rem;font-weight:500;color:#5e5d59;padding:.5rem 0}.calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.calendar__day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#f2efe8;border:2px solid transparent;border-radius:0;font-size:.9rem;font-weight:500;color:#141413;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,border-width .2s ease;user-select:none}.calendar__day:hover:not(.calendar__day--disabled):not(.calendar__day--empty){outline:1px solid #d1cfc6;outline-offset:-1px}.calendar__day--selected{background-color:#ebf2fe;border:2px solid #3358eb}.calendar__day--disabled{background-color:#f8f7f4;color:#c7c6c3;cursor:not-allowed;opacity:.5}.calendar__day--empty{background:transparent;cursor:default}.calendar__day--today{position:relative}.calendar__day--today:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:4px;height:4px;background-color:#141413;border-radius:50%}.time-slots{margin-top:2rem}.time-slots__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.time-slot{padding:1rem;background:#f2efe8;border:2px solid transparent;border-radius:0;cursor:pointer;transition:border-color .2s ease,border-width .2s ease;text-align:center;font-size:.95rem;font-weight:500;color:#141413;user-select:none}.time-slot:hover{outline:1px solid #d1cfc6;outline-offset:-1px}.time-slot.selected{background-color:#ebf2fe;border:2px solid #3358eb}.time-slot--disabled{background-color:#f8f7f4;color:#c7c6c3;cursor:not-allowed;opacity:.5}.client-info-form{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field__label{font-size:.9rem;font-weight:500;color:#5e5d59;text-align:left}.form-field__input{width:100%;padding:1rem;background:#f2efe8;border:1px solid transparent;border-radius:0;font-size:.95rem;color:#141413;font-family:Graphik,sans-serif;transition:border-color .2s ease;box-sizing:border-box}.form-field__input::placeholder{color:#a8a7a4}.form-field__input:focus{outline:none;border-color:#d1cfc6}.form-field__input.valid{border-color:#7da67e}.form-field__input.invalid{border-color:#d97d7d;background-color:#fef8f8}.form-field__textarea{width:100%;padding:1rem;background:#f2efe8;border:1px solid transparent;border-radius:0;font-size:.95rem;color:#141413;font-family:Graphik,sans-serif;transition:border-color .2s ease;box-sizing:border-box;min-height:100px;resize:vertical;line-height:1.5}.form-field__textarea::placeholder{color:#a8a7a4}.form-field__textarea:focus{outline:none;border-color:#d1cfc6}.form-field__helper{font-size:.85rem;color:#a8a7a4;text-align:left;margin-top:-.25rem}.form-field__error{font-size:.8rem;color:#d97d7d;text-align:left;min-height:1.2rem;display:block}.duration-selection{margin-top:3rem;width:100%}.duration-selection__label-container{font-size:1.05rem;font-weight:500;color:#201e1c;text-align:left;display:flex;justify-content:space-between;align-items:center;margin:0 0 .75rem;padding:0;width:100%;max-width:100%;box-sizing:border-box}.duration-selection__dynamic-value{color:#574f4c;margin-left:.25rem}.duration-price{font-size:1.05rem;font-weight:500;color:#141413}.duration-price-plus{font-weight:400}.duration-selection__options{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;width:100%;max-width:100%;box-sizing:border-box;margin:0;padding:0}.duration-card{padding:1.5rem 1rem;background:#f2efe8;border:2px solid transparent;border-radius:0;cursor:pointer;transition:border-color .2s ease,border-width .2s ease;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.35rem;user-select:none}.duration-card:hover{outline:1px solid #d1cfc6;outline-offset:-1px}.duration-card.selected{background-color:#ebf2fe;border:2px solid #3358eb}.duration-card__number{font-size:1.5rem;font-weight:500;color:#201e1c;line-height:1}.duration-card__unit{font-size:.9rem;font-weight:400;color:#574f4c;line-height:1}.booking-summary{margin-top:1.5rem;margin-bottom:8rem;padding:2rem;background-color:#f2efe8;border-radius:0;width:100%;max-width:100%;box-sizing:border-box}.booking-summary__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.booking-summary__header-label{font-size:1.3rem;font-weight:500;color:#141413}.booking-summary__header-amount{font-size:1.3rem;font-weight:500;color:#141413;display:flex;align-items:center;gap:.5rem}.booking-summary__header-icon{width:18px;height:18px;flex-shrink:0}.booking-summary__divider{height:1px;background-color:#dbdad7;margin:1.5rem 0}.booking-summary__discount-input-container{display:flex;gap:.75rem;margin-bottom:1rem}.booking-summary__discount-input{flex:1;padding:.875rem 1rem;background:#fcfbf8;border:1px solid #dbdad7;border-radius:0;font-size:.9rem;color:#141413;font-family:Graphik,sans-serif;transition:border-color .2s ease}.booking-summary__discount-input::placeholder{color:#a8a7a4}.booking-summary__discount-input:focus{outline:none;border-color:#d1cfc6}.booking-summary__apply-btn{padding:.875rem 1.5rem;background-color:#141413;color:#faf9f5;border:none;border-radius:0;font-size:.9rem;font-weight:500;cursor:pointer;transition:opacity .2s ease;white-space:nowrap}.booking-summary__apply-btn:hover{opacity:.9}.booking-summary__error{font-size:.85rem;color:#d97d7d;margin-top:.5rem;text-align:left}.booking-summary__discount-display{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.booking-summary__discount-label{font-size:.95rem;font-weight:400;color:#141413}.booking-summary__discount-amount{font-size:.95rem;font-weight:500;color:#3358eb}.booking-summary__original-price{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.booking-summary__original-label{font-size:.9rem;font-weight:400;color:#574f4c}.booking-summary__original-amount{font-size:.9rem;font-weight:400;color:#574f4c;text-decoration:line-through}.booking-summary__tax-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.booking-summary__tax-label{font-size:.95rem;font-weight:400;color:#141413}.booking-summary__tax-amount{font-size:.95rem;font-weight:500;color:#141413}.booking-summary__payment-btn{width:auto;padding:1rem 2rem;background-color:#3358eb;color:#faf9f5;border:none;border-radius:0;font-size:1.1rem;font-weight:500;letter-spacing:.025em;cursor:pointer;transition:opacity .2s ease,background-color .2s ease;font-family:Graphik,sans-serif;margin-top:1.5rem}.booking-summary__payment-btn:hover{opacity:.9}.booking-summary__payment-btn:disabled{background-color:#c7c6c3;color:#e8e7e4;cursor:not-allowed;opacity:1}.booking-summary__payment-btn:disabled:hover{opacity:1}.learn-more-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background-color:#e5e4e2;border:none;border-radius:0;font-size:1rem;font-weight:500;letter-spacing:.01em;color:#201e1c;cursor:pointer;transition:background-color .2s ease;margin-top:.5rem;margin-bottom:3rem;font-family:Graphik,sans-serif}.learn-more-btn:hover{background-color:#dbdad7}.learn-more-btn__icon{width:16px;height:16px;border:1.5px solid #201e1c;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:500;font-style:normal;flex-shrink:0}.info-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#141413bf;z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.info-modal-overlay.active{opacity:1;visibility:visible}.info-modal{position:fixed;top:0;right:0;width:40%;height:100%;background-color:#fcfbf8;z-index:1001;transform:translate(100%);transition:transform .3s ease;overflow-y:auto;display:flex;flex-direction:column}.info-modal.active{transform:translate(0)}.info-modal__close{position:absolute;top:2rem;right:2rem;background:transparent;border:none;cursor:pointer;font-size:1.75rem;line-height:1;color:#141413;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;border-radius:50%;padding:0}.info-modal__close:hover{background-color:#e5e4e2}.info-modal__content{padding:4rem 3rem;display:flex;flex-direction:column;align-items:center;text-align:center;flex:1}.info-modal__subtitle{font-family:Graphik,sans-serif;font-size:.75rem;font-weight:400;color:#5e5d59;letter-spacing:.1em;text-transform:uppercase;margin:0 0 1rem}.info-modal__title{font-family:Canela,serif;font-size:2.5rem;font-weight:300;color:#141413;margin:0 0 1rem;line-height:1.2}.info-modal__description{font-family:Graphik,sans-serif;font-size:1rem;font-weight:400;color:#5e5d59;margin:0 0 1.5rem;line-height:1.6}.info-modal__image{width:100%;max-width:600px;height:auto;border-radius:0;margin:1.5rem 0;object-fit:cover}.info-modal__body{font-family:Graphik,sans-serif;font-size:.95rem;font-weight:400;color:#201e1c;line-height:1.8;max-width:600px}@media (min-width: 1025px){.booking-fullscreen__header+.massage-selection{margin-top:8rem}}@media (max-width: 1024px){.booking-fullscreen__layout{flex-direction:column}.booking-fullscreen__left{display:none}.booking-fullscreen__right{flex:1;width:100%}.booking-fullscreen__back-button{display:none}.booking-fullscreen__header{align-items:center}.booking-fullscreen__mobile-back{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:.25rem}.booking-fullscreen__total-icon{display:none}.booking-fullscreen__total{gap:0}.mobile-summary-items{display:flex;margin-bottom:.5rem;padding-bottom:.5rem}.mobile-summary-items .summary-item{padding:.25rem 0}.mobile-summary-items #mobile-summary-addon-container,.mobile-summary-items .summary-item:has(#mobile-summary-therapist){align-items:center}.mobile-summary-items .summary-item__divider{margin:.15rem 0}.mobile-summary-items .summary-item__right{flex-direction:row-reverse;align-items:center;gap:.5rem;flex-shrink:0}.mobile-summary-items .summary-item__edit-link{display:inline-flex;align-items:center;justify-content:center;padding:.35rem;min-width:40px;min-height:40px;flex-shrink:0;text-decoration:none}.mobile-summary-items .summary-item__edit-icon{width:18px;height:18px;display:block;opacity:.85;transform:scale(1);transition:transform .2s ease,opacity .2s ease}.mobile-summary-items .summary-item__edit-link:hover .summary-item__edit-icon,.mobile-summary-items .summary-item__edit-link:active .summary-item__edit-icon{opacity:1;transform:scale(1.1)}.mobile-summary-items .summary-item__content{gap:.15rem}.mobile-summary-items .summary-item__helper{margin-top:.15rem}.massage-selection__mobile-image{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:0;margin:1.5rem 0}.info-modal{width:100%}.massage-selection__options{grid-template-columns:repeat(2,1fr)}.massage-selection{margin-top:7rem;margin-bottom:5rem}.booking-fullscreen__header+.massage-selection{margin-top:4rem}.booking-fullscreen__content{padding:2rem}.booking-summary{margin-bottom:3rem}.booking-fullscreen__right:before{left:0;top:calc(4.5rem + 2px);height:8vh;background:linear-gradient(to top,#fcfbf800,#fcfbf8d9)}.booking-fullscreen__right:after{left:0;right:0;width:auto;height:8vh;background:linear-gradient(to bottom,#fcfbf800,#fcfbf8d9)}.booking-fullscreen__tagline-icon{display:none}}@media (max-width: 768px){.booking-fullscreen__content{padding:1.5rem}.booking-fullscreen__mobile-back{margin-right:.15rem}}
