*{margin:0;padding:0;box-sizing:border-box}*,:after,:before{max-width:100%}:root{--color-primary:#9b8fb8;--color-secondary:#7a6b96;--color-dark:#1a1a1a;--color-light:#f5f2ed;--color-white:#ffffff;--color-text:#333333;--color-text-light:#666666;--font-heading:"Cormorant Garamond",serif;--font-body:"Montserrat",sans-serif;--transition:all 0.3s ease}html{scroll-behavior:smooth;overflow-x:hidden;width:100%;max-width:100vw;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}body{font-family:var(--font-body);color:var(--color-text);line-height:1.6;background-color:#141414;overflow-x:hidden;margin:0;padding:0;width:100%;max-width:100vw;position:relative;scrollbar-width:none;-ms-overflow-style:none}body::-webkit-scrollbar{display:none}.container{overflow-x:hidden}.booking .container,.container{max-width:1200px;margin:0 auto;padding:0 2rem;width:100%;box-sizing:border-box}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;line-height:1.2}.section-title{font-size:3.5rem;font-weight:300;margin-bottom:1.5rem;color:var(--color-dark);letter-spacing:.05em}.section-title.center{text-align:center}.section-subtitle{font-size:1.1rem;text-align:center;max-width:600px;margin:0 auto 2rem}.lead-text,.section-subtitle{color:var(--color-text-light)}.lead-text{font-size:1.2rem;line-height:1.8;margin-bottom:1.5rem}.navbar{position:fixed;top:0;left:0;width:100%;background-color:transparent;backdrop-filter:none;z-index:1000;padding:1.5rem 0;transition:background-color .3s ease,box-shadow .3s ease;box-shadow:none}.nav-container{max-width:1400px;margin:0 auto;padding:0 2rem 0 0;display:flex;justify-content:space-between;align-items:center}.logo{height:2.5rem;width:auto;-o-object-fit:contain;object-fit:contain;transition:var(--transition)}.logo:hover{opacity:.8}.nav-container .logo-link{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;height:2.5rem;margin-left:-100px!important;position:relative;left:-100px!important}.logo-text{font-family:var(--font-heading);font-size:1.3rem;font-weight:400;color:var(--color-white);letter-spacing:.08em;text-transform:uppercase;transition:var(--transition);line-height:1;position:relative;top:0;align-self:center}.logo-link:hover .logo-text{color:var(--color-primary)}.nav-menu{display:flex;list-style:none;gap:2.5rem;align-items:center}.nav-link{color:var(--color-white);text-decoration:none;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase;position:relative}.nav-link,.nav-link:after{transition:var(--transition)}.nav-link:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:1px;background-color:var(--color-primary)}.nav-link:hover:after{width:100%}.nav-link:hover{color:var(--color-primary)}.btn-book{background-color:var(--color-primary);color:var(--color-dark)!important;padding:.7rem 1.8rem;border-radius:30px;transition:var(--transition)}.btn-book:hover{background-color:var(--color-secondary);transform:translateY(-2px)}.btn-book:after{display:none}.btn-book-desktop{display:block}.btn-book-mobile{display:none}.menu-toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer;gap:5px}.menu-toggle span{width:25px;height:2px;background-color:var(--color-white);transition:var(--transition)}.hero{height:calc(100vh - 80px);min-height:calc(100vh - 80px);max-height:calc(100vh - 80px);background:#141414;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;overflow-x:hidden;width:100%;max-width:100vw}.hero-mobile-carousel,.hero:before{display:none}.hero-left{position:absolute;top:0;left:0;width:50%;height:100%;display:flex;align-items:center;justify-content:center;z-index:2}.moon-canvas-container{position:absolute!important;top:50%;left:0;width:100vw;height:100vh;transform:translateY(-50%);z-index:1;opacity:1;pointer-events:none;overflow:visible;background:transparent}.moon-canvas-container canvas{width:100%;height:100%}.hero-content{text-align:center;position:relative;z-index:2;transform:translateX(30px)}.hero-right{position:absolute;top:0;right:0;width:50%;height:100%;display:flex;align-items:center;justify-content:center;opacity:1;z-index:2;padding:3rem;transform:translateY(55px)}@media (max-width:768px){.hero>.hero-right,.hero>.scroll-indicator{display:none!important}}.treatment-showcase{display:flex;flex-direction:column;gap:2.5rem;width:100%;max-width:700px;margin-top:2rem;margin-bottom:8rem}.treatment-video-container{position:relative;width:100%;height:450px;border-radius:12px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.6)}.treatment-video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.treatment-thumbs{display:flex;gap:1rem;width:100%;justify-content:center}.treatment-thumb{flex:1 1 0;max-width:50%;height:160px;-o-object-fit:cover;object-fit:cover;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.45);transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;filter:saturate(.9)}.treatment-thumb-hallway{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.treatment-thumb:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(0,0,0,.55);filter:saturate(1)}.hero-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:400px;height:400px;border:1px solid rgba(155,143,184,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:rotate 20s linear infinite}@keyframes rotate{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.circle-text{font-size:.85rem;letter-spacing:.2em;color:var(--color-primary);text-transform:uppercase}.hero-title{font-size:8rem;font-weight:300;letter-spacing:.1em;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.hero-subtitle,.hero-title{color:var(--color-white);text-transform:uppercase}.hero-subtitle{display:flex;gap:3rem;justify-content:center;font-size:1.2rem;letter-spacing:.3em;text-shadow:0 2px 10px rgba(0,0,0,.8),0 0 30px rgba(155,143,184,.4);font-weight:400;opacity:0;transform:translateY(20px);animation:fadeInUp 1s ease-out .8s forwards}.hero-actions-left{bottom:3rem;left:3rem;flex-direction:column;gap:2rem;align-items:flex-start;transform:translateY(35px) translateX(220px)}.hero-actions-left,.scroll-indicator{position:absolute;display:flex;z-index:10}.scroll-indicator{bottom:calc(3rem - 25px);right:3rem;align-items:center;gap:1rem;color:var(--color-white);font-size:.85rem;letter-spacing:.1em;opacity:.7}.scroll-line{width:60px;height:1px;background-color:var(--color-white)}.hero-cta-buttons-left{display:flex;gap:35px;align-items:center;flex-wrap:wrap}.hero-cta-buttons-left .btn{padding:.875rem 1.75rem;font-size:.95rem;white-space:nowrap;border-radius:4px;font-family:var(--font-heading);font-weight:300;letter-spacing:.05em}.hero-cta-buttons-left .btn-secondary{background-color:rgba(255,255,255,.15);color:var(--color-white);border:2px solid rgba(255,255,255,.4);backdrop-filter:blur(10px)}.hero-cta-buttons-left .btn-secondary:hover{background-color:rgba(255,255,255,.25);border-color:rgba(255,255,255,.6);transform:translateY(-2px)}.hero-cta-buttons-left .btn-primary{background-color:#ffffff;color:var(--color-dark);border:2px solid transparent}.hero-cta-buttons-left .btn-primary:hover{background-color:rgba(255,255,255,.9);transform:translateY(-2px);box-shadow:0 8px 20px rgba(255,255,255,.3)}.hero-cta-buttons{position:absolute;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr auto 1.5rem 1px 1.5rem auto 1fr;align-items:center;justify-items:center;padding:5rem 2rem 4rem;z-index:10;background:linear-gradient(180deg,transparent 0,rgba(20,20,20,.4) 50%,rgba(20,20,20,.8));transform:translateX(-8px) translateY(25px)}.hero-cta-buttons:before{content:"";grid-column:4;width:1px;height:calc(100% - 8rem);background:rgba(155,143,184,.3);pointer-events:none;z-index:1;justify-self:center;align-self:center}.hero-cta-buttons .btn{padding:.875rem 1.75rem;font-size:.95rem;white-space:nowrap;border-radius:4px;font-family:var(--font-heading);font-weight:300;letter-spacing:.05em;position:relative;z-index:2}.hero-cta-buttons .btn:first-child{grid-column:2;justify-self:end;align-self:center}.hero-cta-buttons .btn:last-child{grid-column:6;justify-self:start;align-self:center}.hero-cta-buttons .btn-secondary{background-color:rgba(255,255,255,.15);color:var(--color-white);border:2px solid rgba(255,255,255,.4);backdrop-filter:blur(10px)}.hero-cta-buttons .btn-secondary:hover{background-color:rgba(255,255,255,.25);border-color:rgba(255,255,255,.6);transform:translateY(-2px)}.hero-cta-buttons .btn-primary{background-color:#ffffff;color:var(--color-dark);border:2px solid transparent}.hero-cta-buttons .btn-primary:hover{background-color:rgba(255,255,255,.9);transform:translateY(-2px);box-shadow:0 8px 20px rgba(255,255,255,.3)}.countdown-bar{background:linear-gradient(135deg,#1a1a1a,#272844);border-top:1px solid rgba(155,143,184,.3);border-bottom:1px solid rgba(155,143,184,.3);padding:1.25rem 0;position:relative;z-index:5;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.countdown-bar:hover{opacity:.95;transform:translateY(-1px)}.countdown-bar-container{max-width:1400px;margin:0 auto;padding:0 2rem}.countdown-bar-content{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}.countdown-bar-text{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:250px}.countdown-bar-title{font-family:var(--font-heading);font-size:1.5rem;font-weight:400;color:var(--color-white);letter-spacing:.05em;line-height:1.3}.countdown-bar-subtitle{font-family:var(--font-body);font-size:.9rem;color:var(--color-primary);letter-spacing:.02em;opacity:.95}.countdown-timer{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.countdown-item{display:flex;flex-direction:column;align-items:center;min-width:50px}.countdown-value{font-family:var(--font-heading);font-size:1.8rem;font-weight:400;color:var(--color-white);line-height:1;margin-bottom:.25rem;letter-spacing:.05em}.countdown-label{font-family:var(--font-body);font-size:.65rem;color:var(--color-primary);text-transform:uppercase;letter-spacing:.1em;opacity:.9}.countdown-separator{font-family:var(--font-heading);font-size:1.5rem;color:var(--color-primary);opacity:.6;line-height:1;margin:0 .25rem}.countdown-bar-actions{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(155,143,184,.2)}.countdown-cta-buttons{display:flex;gap:1rem;align-items:center}.countdown-bar .scroll-indicator{position:relative;bottom:auto;right:auto;opacity:.8}.countdown-bar .btn{padding:.75rem 1.5rem;font-size:.9rem;white-space:nowrap;border-radius:4px;font-family:var(--font-heading);font-weight:300;letter-spacing:.05em}.countdown-bar .btn-secondary{background-color:rgba(255,255,255,.15);color:var(--color-white);border:2px solid rgba(255,255,255,.4);backdrop-filter:blur(10px)}.countdown-bar .btn-secondary:hover{background-color:rgba(255,255,255,.25);border-color:rgba(255,255,255,.6);transform:translateY(-2px)}.countdown-bar .btn-primary{background-color:#ffffff;color:var(--color-dark);border:2px solid transparent}.countdown-bar .btn-primary:hover{background-color:rgba(255,255,255,.9);transform:translateY(-2px);box-shadow:0 8px 20px rgba(255,255,255,.3)}@media (max-width:968px){.countdown-bar{margin-top:0}.countdown-bar-content{flex-direction:column;text-align:center;gap:1.5rem}.countdown-bar-text{align-items:center;text-align:center}.countdown-bar-title{font-size:1.3rem}.countdown-value{font-size:1.5rem}}@media (max-width:600px){.countdown-bar{padding:.75rem 0;margin-top:0;box-sizing:border-box;background:linear-gradient(135deg,#1a1a1a,#272844);border-top:1px solid rgba(155,143,184,.3);border-bottom:1px solid rgba(155,143,184,.3)}.countdown-bar-container{padding:0 1rem;box-sizing:border-box}.countdown-bar-content{gap:1rem}.countdown-bar-title{font-size:1.1rem}.countdown-bar-subtitle{font-size:.8rem}.countdown-value{font-size:1.3rem}.countdown-label{font-size:.6rem}.countdown-separator{font-size:1.2rem}.countdown-item{min-width:40px}.countdown-timer{gap:.25rem}.countdown-separator{margin:0 .15rem}}.grand-opening-banner{background:linear-gradient(135deg,#2d1b3d,#4a2c5a 50%,#2d1b3d);border-top:2px solid rgba(155,143,184,.5);border-bottom:2px solid rgba(155,143,184,.5);padding:1.25rem 0;position:relative;z-index:10;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px rgba(155,143,184,.2)}.grand-opening-banner:hover{background:linear-gradient(135deg,#35204a,#523066 50%,#35204a);box-shadow:0 6px 30px rgba(155,143,184,.3);transform:translateY(-1px)}.grand-opening-banner-container{max-width:1400px;margin:0 auto;padding:0 2rem}.grand-opening-banner-content{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}.grand-opening-banner-text{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:250px}.grand-opening-banner-title{font-family:var(--font-heading);font-size:1.6rem;font-weight:400;color:var(--color-white);letter-spacing:.05em;line-height:1.3}.grand-opening-banner-subtitle{font-family:var(--font-body);font-size:1rem;color:rgba(255,255,255,.9);letter-spacing:.02em;opacity:.95}.grand-opening-banner-cta{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;background:rgba(255,255,255,.15);border:2px solid rgba(255,255,255,.4);border-radius:4px;backdrop-filter:blur(10px);transition:all .3s ease;white-space:nowrap}.grand-opening-banner:hover .grand-opening-banner-cta{background:rgba(255,255,255,.25);border-color:rgba(255,255,255,.6);transform:translateX(4px)}.grand-opening-banner-cta-text{font-family:var(--font-heading);font-size:1rem;font-weight:300;color:var(--color-white);letter-spacing:.05em}.grand-opening-banner-arrow{font-size:1.2rem;color:var(--color-white);transition:transform .3s ease}.grand-opening-banner:hover .grand-opening-banner-arrow{transform:translateX(4px)}@media (max-width:968px){.grand-opening-banner{padding:1rem 0}.grand-opening-banner-content{flex-direction:column;text-align:center;gap:1.5rem}.grand-opening-banner-text{align-items:center;text-align:center}.grand-opening-banner-title{font-size:1.4rem}.grand-opening-banner-subtitle{font-size:.95rem}}@media (max-width:600px){.grand-opening-banner{padding:.875rem 0}.grand-opening-banner-container{padding:0 1rem}.grand-opening-banner-content{gap:1rem}.grand-opening-banner-title{font-size:1.2rem}.grand-opening-banner-subtitle{font-size:.85rem}.grand-opening-banner-cta{padding:.625rem 1.25rem}.grand-opening-banner-cta-text{font-size:.9rem}}.holiday-gift-section{background:linear-gradient(135deg,#1a1a1a,#272844);padding:4rem 0;border-top:1px solid rgba(155,143,184,.3);border-bottom:1px solid rgba(155,143,184,.3);position:relative}.holiday-gift-content{max-width:1200px;margin:0 auto;padding:0 2rem}.holiday-gift-header{text-align:center;margin-bottom:3rem}.holiday-gift-title{font-family:var(--font-heading);font-size:2.5rem;font-weight:400;color:var(--color-white);margin-bottom:1rem;letter-spacing:.05em}.holiday-gift-subtitle{font-family:var(--font-body);font-size:1.2rem;color:var(--color-white);margin-bottom:.75rem;line-height:1.6;font-weight:500;opacity:.95}.holiday-gift-description{font-family:var(--font-body);font-size:1rem;color:rgba(255,255,255,.8);max-width:700px;margin:0 auto;line-height:1.7}.founding-member-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(155,143,184,.2);border:2px solid var(--color-primary);border-radius:30px;padding:.5rem 1.5rem;margin-bottom:1.5rem;font-family:var(--font-body);font-size:.9rem;font-weight:600;color:var(--color-white);text-transform:uppercase;letter-spacing:.1em;backdrop-filter:blur(10px)}.founding-badge-icon{font-size:1.2rem}.founding-member-benefit{background:rgba(39,40,68,.6);border-left:4px solid var(--color-primary);border-radius:8px;padding:1.25rem 1.5rem;margin-top:1.5rem;max-width:800px;margin-left:auto;margin-right:auto;backdrop-filter:blur(10px)}.founding-member-text{font-family:var(--font-body);font-size:1rem;color:var(--color-white);line-height:1.7;margin:0;opacity:.95}.founding-member-text strong{color:var(--color-white);font-weight:600}.founding-member-note{font-family:var(--font-body);font-size:1rem;color:var(--color-white);margin-bottom:1.5rem;line-height:1.7;display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;padding:1rem;background:rgba(39,40,68,.6);border-radius:8px;max-width:700px;margin-left:auto;margin-right:auto;backdrop-filter:blur(10px);opacity:.95}.founding-member-note strong{color:var(--color-white);font-weight:600}.founding-icon{font-size:1.3rem}.holiday-options-section{margin-bottom:3rem}.holiday-option-group{margin-bottom:4rem}.holiday-option-group:last-child{margin-bottom:0}.holiday-option-title{font-family:var(--font-heading);font-size:2rem;font-weight:400;color:var(--color-white);text-align:center;margin-bottom:.75rem;letter-spacing:.05em}.holiday-option-subtitle{font-family:var(--font-body);font-size:1rem;color:rgba(255,255,255,.8);text-align:center;max-width:700px;margin:0 auto 2rem;line-height:1.6}.holiday-gift-passes{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem;max-width:1400px;margin-left:auto;margin-right:auto}.holiday-gift-memberships{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-bottom:2rem}.membership-carousel-wrapper{position:relative;width:100%}.membership-carousel{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.carousel-indicators{display:none;justify-content:center;gap:.5rem;margin-top:1.5rem}.carousel-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);cursor:pointer;transition:background .3s ease}.carousel-dot.active{background:var(--color-primary)}.holiday-pass-card{background:rgba(39,40,68,.7);border:2px solid rgba(155,143,184,.4);border-radius:12px;padding:1.5rem;text-align:center;position:relative;transition:var(--transition);box-shadow:0 4px 20px rgba(0,0,0,.3);backdrop-filter:blur(10px)}.holiday-pass-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,.4)}.holiday-pass-card.popular,.holiday-pass-card:hover{border-color:var(--color-primary);background:rgba(39,40,68,.85)}.holiday-pass-card.popular{box-shadow:0 6px 25px rgba(155,143,184,.3)}.holiday-popular-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--color-primary);color:var(--color-white);padding:.4rem 1.2rem;border-radius:20px;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.holiday-pass-sessions{font-family:var(--font-body);font-size:.9rem;color:var(--color-primary);font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem}.holiday-pass-name{font-family:var(--font-heading);font-size:1.3rem;font-weight:400;color:var(--color-white);margin-bottom:.75rem;letter-spacing:.05em}.holiday-pass-pricing{display:flex;align-items:baseline;justify-content:center;gap:.75rem;margin-bottom:.5rem}.holiday-price{font-family:var(--font-heading);font-size:1.9rem;font-weight:400;color:var(--color-white);line-height:1}.holiday-original-price{font-family:var(--font-body);font-size:1.2rem;color:rgba(255,255,255,.5);text-decoration:line-through;opacity:.7}.holiday-pass-savings{font-family:var(--font-body);font-size:.85rem;color:var(--color-primary);font-weight:600;margin-bottom:1.25rem;letter-spacing:.05em}.holiday-pass-card.punch-pass-card{background:rgba(39,40,68,.7)!important}.holiday-pass-card.punch-pass-card.popular,.holiday-pass-card.punch-pass-card:hover{background:rgba(39,40,68,.85)!important}.holiday-pass-card.punch-pass-card .btn-holiday{margin-top:1.5rem}.holiday-membership-card{background:rgba(39,40,68,.7);border:2px solid rgba(155,143,184,.4);border-radius:12px;padding:2rem;text-align:center;position:relative;transition:var(--transition);box-shadow:0 4px 20px rgba(0,0,0,.3);backdrop-filter:blur(10px);display:flex;flex-direction:column}.holiday-membership-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,.4);border-color:var(--color-primary);background:rgba(39,40,68,.85)}.holiday-membership-card.popular{border-color:var(--color-primary);box-shadow:0 6px 25px rgba(155,143,184,.3);background:rgba(39,40,68,.85)}.holiday-membership-name{font-family:var(--font-heading);font-size:1.5rem;font-weight:400;color:var(--color-white);margin-bottom:.5rem;letter-spacing:.05em}.holiday-membership-credits{font-family:var(--font-body);font-size:.9rem;color:var(--color-primary);font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem}.holiday-membership-pricing{display:flex;align-items:baseline;justify-content:center;gap:.5rem;margin-bottom:.5rem}.holiday-frequency{font-family:var(--font-body);font-size:1rem;color:rgba(255,255,255,.7);font-weight:400}.holiday-membership-savings{font-family:var(--font-body);font-size:.85rem;color:var(--color-primary);font-weight:600;margin-bottom:.5rem;letter-spacing:.05em}.holiday-membership-sessions{font-family:var(--font-body);font-size:.85rem;color:rgba(255,255,255,.8);margin-bottom:1rem;font-style:italic}.holiday-membership-description{font-family:var(--font-body);font-size:.95rem;color:rgba(255,255,255,.9);margin-bottom:1.25rem;line-height:1.5}.holiday-membership-features{list-style:none;padding:0;margin:0 0 1.5rem;text-align:left;flex:1}.holiday-membership-features li{font-family:var(--font-body);font-size:.9rem;color:rgba(255,255,255,.85);margin-bottom:.6rem;display:flex;align-items:flex-start;gap:.5rem;line-height:1.5}.holiday-membership-features .feature-icon{color:var(--color-primary);font-weight:700;font-size:1rem;flex-shrink:0;margin-top:.1rem}.holiday-giftcard-selector{max-width:600px;margin:0 auto}.holiday-giftcard-card{background:rgba(39,40,68,.7);border:2px solid rgba(155,143,184,.4);border-radius:12px;padding:2rem;text-align:center;position:relative;transition:var(--transition);box-shadow:0 4px 20px rgba(0,0,0,.3);backdrop-filter:blur(10px);display:flex;flex-direction:column}.holiday-giftcard-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,.4);border-color:var(--color-primary);background:rgba(39,40,68,.85)}.holiday-giftcard-name{font-family:var(--font-heading);font-size:1.5rem;font-weight:400;color:var(--color-white);margin-bottom:.5rem;letter-spacing:.05em}.holiday-giftcard-amount-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}.holiday-amount-btn{padding:1rem;background:rgba(255,255,255,.1);border:2px solid rgba(155,143,184,.4);border-radius:8px;color:var(--color-white);font-family:var(--font-body);font-size:1.1rem;font-weight:600;cursor:pointer;transition:var(--transition);letter-spacing:.05em}.holiday-amount-btn:hover{background:rgba(155,143,184,.2);border-color:var(--color-primary);transform:translateY(-2px)}.holiday-amount-btn.selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white);box-shadow:0 4px 15px rgba(155,143,184,.3)}.holiday-giftcard-selected{margin:1.5rem 0;padding:1.5rem;background:rgba(155,143,184,.15);border-radius:8px;border:1px solid rgba(155,143,184,.3)}.holiday-giftcard-amount-display{font-family:var(--font-heading);font-size:3rem;color:var(--color-primary);font-weight:400;margin-bottom:.5rem;letter-spacing:.05em}.holiday-giftcard-selected-description{font-family:var(--font-body);font-size:.9rem;color:rgba(255,255,255,.8);margin:0}.holiday-giftcard-pricing{display:flex;align-items:baseline;justify-content:center;gap:.5rem;margin-bottom:1rem}.holiday-giftcard-description{font-family:var(--font-body);font-size:.95rem;color:rgba(255,255,255,.9);margin-bottom:1.25rem;line-height:1.5}.holiday-giftcard-features{list-style:none;padding:0;margin:0 0 1.5rem;text-align:left;flex:1}.holiday-giftcard-features li{font-family:var(--font-body);font-size:.9rem;color:rgba(255,255,255,.85);margin-bottom:.6rem;display:flex;align-items:flex-start;gap:.5rem;line-height:1.5}.holiday-giftcard-features .feature-icon{color:var(--color-primary);font-weight:700;font-size:1rem;flex-shrink:0;margin-top:.1rem}.btn-holiday{display:inline-block;padding:.875rem 2rem;background:var(--color-primary);color:var(--color-white);border:2px solid var(--color-primary);border-radius:6px;font-family:var(--font-body);font-size:.95rem;font-weight:600;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;transition:var(--transition);cursor:pointer;width:100%}.btn-holiday:hover{background:var(--color-secondary);border-color:var(--color-secondary);transform:translateY(-2px);box-shadow:0 6px 20px rgba(155,143,184,.3)}.btn-holiday-secondary{display:inline-block;padding:.875rem 2rem;background:transparent;color:var(--color-white);border:2px solid var(--color-white);border-radius:6px;font-family:var(--font-body);font-size:.95rem;font-weight:600;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;transition:var(--transition);cursor:pointer}.btn-holiday-secondary:hover{background:var(--color-white);color:#272844;transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,255,255,.2)}.holiday-gift-cta{text-align:center;padding-top:2rem;border-top:1px solid rgba(155,143,184,.2)}.holiday-gift-note{font-family:var(--font-body);font-size:1.1rem;color:var(--color-white);margin-bottom:1.5rem;line-height:1.7;display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;opacity:.9}.holiday-icon{font-size:1.5rem}@media (max-width:968px){.holiday-gift-section{padding:3rem 0}.holiday-gift-title{font-size:2rem}.holiday-gift-subtitle{font-size:1.1rem}.holiday-gift-passes{grid-template-columns:repeat(2,1fr);gap:1.25rem}.holiday-gift-memberships{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.holiday-option-group{margin-bottom:3rem}.holiday-option-title{font-size:1.75rem}}@media (max-width:600px){.holiday-gift-section{padding:2rem 0}.holiday-gift-content{padding:0 1rem}.holiday-gift-title{font-size:1.75rem}.holiday-gift-memberships{display:grid!important;margin-bottom:2rem}.membership-carousel-wrapper{overflow:hidden}.membership-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:1.25rem;padding-bottom:.5rem}.membership-carousel::-webkit-scrollbar{display:none}.membership-carousel>*{flex:0 0 calc(100% - 2rem);scroll-snap-align:center;max-width:calc(100% - 2rem)}.carousel-indicators{display:flex}.holiday-membership-card,.holiday-pass-card{padding:1.25rem}.holiday-option-group{margin-bottom:2rem}.holiday-gift-subtitle{font-size:1rem}.holiday-gift-description{font-size:.9rem}.founding-member-badge{font-size:.8rem;padding:.4rem 1.2rem}.founding-member-benefit{padding:1rem 1.25rem;margin-top:1.25rem}.founding-member-text{font-size:.9rem}.founding-member-note{font-size:.9rem;padding:.875rem}.holiday-gift-passes{grid-template-columns:1fr;gap:1rem}.holiday-gift-memberships{grid-template-columns:1fr!important;gap:1.5rem!important;row-gap:1.5rem!important;margin-bottom:0!important}.holiday-membership-card{margin-bottom:0!important;margin-top:0!important}.holiday-giftcard-card,.holiday-membership-card,.holiday-pass-card{padding:1.5rem}.holiday-giftcard-amount-selector{grid-template-columns:repeat(2,1fr);gap:.75rem}.holiday-amount-btn{padding:.875rem;font-size:1rem}.holiday-giftcard-amount-display{font-size:2.5rem}.holiday-option-title{font-size:1.5rem}.holiday-option-subtitle{font-size:.9rem}.holiday-price{font-size:1.8rem}.holiday-original-price{font-size:1rem}}.coming-soon{padding:12rem 0;background-color:var(--color-white);min-height:60vh;display:flex;align-items:center;justify-content:center}.coming-soon-content{text-align:center;max-width:600px;margin:0 auto}.coming-soon-title{font-size:3rem;font-weight:400;color:var(--color-dark);margin-bottom:2rem;font-family:var(--font-heading)}.coming-soon-message{font-size:1.2rem;line-height:1.8;color:var(--color-text);margin-bottom:3rem}@media (max-width:768px){.coming-soon{padding:8rem 0}.coming-soon-title{font-size:2.5rem}.coming-soon-message{font-size:1.1rem}}@media (max-width:600px){.coming-soon{padding:6rem 0}.coming-soon-title{font-size:2rem}.coming-soon-message{font-size:1rem;margin-bottom:2rem}}.about{padding:8rem 0;background-color:var(--color-white)}.about-header{text-align:center;margin-bottom:5rem}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;margin-bottom:6rem}.about-text-section{display:flex;flex-direction:column;gap:2rem}.about-lead{font-size:1.5rem;line-height:1.8;color:var(--color-dark);font-weight:300;font-family:var(--font-heading);margin:0}.about-description{font-size:1.1rem;line-height:1.8;color:var(--color-text);margin:0}.about-closing{font-size:1.2rem;line-height:1.8;color:var(--color-primary);font-style:italic;font-weight:400;margin:0;font-family:var(--font-heading)}.about-visual{position:relative}.about-image-main{width:100%;height:500px;border-radius:12px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.12)}.about-image-main img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.about-values{margin-top:6rem;padding-top:5rem;border-top:1px solid rgba(0,0,0,.1)}.values-title{font-size:2.5rem;font-weight:400;color:var(--color-dark);text-align:center;margin-bottom:3rem;font-family:var(--font-heading)}.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2.5rem}.value-card{text-align:center;padding:2rem;border-radius:12px;transition:var(--transition)}.value-card:hover{transform:translateY(-5px)}.value-icon{font-size:3rem;margin-bottom:1rem}.value-title{font-size:1.5rem;font-weight:600;color:var(--color-dark);margin-bottom:.75rem;font-family:var(--font-heading)}.value-description{font-size:1rem;color:var(--color-text-light);line-height:1.6;margin:0}@media (max-width:968px){.about-content{grid-template-columns:1fr;gap:3rem}.about-image-main{height:400px;order:-1}.values-grid{grid-template-columns:repeat(2,1fr);gap:2rem}}@media (max-width:600px){.about{padding:6rem 0}.about-header{margin-bottom:3rem}.about-content{margin-bottom:4rem}.about-lead{font-size:1.3rem}.about-description{font-size:1rem}.about-closing{font-size:1.1rem}.about-image-main{height:300px}.about-values{margin-top:4rem;padding-top:3rem}.values-title{font-size:2rem;margin-bottom:2rem}.values-grid{grid-template-columns:1fr;gap:1.5rem}.value-card{padding:1.5rem}}.rentals{padding:8rem 0;background-color:var(--color-white)}.rental-pricing-section{margin:4rem 0 6rem}.rental-pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:3rem}.rental-pricing-card{background-color:var(--color-white);padding:2.5rem;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:var(--transition);position:relative;border:2px solid transparent;text-align:center}.rental-pricing-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,.12);border-color:var(--color-primary)}.rental-pricing-card.popular{border-color:var(--color-primary);box-shadow:0 6px 25px rgba(155,143,184,.2)}.rental-pricing-card .popular-badge{position:absolute;top:-12px;right:2rem;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:var(--color-dark);padding:.5rem 1.25rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 4px 15px rgba(155,143,184,.3)}.pricing-period{font-size:1.5rem;font-weight:600;color:var(--color-dark);margin-bottom:1.5rem;font-family:var(--font-heading)}.pricing-amount{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1.5rem}.pricing-amount .price{font-size:3rem;font-weight:600;color:var(--color-primary);font-family:var(--font-heading)}.pricing-amount .duration{font-size:1rem;color:var(--color-text-light)}.pricing-description{font-size:.95rem;color:var(--color-text);line-height:1.6;margin-bottom:1rem}.minimum-note{font-size:.85rem;color:var(--color-text-light);font-style:italic;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.1)}.rental-features-section{margin:6rem 0;background-color:var(--color-light);padding:4rem 2rem;border-radius:12px}.rental-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:3rem}.rental-feature-card{background-color:var(--color-white);padding:2rem;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.05);transition:var(--transition);text-align:center}.rental-feature-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,.1)}.feature-icon{font-size:3rem;margin-bottom:1rem;display:block}.feature-title{font-size:1.3rem;font-weight:600;color:var(--color-dark);margin-bottom:.75rem;font-family:var(--font-heading)}.feature-description{font-size:.95rem;color:var(--color-text-light);line-height:1.6;margin:0}.rental-specs-section{margin:6rem 0}.specs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:3rem;margin-top:3rem}.specs-card{background-color:var(--color-light);padding:3rem;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.05)}.specs-title{font-size:1.5rem;font-weight:600;color:var(--color-dark);margin-bottom:2rem;font-family:var(--font-heading);text-align:center}.specs-list{display:flex;flex-direction:column;gap:1.25rem}.spec-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 0;border-bottom:1px solid rgba(0,0,0,.1)}.spec-item:last-child{border-bottom:none}.spec-label{font-weight:600;color:var(--color-dark);font-size:.95rem;min-width:120px}.spec-value{color:var(--color-text);text-align:right;font-size:.95rem}.equipment-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.equipment-item{padding:.75rem 1rem;background-color:var(--color-white);border-radius:8px;color:var(--color-text);font-size:.95rem;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.05)}.rental-cta-section{margin-top:6rem;background:linear-gradient(135deg,var(--color-light),var(--color-white));padding:4rem 3rem;border-radius:12px;text-align:center}.rental-cta-content{max-width:700px;margin:0 auto}.cta-title{font-size:2rem;font-weight:400;color:var(--color-dark);margin-bottom:1rem;font-family:var(--font-heading)}.cta-description{font-size:1.1rem;color:var(--color-text-light);margin-bottom:2.5rem;line-height:1.7}.cta-buttons{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.cta-buttons .btn-secondary{background-color:transparent;color:var(--color-dark);border:2px solid var(--color-primary)}.cta-buttons .btn-secondary:hover{background-color:var(--color-primary);color:var(--color-dark);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.2)}@media (max-width:968px){.rental-features-grid,.rental-pricing-grid{grid-template-columns:1fr;gap:1.5rem}.specs-grid{gap:2rem}.equipment-list,.specs-grid{grid-template-columns:1fr}.cta-buttons{flex-direction:column}.cta-buttons .btn{width:100%}}@media (max-width:600px){.rentals{padding:6rem 0}.rental-features-section,.rental-pricing-section{margin:3rem 0}.rental-features-section{padding:3rem 1.5rem}.rental-feature-card,.rental-pricing-card,.specs-card{padding:2rem 1.5rem}.rental-cta-section{padding:3rem 2rem}.cta-title{font-size:1.75rem}}.services{padding:8rem 0;background-color:var(--color-light)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:3rem;margin-top:4rem}.service-card{background-color:var(--color-white);padding:3rem 2.5rem;border-radius:8px;transition:var(--transition);position:relative;box-shadow:0 4px 20px rgba(0,0,0,.05)}.service-card:hover{transform:translateY(-10px);box-shadow:0 8px 30px rgba(0,0,0,.1)}.service-number{font-family:var(--font-heading);font-size:3rem;color:var(--color-primary);opacity:.3;margin-bottom:1rem}.service-card h3{font-size:2rem;margin-bottom:1rem;color:var(--color-dark)}.service-card p{color:var(--color-text-light);margin-bottom:1.5rem}.service-list{list-style:none;padding:0}.service-list li{padding:.5rem 0;color:var(--color-text);border-top:1px solid rgba(0,0,0,.1)}.service-list li:first-child{border-top:none}.treatments{padding:1.5rem 0 4rem;background-color:var(--color-white)}.treatments-list{display:flex;flex-direction:column;gap:3rem;margin-top:4rem}.modalities-showcase{margin-bottom:2rem}.modalities-title{font-size:2rem;font-family:var(--font-heading);text-align:center;color:var(--color-dark);margin-bottom:.5rem}.modalities-subtitle{text-align:center;max-width:620px;margin:.5rem auto 1.5rem;color:var(--color-text-light);line-height:1.7}.modality-groups{display:flex;flex-direction:column;gap:3rem;margin-top:2rem}.modality-group{opacity:1}.modality-group-layout{display:grid;grid-template-columns:1fr 1fr;gap:8rem;align-items:start;max-width:1400px;margin:0 auto}.modality-group-content-side{order:1;display:flex;flex-direction:column;padding:1rem 0;opacity:0;transform:translateX(-60px);transition:opacity .8s ease,transform .8s ease;will-change:transform,opacity}.modality-group.visible .modality-group-content-side{opacity:1;transform:translateX(0)}.modality-group.image-left .modality-group-content-side{transform:translateX(-60px)}.modality-group.image-left.visible .modality-group-content-side{transform:translateX(0)}.modality-group[data-group-id=eastern].image-left .modality-group-content-side{order:2;transform:translateX(60px)}.modality-group[data-group-id=eastern].image-left.visible .modality-group-content-side{transform:translateX(0)}.modality-group.image-right .modality-group-content-side{transform:translateX(60px)}.modality-group.image-right.visible .modality-group-content-side{transform:translateX(0)}.modality-group-image-side{order:2;width:100%;height:400px;overflow:hidden;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.1);opacity:0;transform:translateX(60px);transition:opacity .8s ease,transform .8s ease;will-change:transform,opacity}.modality-group-image-side:has(.modality-group-images-dual){height:450px;overflow:visible}.modality-group.visible .modality-group-image-side{opacity:1;transform:translateX(0)}.modality-group.image-left .modality-group-image-side{transform:translateX(60px)}.modality-group.image-left.visible .modality-group-image-side{transform:translateX(0)}.modality-group[data-group-id=eastern] .modality-group-image-side{order:1;transform:translateX(-60px)}.modality-group[data-group-id=eastern].visible .modality-group-image-side{transform:translateX(0)}.modality-group[data-group-id=eastern] .modality-group-content-side{order:2;transform:translateX(60px)}.modality-group[data-group-id=eastern].visible .modality-group-content-side{transform:translateX(0)}.modality-group.image-right .modality-group-image-side{transform:translateX(-60px)}.modality-group.image-right.visible .modality-group-image-side{transform:translateX(0)}.modality-group-image-side img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.modality-group[data-group-id=structural-lymphatic] .modality-group-image-side{height:600px;border-radius:0;box-shadow:none;background:transparent}.modality-group[data-group-id=structural-lymphatic] .modality-group-image-side img{-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;border-radius:0}.modality-group-images-dual{display:grid;grid-template-rows:1fr 1fr;gap:2.5rem;height:100%;width:100%;position:relative;padding:1rem;box-sizing:border-box}.modality-group-images-dual img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:8px}.modality-group-images-dual img:first-child{transform:translateX(-20%)}.modality-group-images-dual img:last-child{transform:translateX(20%)}.modality-group-header{margin-bottom:0}.group-title{font-size:3rem;color:#272844;margin:0 0 1.5rem;font-family:var(--font-heading);font-weight:400;line-height:1.2}.group-description{color:var(--color-text);line-height:1.8;margin:0;font-size:1.2rem;max-width:100%}.modality-group-expanded-content{margin-top:0}.modalities-paragraph{margin-top:2rem;opacity:1}.modalities-paragraph h4,.modalities-paragraph p{margin-top:0;margin-bottom:0}.modality-separator{height:1.5rem;width:100%}.modality-item-title{font-size:1.4rem;color:var(--color-dark);padding:0;font-family:var(--font-heading);font-weight:500;line-height:1.2;display:block;margin:0}.modality-short-description{font-size:.95rem;color:var(--color-text);line-height:1.5;font-weight:400}.modality-full-details,.modality-short-description{padding:0;margin:0;display:block}.modality-detail-paragraph{font-size:.95rem;color:var(--color-text);line-height:1.7;margin:0 0 1rem;display:block}.modality-detail-paragraph:last-child{margin-bottom:0}.treatment-detail-card{background-color:var(--color-white);border-radius:12px;padding:3rem;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:var(--transition);border-left:4px solid var(--color-primary)}.treatment-detail-card:hover{box-shadow:0 8px 30px rgba(0,0,0,.12);transform:translateY(-5px)}.treatment-header{display:flex;gap:2rem;align-items:flex-start;margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid var(--color-light)}.treatment-number{font-family:var(--font-heading);font-size:4rem;color:var(--color-primary);opacity:.3;font-weight:300;line-height:1;flex-shrink:0}.treatment-header-content{flex:1}.treatment-title{font-size:2.5rem;font-weight:400;color:var(--color-dark);margin-bottom:.75rem;font-family:var(--font-heading)}.treatment-short-description{font-size:1.2rem;color:var(--color-text-light);font-style:italic;margin:0}.treatment-body{display:flex;flex-direction:column;gap:2rem}.treatment-full-description{font-size:1.1rem;line-height:1.8;color:var(--color-text);margin-bottom:1rem}.treatment-full-description p+p{margin-top:1rem}.treatment-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1rem}.treatment-benefits,.treatment-ideal-for{background-color:var(--color-light);padding:2rem;border-radius:8px}.treatment-benefits h3,.treatment-ideal-for h3{font-size:1.3rem;font-weight:600;color:var(--color-dark);margin-bottom:1rem;font-family:var(--font-heading)}.treatment-benefits ul{list-style:none;padding:0;margin:0}.treatment-benefits li{padding:.5rem 0 .5rem 1.5rem;position:relative;color:var(--color-text);line-height:1.6}.treatment-benefits li:before{content:"✓";position:absolute;left:0;color:var(--color-primary);font-weight:700;font-size:1.1rem}.treatment-ideal-for p{color:var(--color-text);line-height:1.8;margin:0}.treatments-cta{margin-top:4rem;text-align:center;padding:3rem;background:var(--color-light);border-radius:12px}.treatments-cta h2{font-size:2rem;margin-bottom:1rem;color:var(--color-dark);font-family:var(--font-heading)}.treatments-cta p{font-size:1.1rem;color:var(--color-text-light);margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}@media (max-width:968px){.modalities-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.treatment-header{flex-direction:column;gap:1rem}.treatment-number{font-size:3rem}.treatment-title{font-size:2rem}.treatment-details-grid{grid-template-columns:1fr;gap:1.5rem}.treatment-detail-card{padding:2rem}.modality-group-layout{grid-template-columns:1fr;gap:3rem}.modality-group-content-side{order:1;padding:0}.modality-group-image-side{order:2;height:350px}.modality-group-image-side:has(.modality-group-images-dual){height:375px}.modality-group[data-group-id=structural-lymphatic] .modality-group-image-side{height:500px;border-radius:0;box-shadow:none}.group-title{font-size:2.5rem}.group-description{font-size:1.1rem}.modalities-list{gap:0;margin-top:1.5rem}.modality-item{margin-bottom:2rem}}@media (max-width:600px){.modality-groups{gap:3rem;margin-top:1.5rem}.modality-group{position:relative;z-index:1}.modality-group-layout{gap:1.5rem}.modality-group-content-side{order:2;padding:0;transform:none!important}.modality-group-image-side{order:1;height:250px;border-radius:8px;position:relative;z-index:1;transform:none!important;opacity:1!important}.modality-group-image-side:has(.modality-group-images-dual){height:280px;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.modality-group-images-dual{display:contents}.modality-group-images-dual img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:6px}.modality-group[data-group-id=structural-lymphatic] .modality-group-image-side{height:300px;border-radius:8px;box-shadow:0 4px 15px rgba(0,0,0,.1)}.modality-group-image-side img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.modality-group-header{margin-bottom:1rem}.group-title{font-size:1.5rem;line-height:1.3;margin-bottom:.5rem}.group-description{font-size:.9rem;line-height:1.5}.modality-group-expanded-content{margin-top:1rem}.modalities-list{gap:1.5rem}.modality-item{padding-bottom:1.5rem}.modality-item-title{font-size:1.2rem;margin-bottom:.5rem;line-height:1.3}.modality-short-description{font-size:.9rem;line-height:1.5;margin-bottom:.75rem}.modality-detail-paragraph{font-size:.85rem;line-height:1.5;margin-bottom:.75rem}.modality-separator{margin:1rem 0}.treatment-detail-card{padding:1.5rem}.treatment-title{font-size:1.75rem}.treatment-full-description,.treatment-short-description{font-size:1rem}.treatment-benefits,.treatment-ideal-for{padding:1.5rem}.treatments-cta{padding:2rem 1.5rem}.treatments-cta h2{font-size:1.5rem}}.booking{padding:8rem 0;background:var(--color-light);width:100%;box-sizing:border-box}.booking-header{text-align:center;margin-bottom:4rem}.booking-header-inline{margin-top:20px;margin-bottom:.1rem;position:relative;scroll-margin-top:100px;text-align:center;width:100%;box-sizing:border-box}.booking-header-inline .btn-back{position:absolute;left:1rem;top:0;margin-bottom:0}.booking-header-text{text-align:center}.booking-header-text .section-title{margin-bottom:.5rem;text-align:center;margin-left:auto;margin-right:auto}.booking-header-text .section-subtitle{margin-bottom:0;text-align:center;margin-left:auto;margin-right:auto;max-width:600px}.booking .section-title{font-size:2rem;margin-bottom:.5rem}.booking .section-subtitle{font-size:.9rem;margin-bottom:0}.booking-container{max-width:900px;width:100%;margin-left:auto;margin-right:auto;box-sizing:border-box;padding:0}.massage-type-selection-large{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem;max-width:1000px;margin-left:auto;margin-right:auto;width:100%}.massage-type-card-large{background:white;border-radius:8px;padding:1.25rem;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:var(--transition);display:flex;flex-direction:column;gap:.5rem;min-height:auto;will-change:transform;width:100%;box-sizing:border-box}.massage-type-card-large:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgba(0,0,0,.12)}.massage-type-card-large.expanded{grid-column:span 1}.massage-type-icon-large{font-size:2rem;text-align:center}.massage-type-title{font-size:1.1rem;font-weight:600;color:var(--color-dark);text-align:center;margin:0}.massage-type-short-desc{font-size:.85rem;line-height:1.4;color:var(--color-text);text-align:center;margin:0}.btn-learn-more{background:none;border:none;color:var(--color-primary);font-size:.8rem;font-weight:600;cursor:pointer;padding:.4rem;transition:var(--transition);text-align:center}.btn-learn-more:hover{color:var(--color-secondary)}.massage-type-details{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.massage-type-full-desc{font-size:.95rem;line-height:1.7;color:var(--color-text);text-align:left;margin:0}.massage-type-details .massage-type-benefits,.massage-type-details .massage-type-ideal{background:var(--color-light);padding:1rem;border-radius:8px}.massage-type-details .massage-type-benefits h4,.massage-type-details .massage-type-ideal h4{font-size:.95rem;font-weight:600;color:var(--color-primary);margin:0 0 .75rem}.massage-type-details .massage-type-benefits ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.massage-type-details .massage-type-benefits li{font-size:.9rem;color:var(--color-text);padding-left:1.25rem;position:relative}.massage-type-details .massage-type-benefits li:before{content:"✓";position:absolute;left:0;color:var(--color-secondary);font-weight:700;font-size:.9rem}.massage-type-details .massage-type-ideal p{font-size:.9rem;line-height:1.6;color:var(--color-text);margin:0}.massage-type-card-large .btn{margin-top:.5rem;padding:.65rem 1rem;font-size:.85rem;width:100%}.massage-type-details .massage-type-list{background:var(--color-light);padding:1rem;border-radius:8px}.massage-type-details .massage-type-list h4{font-size:.95rem;font-weight:600;color:var(--color-primary);margin:0 0 .75rem}.massage-type-details .massage-type-list ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.massage-type-details .massage-type-list li{font-size:.9rem;color:var(--color-text);padding-left:1.25rem;position:relative}.massage-type-details .massage-type-list li:before{content:"•";position:absolute;left:0;color:var(--color-primary);font-weight:700}.or-divider{text-align:center;margin:1.25rem 0;position:relative}.or-divider:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#ddd}.or-divider span{background:var(--color-light);padding:0 1.5rem;font-weight:600;color:var(--color-text-light);position:relative;font-size:.85rem;letter-spacing:1.5px}.therapist-selection-section{max-width:1400px;margin:0 auto}.therapist-selection-header{text-align:center;margin-bottom:1.5rem}.selection-title{font-size:1.3rem;font-weight:600;color:var(--color-dark);text-align:center;margin:0 0 .35rem}.selection-subtitle{font-size:.9rem;color:var(--color-text-light);text-align:center;margin:0 0 1rem}.therapist-cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.therapist-selection-card{background:white;border-radius:8px;padding:1.25rem;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:var(--transition);display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;height:100%;width:100%;min-width:0;box-sizing:border-box}.therapist-selection-card:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgba(0,0,0,.12)}.therapist-avatar-circle{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:white;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600;margin-bottom:.25rem}.therapist-name{font-size:1rem;font-weight:600;color:var(--color-dark);margin:0}.therapist-selection-card .therapist-specialty{font-size:.8rem;color:var(--color-text);margin:0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.therapist-selection-card .btn{margin-top:auto;width:100%;padding:.55rem 1rem;font-size:.75rem}.therapist-selection-card-link{text-decoration:none;color:inherit;display:flex;height:100%;width:100%;min-width:0}.therapist-cards-grid .therapist-selection-card-link{flex:1}.therapist-profile{padding:5rem 0;background:var(--color-light)}.therapist-hero{background:white;border-radius:16px;padding:3rem;margin-bottom:3rem;box-shadow:0 4px 20px rgba(0,0,0,.08)}.btn-back-link{display:inline-flex;align-items:center;color:var(--color-primary);text-decoration:none;font-weight:600;margin-bottom:2rem;transition:var(--transition)}.btn-back-link:hover{color:var(--color-secondary);transform:translateX(-5px)}.therapist-hero-content{display:flex;align-items:center;gap:3rem}.therapist-hero-image{flex-shrink:0}.therapist-hero-avatar{width:150px;height:150px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:white;display:flex;align-items:center;justify-content:center;font-size:4rem;font-weight:600}.therapist-hero-info{flex:1}.therapist-hero-name{font-size:3rem;font-weight:600;color:var(--color-dark);margin:0 0 .5rem}.therapist-hero-specialty{font-size:1.5rem;color:var(--color-primary);margin:0 0 .5rem}.therapist-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:3rem}.therapist-bio-section,.therapist-modalities-section{background:white;border-radius:16px;padding:3rem;box-shadow:0 4px 20px rgba(0,0,0,.08)}.therapist-bio-section h2,.therapist-modalities-section h2{font-size:2rem;font-weight:600;color:var(--color-dark);margin:0 0 1.5rem}.therapist-bio-section p{font-size:1.1rem;line-height:1.8;color:var(--color-text);margin:0}.modalities-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.modalities-list li{font-size:1rem;color:var(--color-text);padding-left:1.5rem;position:relative}.modalities-list li:before{content:"✓";position:absolute;left:0;color:var(--color-secondary);font-weight:700}.therapist-booking-section{background:white;border-radius:16px;padding:3rem;box-shadow:0 4px 20px rgba(0,0,0,.08)}.therapist-booking-section h2{font-size:2rem;font-weight:600;color:var(--color-dark);text-align:center;margin:0 0 .5rem}.therapist-booking-section .booking-subtitle{text-align:center;font-size:1.1rem;color:var(--color-text-light);margin:0 0 3rem}.booking-grid-therapist{display:grid;grid-template-columns:350px 1fr;gap:3rem}.datetime-selection-column h3,.duration-selection-column h3{font-size:1.3rem;font-weight:600;color:var(--color-dark);margin:0 0 1.5rem}.time-slots-section{margin-top:2rem}.time-slots-section h3{font-size:1.3rem;font-weight:600;color:var(--color-dark);margin:0 0 1.5rem}@media (max-width:1024px){.booking-grid-therapist,.therapist-details-grid{grid-template-columns:1fr}}@media (max-width:768px){.therapist-hero-content{flex-direction:column;text-align:center}.therapist-hero-name{font-size:2rem}.therapist-hero-specialty{font-size:1.2rem}.therapist-hero-avatar{width:120px;height:120px;font-size:3rem}.modalities-list{grid-template-columns:1fr}}.booking-form{background:var(--color-white);padding:3rem;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.08)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.form-group.full-width{grid-column:1/-1}.form-group label{font-weight:500;margin-bottom:.5rem;color:var(--color-dark);font-size:.95rem}.form-group input,.form-group select,.form-group textarea{padding:.875rem;border:1px solid rgba(0,0,0,.15);border-radius:6px}.form-status{padding:1rem;border-radius:6px;margin-bottom:1.5rem;text-align:center;font-weight:500}.form-status.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.form-status.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.form-actions{text-align:center}.btn-large{padding:1rem 3rem;font-size:1.1rem;width:100%;max-width:400px}.card-on-file-section{background:var(--color-white);padding:2rem;border-radius:8px;margin-bottom:2rem;border:2px solid #e0e0e0}.card-section-title{font-size:1.3rem;margin-bottom:.75rem;color:var(--color-dark)}.card-section-note{color:var(--color-text);margin-bottom:1.5rem;font-size:.95rem;line-height:1.6}.card-section-note strong{color:var(--color-primary);font-weight:600}.card-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.card-form-grid .form-group:first-child{grid-column:1/-1}.booking-note{font-size:.85rem;color:var(--color-text-light);margin-top:1rem;font-style:italic}.booking-sidebar{gap:2rem}.sidebar-card{background:var(--color-white);padding:2rem;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.08)}.sidebar-card h3{font-size:1.5rem;margin-bottom:1rem;color:var(--color-dark)}.sidebar-card p{color:var(--color-text-light);margin-bottom:1.5rem}.sidebar-card .btn{width:100%;text-align:center}.info-list,.special-list{list-style:none;padding:0}.special-list li{padding:.5rem 0;color:var(--color-primary);font-weight:600;border-bottom:1px solid rgba(0,0,0,.05)}.special-list li:last-child{border-bottom:none}.info-list li{color:var(--color-text);position:relative;padding:.5rem 0 .5rem 1.5rem}.info-list li:before{content:"✓";position:absolute;left:0;color:var(--color-primary);font-weight:700}.booking-steps{display:flex;justify-content:center;align-items:center;gap:2rem;margin-top:3rem;padding:2rem 0}.booking-steps .step{display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.4;transition:var(--transition)}.booking-steps .step.active{opacity:1}.booking-steps .step.completed{opacity:.7}.booking-steps .step-number{width:50px;height:50px;border-radius:50%;background:var(--color-white);border:2px solid rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:600;color:var(--color-text-light);transition:var(--transition)}.booking-steps .step.active .step-number{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.booking-steps .step.completed .step-number{background:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-white)}.booking-steps .step-label{font-size:.9rem;font-weight:500;color:var(--color-text)}.step-title{font-size:2rem;margin-bottom:2rem;color:var(--color-dark);text-align:center}.massage-type-selection{max-width:1000px;margin:0 auto}.massage-types-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:3rem}.massage-type-card{background:var(--color-white);padding:2.5rem;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.08);text-align:center;cursor:pointer;transition:var(--transition);border:2px solid transparent}.massage-type-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,.12);border-color:var(--color-primary)}.massage-type-icon{font-size:3rem;margin-bottom:1.5rem}.massage-type-card h4{font-size:1.5rem;margin-bottom:1rem;color:var(--color-dark)}.massage-type-card p{color:var(--color-text-light);margin-bottom:1.5rem;line-height:1.6}.therapist-selection{max-width:1000px;margin:0 auto}.therapists-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-top:3rem}.therapist-card{background:var(--color-white);padding:2rem;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.08);text-align:center;cursor:pointer;transition:var(--transition);border:2px solid transparent}.therapist-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,.12);border-color:var(--color-primary)}.therapist-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:600;color:var(--color-white);margin:0 auto 1.5rem}.therapist-card h4{font-size:1.3rem;margin-bottom:.5rem;color:var(--color-dark)}.therapist-specialty{color:var(--color-primary);font-size:.9rem;margin-bottom:.5rem;font-weight:500}.datetime-selection{max-width:800px;margin:0 auto}.datetime-form{margin-top:2rem}.booking-summary,.booking-summary-full{background:var(--color-white);padding:1.5rem;border-radius:8px;margin-bottom:2rem;border-left:4px solid var(--color-primary)}.booking-summary p,.booking-summary-full p{margin-bottom:.5rem;color:var(--color-text)}.booking-summary-full h4{font-size:1.3rem;margin-bottom:1rem;color:var(--color-dark)}.booking-price{margin-top:1rem!important;padding-top:1rem;border-top:1px solid rgba(0,0,0,.1)}.booking-addons-price,.booking-price{font-size:1rem;color:var(--color-text)}.booking-addons-price{margin-top:.5rem!important}.booking-discount{font-size:.95rem;margin-top:.25rem!important}.booking-discount,.booking-discount strong{color:var(--color-secondary)}.booking-total-price{font-size:1.3rem;color:var(--color-primary);margin-top:1rem!important;padding-top:1rem;border-top:2px solid var(--color-primary);font-weight:600}.booking-addons-list{margin:1rem 0}.booking-addons-list ul{list-style:none;padding-left:1rem;margin-top:.5rem}.booking-addons-list li{color:var(--color-text);margin-bottom:.25rem}.price-note{font-size:.85rem;color:var(--color-text-light);font-weight:400}.addons-section{background:var(--color-white);padding:2rem;border-radius:8px;margin-bottom:2rem}.addons-section h4{font-size:1.3rem;margin-bottom:.5rem;color:var(--color-dark)}.addons-subtitle{color:var(--color-text-light);margin-bottom:1.5rem;font-size:.95rem}.free-addon-notice{background:rgba(175,158,145,.08);border:2px solid var(--color-primary);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.free-addon-icon{font-size:1.75rem;flex-shrink:0;animation:sparkle 2s ease-in-out infinite}.diamond-gradient{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.diamond{font-size:1.2rem;display:inline-block}.diamond,.gift-icon{animation:sparkle 2s ease-in-out infinite}.gift-icon{width:1.75rem;height:1.75rem;flex-shrink:0}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.free-addon-text{font-size:1rem;color:var(--color-dark);line-height:1.5}.free-addon-notice strong{color:var(--color-primary);font-weight:600}.addons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:1rem}.addon-card{position:relative;border:2px solid #e0e0e0;border-radius:8px;padding:1rem;cursor:pointer;transition:var(--transition);background:white;will-change:transform}.addon-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.addon-card.selected{border-color:var(--color-primary);background:rgba(175,158,145,.05)}.addon-checkbox{position:absolute;top:.75rem;right:.75rem;width:20px;height:20px;cursor:pointer;accent-color:var(--color-primary)}.addon-label{cursor:pointer;display:block}.addon-name{font-size:1rem;font-weight:600;color:var(--color-dark);margin-bottom:.5rem}.addon-description{font-size:.85rem;color:var(--color-text-light);margin-bottom:.75rem;line-height:1.4}.addon-price{font-size:1.1rem;font-weight:600;color:var(--color-primary)}.addons-total{border-top:2px solid #e0e0e0;padding-top:1rem;margin-top:1rem}.addons-total p{font-size:1.1rem;color:var(--color-dark)}.duration-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.duration-option{position:relative;cursor:pointer}.duration-option input[type=radio]{position:absolute;opacity:0}.duration-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;border:2px solid rgba(0,0,0,.15);border-radius:8px;transition:var(--transition);background:var(--color-white);min-height:80px}.duration-option input[type=radio]:checked+.duration-label{border-color:var(--color-primary);background:rgba(155,143,184,.05)}.duration-time{font-size:1.1rem;font-weight:600;color:var(--color-dark);margin-bottom:.25rem}.duration-price{font-size:1.3rem;color:var(--color-primary);font-weight:600}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;margin-top:1rem}.time-slot{position:relative;cursor:pointer}.time-slot input[type=radio]{position:absolute;opacity:0}.time-slot-label{display:block;padding:.875rem;text-align:center;border:2px solid rgba(0,0,0,.15);border-radius:8px;transition:var(--transition);background:var(--color-white);font-weight:500}.time-slot input[type=radio]:checked+.time-slot-label{border-color:var(--color-primary);background:rgba(155,143,184,.05);color:var(--color-primary)}.time-slot-label:hover{border-color:var(--color-primary)}.field-note{color:var(--color-text-light);font-style:italic}.field-error,.field-note{font-size:.85rem;margin-top:.5rem}.field-error{color:#dc3545;font-weight:500}.details-form-section{max-width:800px;margin:0 auto}.btn-back{background:none;border:none;color:var(--color-primary);font-size:1rem;font-weight:500;cursor:pointer;padding:.5rem 0;margin-bottom:2rem;transition:var(--transition);font-family:var(--font-body)}.btn-back:hover{color:var(--color-secondary);transform:translateX(-5px)}@media (max-width:768px){.booking-container{grid-template-columns:1fr;gap:2rem}.booking-steps{flex-wrap:wrap;gap:1rem}.booking-steps .step-label{font-size:.75rem}.massage-types-grid,.therapists-grid{grid-template-columns:1fr}.duration-options{grid-template-columns:repeat(2,1fr)}.time-slots-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}.form-grid{grid-template-columns:1fr}.massage-type-selection-large{grid-template-columns:1fr;gap:1.5rem;margin-top:2rem}.massage-type-card-large{padding:1.5rem}.massage-type-icon-large{font-size:2rem}.massage-type-title{font-size:1.25rem}.massage-type-short-desc{font-size:.9rem}.booking-header .btn-back{position:static;margin-bottom:2rem}.massage-type-details .massage-type-list ul,.therapist-cards-grid{grid-template-columns:1fr}}@media (max-width:1024px) and (min-width:769px){.massage-type-selection-large{grid-template-columns:repeat(3,1fr);gap:.75rem}.therapist-cards-grid{grid-template-columns:repeat(2,1fr)}}.contact{padding:8rem 0;background-color:var(--color-white)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.contact-info{padding-right:2rem}.info-group{margin-bottom:2.5rem}.info-group:first-of-type{margin-top:2.5rem}.info-group h3{font-size:1.5rem;margin-bottom:.8rem;color:var(--color-dark)}.info-group p{color:var(--color-text-light);line-height:1.8}.info-group a{color:var(--color-primary);text-decoration:none;transition:var(--transition)}.info-group a:hover{color:var(--color-secondary)}.contact-form-container{background-color:var(--color-light);padding:3rem;border-radius:8px}.contact-form{gap:1.5rem}.contact-form,.form-group{display:flex;flex-direction:column}.form-group input,.form-group select,.form-group textarea{padding:1rem 1.2rem;border:1px solid rgba(0,0,0,.1);border-radius:4px;font-family:var(--font-body);font-size:1rem;background-color:var(--color-white);transition:var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(155,143,184,.1)}.form-group textarea{resize:vertical;min-height:120px}.btn{display:inline-block;padding:1rem 2.5rem;text-decoration:none;border-radius:30px;font-size:.95rem;letter-spacing:.05em;text-transform:uppercase;transition:var(--transition);cursor:pointer;border:none;font-family:var(--font-body)}.btn-primary{background-color:var(--color-primary);color:var(--color-dark)}.btn-primary:hover{background-color:var(--color-secondary);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.2)}.btn-secondary{background-color:transparent;color:var(--color-white);border:2px solid var(--color-white)}.btn-secondary:hover{background-color:var(--color-white);color:var(--color-dark)}.footer{background-color:var(--color-dark);color:var(--color-white);padding:4rem 0 2rem}.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem;margin-bottom:3rem}.footer-brand h3{font-size:2rem;margin-bottom:.5rem;color:var(--color-white);letter-spacing:.1em}.footer-brand p{color:rgba(255,255,255,.7);font-style:italic}.footer-links h4,.footer-social h4{font-family:var(--font-body);font-size:1.1rem;margin-bottom:1rem;font-weight:500;color:var(--color-white)}.footer-links ul{list-style:none}.footer-links li{margin-bottom:.8rem}.footer-links a{color:rgba(255,255,255,.7);text-decoration:none;transition:var(--transition)}.footer-links a:hover{color:var(--color-white)}.social-links{display:flex;flex-direction:column;gap:.8rem}.social-links a{color:rgba(255,255,255,.7);text-decoration:none;transition:var(--transition)}.social-links a:hover{color:var(--color-white)}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.footer-bottom p{color:rgba(255,255,255,.8);font-size:.9rem}@media (max-width:1024px){.hero-left.shifted{transform:translateX(-15%)}.hero-right{width:55%;padding:2rem}.treatment-showcase{max-width:600px}.treatment-video-container{height:400px}}@media (max-width:968px){.nav-menu{position:fixed;left:-100%;top:80px;flex-direction:column;background-color:var(--color-dark);width:100%;text-align:center;transition:.3s;padding:2rem 0;gap:1.5rem}.nav-menu.active{left:0}.menu-toggle{display:flex}.hero-title{font-size:4.5rem}.hero-subtitle{font-size:.9rem;gap:1.5rem}.hero-circle{width:300px;height:300px}.hero-left.shifted{transform:translateX(0)}.hero-right{width:100%;padding:1.5rem;background:rgba(20,20,20,.95)}.treatment-showcase{max-width:100%;margin-bottom:3rem}.treatment-video-container{height:350px}.section-title{font-size:2.5rem}.about-grid,.contact-grid{grid-template-columns:1fr;gap:3rem}.services-grid{grid-template-columns:1fr}.grand-opening-banner{max-width:90%;padding:.875rem 1.5rem}.banner-text{font-size:.85rem}.pricing-legend{flex-direction:column;gap:1rem;max-width:300px}.pricing-row .prices{gap:1rem}.pricing-row .price{font-size:.85rem;min-width:45px}.booking-header-inline{padding-left:1rem;padding-right:1rem;box-sizing:border-box}.booking-header-inline .btn-back{position:static;margin-bottom:1rem;margin-left:0;margin-right:auto}.booking-container{grid-template-columns:1fr;gap:3rem;margin:0 auto;max-width:100%}.form-grid{grid-template-columns:1fr;gap:1.25rem}.booking-form{padding:2rem}.sidebar-card{padding:1.5rem}.selection-filters{text-align:center;margin:0 auto;max-width:100%}.filter-group,.filter-group label{text-align:center}.footer-content{grid-template-columns:1fr;gap:2rem}}@media (max-width:768px){.hero-mobile-scroll{height:100vh;min-height:100vh;max-height:100vh;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.hero-mobile-scroll::-webkit-scrollbar{display:none}.hero-scroll-wrapper{display:flex;flex-direction:row;width:200vw;height:100vh}.hero-slide{width:100vw;flex:0 0 100vw;height:100vh;scroll-snap-align:start}.hero-slide,.hero-slide-moon{position:relative}.hero-slide-video{background:#141414}.hero-slide-video .hero-right{position:static!important;width:100vw!important;height:100vh!important;padding:1rem}.hero+.countdown-bar{position:absolute;top:100vh;transform:translateY(-100%);left:0;right:0;width:100%;z-index:100;margin-top:0}.hero:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#141414;z-index:-1;pointer-events:none}.moon-canvas-container{width:100vw!important;height:100vh!important;transform:none!important;overflow:hidden!important;overflow-y:visible!important;z-index:0!important;opacity:1!important;pointer-events:none}.moon-canvas-container,.moon-canvas-container canvas{position:absolute!important;top:0!important;left:0!important;margin:0!important;padding:0!important}.moon-canvas-container canvas{width:100%!important;height:100%!important;display:block!important;-o-object-fit:cover;object-fit:cover}.moon-canvas-container .moon-video{width:100vw!important;height:100vh!important;display:block!important;position:absolute!important;top:0!important;left:0!important;-o-object-fit:cover!important;object-fit:cover!important;-o-object-position:center center!important;object-position:center center!important;transform:none!important;transform-origin:center center!important;background:transparent!important}.hero-mobile-carousel{position:relative;width:100vw;height:100%;flex:1;overflow:hidden;touch-action:pan-x;display:block!important}.hero-carousel-track{display:flex;width:200vw;height:100%;will-change:transform;transition:transform .3s ease-out}.hero-carousel-slide{width:100vw;min-width:100vw;max-width:100vw;height:100%;flex-shrink:0;flex-grow:0;position:relative;overflow:hidden}.hero-carousel-slide-moon{height:100%}.hero-carousel-slide-moon .hero-left{position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:100%;z-index:3}.hero-carousel-slide-video{background:#141414;padding:0;margin:0;width:100vw;height:100%;overflow:hidden}.hero-carousel-slide-video .hero-right{height:100%!important;padding:1rem;opacity:1!important;background:transparent!important}.hero-carousel-slide-video .hero-right,.hero-carousel-slide-video .hero-right *{position:static!important;float:none!important}.hero-carousel-slide-video .treatment-showcase{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}.hero-carousel-slide-video .treatment-thumbs,.hero-carousel-slide-video .treatment-video-container{width:100%!important;max-width:100%!important}.hero-carousel-dots{position:absolute;bottom:180px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:100;pointer-events:auto}@media (max-width:600px){.hero-carousel-dots{bottom:160px}}.hero-carousel-dot{width:10px;height:10px;border-radius:50%;border:none;background:rgba(255,255,255,.4);cursor:pointer;padding:0;transition:all .3s ease}.hero-carousel-dot.active{background:var(--color-primary,#9b8fb8);width:24px;border-radius:5px}.hero-carousel-dot:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.hero-left{position:absolute!important;top:37%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:100%;height:auto;padding:0;z-index:3;pointer-events:none;display:flex!important;align-items:center!important;justify-content:center!important}.hero-content{position:relative;z-index:3;pointer-events:auto;transform:none!important;display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-content,.hero-title{text-align:center!important;width:100%}.hero-title{font-size:2.5rem;margin-bottom:1rem}.hero-subtitle{flex-direction:column;gap:.5rem;font-size:.85rem;text-align:center!important;width:100%;display:flex;align-items:center;justify-content:center}.hero-circle{width:200px;height:200px}.hero-right{position:static!important;width:100%!important;height:auto!important;padding:2rem 1rem 1rem;min-height:auto;opacity:1!important;transform:none!important;z-index:2;background:transparent!important;margin-top:0}.treatment-video-container{height:250px}.treatment-showcase{gap:1.5rem;margin-top:0;margin-bottom:2rem;max-width:100%}.treatment-thumbs{gap:.75rem}.hero-carousel-slide-video,.hero-carousel-slide-video *{max-width:100vw!important;box-sizing:border-box!important}.hero-carousel-slide-video .hero-right{position:static!important;width:100vw!important;min-width:100vw!important;max-width:100vw!important;padding-left:1rem!important;padding-right:1rem!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;margin:0!important}.hero-carousel-slide-video .treatment-showcase{width:calc(100vw - 2rem)!important;max-width:calc(100vw - 2rem)!important;margin:0 auto!important}.treatment-thumb{height:120px}.grand-opening-banner{flex-direction:column;gap:.5rem;padding:1rem;text-align:center}.banner-text{font-size:.75rem}.pricing-legend{gap:.75rem;padding:1rem}.legend-label{font-size:.8rem}.pricing-row{flex-direction:column;align-items:flex-start;gap:.5rem}.pricing-row .prices{width:100%;justify-content:space-between}.section-title{font-size:2rem}.container{padding:0 1rem;box-sizing:border-box;margin:0 auto}.navbar{padding:.75rem 0}.nav-container{padding:0 1rem;justify-content:space-between;align-items:center}.nav-container .logo-link{margin-left:0!important;left:0!important;height:2rem}.logo{height:2rem}.btn-book-desktop,.logo-text{display:none}.btn-book-mobile{display:block;padding:.5rem 1.2rem;font-size:.85rem;white-space:nowrap}.menu-toggle{order:3}.btn-book-mobile{order:2}.about,.booking,.contact,.services{padding:4rem 0}.holiday-gift-section{padding:3rem 0}.holiday-gift-content{padding:0 1rem!important;width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box}.holiday-gift-description,.holiday-gift-header{padding:0 .5rem;box-sizing:border-box}.holiday-gift-description{word-wrap:break-word;overflow-wrap:break-word}.holiday-gift-passes{grid-template-columns:repeat(2,1fr);gap:.75rem;width:100%;max-width:100%;padding:0;margin:0 auto}.holiday-gift-memberships{grid-template-columns:1fr;gap:1rem;width:100%;max-width:100%}.holiday-membership-card,.holiday-pass-card{width:100%;max-width:100%;box-sizing:border-box}.holiday-pass-card{padding:.875rem;min-height:auto}.holiday-membership-card{padding:.75rem;min-height:auto;flex-direction:column!important;align-items:stretch;text-align:left;gap:.5rem;height:auto}.holiday-membership-card>:not(.holiday-popular-badge){width:100%}.holiday-membership-left{display:flex;flex-direction:column;gap:.25rem}.holiday-membership-name{font-size:1rem;margin-bottom:0;line-height:1.2}.holiday-membership-card .holiday-membership-sessions{font-size:.7rem;margin-bottom:0;color:rgba(255,255,255,.7)}.holiday-membership-card>div[style*="font-size: 0.7rem"]{font-size:.65rem!important;margin-top:0!important;margin-bottom:0!important;color:rgba(255,255,255,.5)!important}.holiday-membership-pricing{flex-direction:row;align-items:center;gap:.4rem;margin-bottom:0;flex-wrap:wrap}.holiday-membership-card .holiday-price{font-size:1.3rem;line-height:1}.holiday-membership-card .holiday-frequency{font-size:.7rem}.holiday-membership-card .holiday-membership-savings{font-size:.65rem;margin-bottom:0;margin-left:auto;color:rgba(255,200,87,.9)}.holiday-membership-card .holiday-membership-description{display:block!important;font-size:.7rem!important;color:rgba(255,255,255,.6)!important;margin:0!important;line-height:1.4}.holiday-membership-card .holiday-membership-features{display:block!important;list-style:none;padding:0;margin:0;font-size:.65rem}.holiday-membership-card .holiday-membership-features li{margin-bottom:.2rem;color:rgba(255,255,255,.7);display:flex;align-items:flex-start;gap:.4rem}.holiday-membership-card .holiday-membership-features .feature-icon{color:rgba(255,200,87,1);flex-shrink:0;margin-top:.1rem}.holiday-membership-card .btn-holiday{padding:.5rem .875rem;font-size:.7rem;width:100%;margin-top:0}.holiday-membership-card .holiday-popular-badge{position:absolute;top:.5rem;right:.5rem;left:auto;transform:none;font-size:.6rem;padding:.25rem .6rem}.holiday-pass-card>div[style*="font-size: 0.7rem"]{font-size:.6rem!important;margin-top:.15rem!important;margin-bottom:.35rem!important}.holiday-popular-badge{font-size:.65rem;padding:.3rem .8rem;top:-8px}.holiday-pass-name{font-size:1rem;margin-bottom:.5rem}.holiday-pass-pricing{gap:.5rem;margin-bottom:.35rem}.holiday-price{font-size:1.4rem}.holiday-original-price{font-size:.9rem}.holiday-pass-savings{font-size:.75rem;margin-bottom:.75rem}.btn-holiday{padding:.6rem .75rem;font-size:.7rem;white-space:normal;line-height:1.2;width:100%}.holiday-option-group{margin-bottom:2.5rem}.treatments{padding:2rem 0}.scroll-indicator{display:none}.massage-type-selection-large{grid-template-columns:1fr;gap:.5rem;margin-top:.5rem;max-width:100%}.massage-type-card-large{padding:.75rem;gap:.3rem}.massage-type-icon-large{font-size:1.25rem}.massage-type-title{font-size:.9rem;margin-bottom:0;display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer}.massage-type-title:after{content:"→";font-size:.9rem;color:var(--color-primary);transition:transform .3s}.massage-type-card-large.expanded .massage-type-title:after{transform:rotate(90deg)}.massage-type-short-desc{font-size:.75rem;line-height:1.3;margin-bottom:.25rem}.massage-type-card-large .btn{padding:.5rem .875rem;font-size:.7rem;margin-top:.25rem}.btn-learn-more{display:none!important}.massage-type-details{margin-top:.75rem;padding-top:.75rem}.massage-type-details h4,.massage-type-details p{font-size:.85rem;margin-bottom:.5rem}.massage-type-details ul{font-size:.8rem;padding-left:1.25rem}.massage-type-details li{margin-bottom:.4rem}.booking-header{margin-bottom:1rem}.booking-header .section-title{font-size:1.5rem;margin-bottom:.5rem}.booking-header .section-subtitle{font-size:.85rem}.or-divider{margin:1rem 0}.therapist-selection-section{margin-top:1.5rem}.therapist-selection-header{text-align:center;margin-bottom:1rem}.therapist-selection-section .selection-title{font-size:1.25rem;margin-bottom:.5rem}.therapist-selection-section .selection-subtitle{font-size:.85rem;margin-bottom:1rem}#therapist-cards{scroll-margin-top:80px}.therapist-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.therapist-selection-card{padding:1rem}.therapist-selection-card .btn{padding:.5rem .75rem;font-size:.75rem}.countdown-bar-container{padding:0 1rem}.hero-cta-buttons{padding:2rem 1rem;gap:1rem;flex-wrap:wrap}.hero-cta-buttons .btn{padding:.75rem 1.5rem;font-size:.875rem}.contact-form-container{padding:2rem 1.5rem}.booking-form{padding:1.5rem}.btn-large{padding:.875rem 2rem;font-size:1rem}}.booking-layout{display:grid;grid-template-columns:280px 1fr;gap:3rem;margin:0 auto 3rem;width:100%;max-width:100%;box-sizing:border-box;padding:0}.booking-sidebar{display:flex;flex-direction:column;gap:1rem}.selection-filters{gap:1.25rem;padding:1.5rem;background:var(--color-light);border-radius:8px;align-items:stretch;box-sizing:border-box;margin:0}.filter-group,.selection-filters{display:flex;flex-direction:column;width:100%}.filter-group{align-items:flex-start}.filter-group label{display:block;font-weight:600;margin-bottom:.65rem;color:var(--color-dark);font-size:.9rem;width:100%}.booking-main{display:flex;flex-direction:column;gap:.1rem}.date-selector-section{padding:2rem;background:var(--color-light);border-radius:8px}.massage-type-buttons{display:flex;flex-direction:column;gap:.5rem;align-items:stretch;width:100%}.massage-type-btn{padding:.5rem .75rem;background:white;border:2px solid transparent;border-radius:6px;cursor:pointer;transition:var(--transition);display:flex;flex-direction:row;align-items:center;gap:.5rem;text-align:left;width:100%;box-sizing:border-box}.massage-type-btn:hover{border-color:var(--color-primary);transform:translateX(3px)}.massage-type-btn.active{border-color:var(--color-primary);background:var(--color-primary);color:white}.type-icon{font-size:1.25rem;flex-shrink:0}.type-name{font-size:.85rem;font-weight:500}.week-calendar{background:white;border-radius:12px;padding:2rem;margin-bottom:1rem;box-shadow:0 2px 8px rgba(0,0,0,.08)}.week-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.week-calendar-title-group{display:flex;align-items:center;gap:1rem}.week-calendar-title{font-size:1.1rem;font-weight:600;color:var(--color-dark)}.date-input-inline{padding:.5rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;font-family:var(--font-body);cursor:pointer;transition:var(--transition);max-width:140px}.date-input-inline:focus,.date-input-inline:hover{border-color:var(--color-primary)}.date-input-inline:focus{outline:none;box-shadow:0 0 0 3px rgba(155,143,184,.1)}.week-this-week{font-size:.85rem;font-weight:400;color:var(--color-text-light);margin-left:.5rem}.week-nav-btn{width:36px;height:36px;border:1px solid #ddd;background:white;border-radius:6px;cursor:pointer;font-size:1.5rem;display:flex;align-items:center;justify-content:center;transition:var(--transition);color:var(--color-dark)}.week-nav-btn:hover{border-color:var(--color-primary);background:var(--color-light)}.week-nav-btn.disabled,.week-nav-btn:disabled{opacity:.3;cursor:not-allowed;border-color:#ddd}.week-nav-btn.disabled:hover,.week-nav-btn:disabled:hover{border-color:#ddd;background:white}.week-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.week-day{padding:.75rem .5rem;border:2px solid #e0e0e0;background:white;border-radius:8px;cursor:pointer;transition:var(--transition);text-align:center;display:flex;flex-direction:column;justify-content:center;gap:.25rem;min-height:85px;height:85px}.week-day-today-label{font-size:.65rem;font-weight:500;color:var(--color-secondary);text-transform:uppercase;letter-spacing:.3px}.week-day-name{font-size:.8rem;font-weight:600;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px}.week-day-date{font-size:1.5rem;font-weight:600;color:var(--color-dark)}.week-day.unavailable{background:#f5f5f5;cursor:not-allowed;opacity:.5}.week-day.available:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.week-day.selected{background:var(--color-primary);border-color:var(--color-primary)}.week-day.selected .week-day-date,.week-day.selected .week-day-name,.week-day.selected .week-day-today-label{color:white}.week-day.today{border-color:var(--color-secondary)}.date-input-fallback{margin-top:1rem}.date-input-label{font-size:.9rem;font-weight:500;color:var(--color-text-light);margin-bottom:.5rem;display:block}.date-input{width:100%;padding:1rem;border:2px solid #ddd;border-radius:8px;font-size:1rem;font-family:var(--font-body)}.date-input:focus{outline:none;border-color:var(--color-primary)}.duration-selector{gap:.5rem;width:100%}.duration-btn,.duration-selector{display:flex;flex-direction:column}.duration-btn{padding:.75rem 1rem;background:white;border:2px solid transparent;border-radius:6px;cursor:pointer;transition:var(--transition);align-items:flex-start;gap:.35rem;text-align:left}.duration-btn:hover{border-color:var(--color-primary);transform:translateX(3px)}.duration-btn.active{border-color:var(--color-primary);background:var(--color-primary);color:white}.duration-btn.best-value{position:relative}.duration-header{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem}.duration-btn .duration-time{font-weight:600;font-size:.95rem}.best-value-badge,.free-addon-badge{background:var(--color-secondary);color:white;font-size:.65rem;font-weight:700;padding:.2rem .4rem;border-radius:3px;text-transform:uppercase;letter-spacing:.5px}.duration-btn.active .best-value-badge,.duration-btn.active .free-addon-badge{background:rgba(255,255,255,.3)}.duration-description{font-size:.75rem;line-height:1.3;opacity:.8}.duration-btn.active .duration-description{opacity:.95}.duration-price-container{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.1)}.duration-price-current{font-size:1.3rem;font-weight:700;color:var(--color-primary);line-height:1.2}.duration-btn.active .duration-price-current{color:white}.duration-price-original{font-size:.85rem;color:rgba(255,255,255,.6);font-weight:400;text-decoration:line-through;line-height:1.2}.duration-btn.active .duration-price-original{color:rgba(255,255,255,.7)}.duration-btn .duration-price{font-size:1rem;font-weight:700;color:var(--color-primary)}.duration-btn.active .duration-price{color:white}.therapists-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.therapists-list h3{font-size:1.75rem;margin-bottom:.5rem;color:var(--color-dark);grid-column:1/-1}.availability-note{color:var(--color-text-light);margin-bottom:1.5rem;font-size:1rem;grid-column:1/-1}.therapist-availability-card{background:white;border:1px solid #e0e0e0;border-radius:12px;padding:1.25rem 2.5rem;margin-bottom:.5rem;display:grid;grid-template-columns:220px 1fr;gap:3rem;align-items:start;box-shadow:0 2px 8px rgba(0,0,0,.05);transition:var(--transition);will-change:box-shadow;box-sizing:border-box;width:100%;max-width:100%}.therapist-availability-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.1)}.therapist-info{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;padding-right:1.5rem;border-right:1px solid #e0e0e0}.therapist-avatar-large{width:80px;height:80px;border-radius:50%;background:var(--color-primary);color:white;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:600;flex-shrink:0}.therapist-details h4{font-size:1.5rem;margin-bottom:.25rem}.therapist-time-slots>h5{font-size:1.1rem;margin-bottom:.75rem;color:var(--color-dark)}.time-slots-grid-full{display:flex;flex-wrap:wrap;gap:.5rem;width:100%}.time-slots-grid-full .time-slot-button{flex:0 0 110px;min-width:110px;max-width:110px;white-space:nowrap}.time-slots-grid-full .time-slot-button.couples-therapist-btn{flex:1 1 auto;min-width:auto;max-width:none}.time-slot-button{padding:.75rem 1rem;background:white;border:2px solid #ddd;border-radius:6px;cursor:pointer;transition:var(--transition);font-family:var(--font-body);font-size:.9rem;font-weight:500}.time-slot-button:hover{border-color:var(--color-primary);background:var(--color-light);transform:translateY(-2px)}.time-slot-button:active{transform:translateY(0)}.time-slot-button.selected{background:var(--color-primary);color:white;border-color:var(--color-primary)}.time-slot-button:disabled{opacity:.5;cursor:not-allowed}.no-availability{text-align:center;padding:3rem;background:var(--color-light);border-radius:8px;margin-top:2rem}.no-availability p{font-size:1.1rem;color:var(--color-text-light)}@media (max-width:968px){.booking-layout{grid-template-columns:1fr;gap:2rem;margin-left:auto;margin-right:auto;width:100%;max-width:100%}.booking-sidebar{order:1}.booking-main,.booking-sidebar{margin:0 auto;width:100%;max-width:100%}.booking-main{order:2}.selection-filters{margin:0 auto;width:100%}.massage-type-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.massage-type-btn{flex-direction:column;text-align:center;padding:1rem .5rem}.duration-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.duration-btn{align-items:flex-start}.week-calendar-days{gap:.35rem}.week-day{padding:.75rem .35rem}.week-day-name{font-size:.65rem}.week-day-date{font-size:1.1rem}.therapists-list{grid-template-columns:1fr}.therapist-availability-card{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem;margin-left:0;margin-right:0;width:100%;box-sizing:border-box}.therapist-info{flex-direction:row;text-align:left;padding-right:0;padding-bottom:1.5rem;border-right:none;border-bottom:1px solid #e0e0e0}.booking .container{padding:0 1rem;box-sizing:border-box}.booking-container,.booking-layout,.booking-main{padding:0;box-sizing:border-box}.time-slots-grid-full{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.addons-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.card-on-file-section{padding:1.5rem}.card-form-grid{grid-template-columns:1fr;gap:1rem}.card-form-grid .form-group{grid-column:1/-1!important}.stripe-card-element-wrapper{box-sizing:border-box!important;position:relative!important}.stripe-card-element-wrapper,.stripe-card-element-wrapper .StripeElement{width:100%!important;max-width:100%!important;overflow:hidden!important}.stripe-card-element-wrapper iframe{max-width:100%!important;width:100%!important}}@media (max-width:600px){.massage-type-buttons{grid-template-columns:1fr;align-items:stretch}.massage-type-btn{flex-direction:row;justify-content:flex-start}.duration-btn,.massage-type-btn{text-align:left;width:100%;box-sizing:border-box}.duration-btn{align-items:flex-start}.filter-group,.selection-filters{text-align:left;align-items:stretch}.filter-group label{text-align:left;width:100%}.booking-main{margin:0 auto}.booking-container{text-align:left}.date-selector-section{margin:0 auto;text-align:left}.week-calendar{margin:0 auto;padding:1rem}.week-calendar-header{margin-bottom:1rem}.week-calendar-title{font-size:.95rem}.week-this-week{display:block;margin-left:0;margin-top:.25rem;font-size:.75rem}.week-nav-btn{width:32px;height:32px;font-size:1.25rem}.week-calendar-days{gap:.25rem}.week-day{padding:.5rem .25rem}.week-day-name{font-size:.6rem}.week-day-date{font-size:1rem}.therapists-list{grid-template-columns:1fr}.therapists-list h3{font-size:1.5rem}.therapist-availability-card{padding:1.5rem;margin-left:0;margin-right:0;width:100%;box-sizing:border-box;max-width:100%}.therapist-info{flex-direction:column;text-align:center}.time-slots-grid-full{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.75rem}.booking{padding-left:0!important;padding-right:0!important}.booking .container{padding-left:1rem!important;padding-right:1rem!important;box-sizing:border-box!important;overflow-x:visible;margin-left:auto!important;margin-right:auto!important;max-width:100%!important;width:100%!important;position:relative!important;left:auto!important;right:auto!important;transform:none!important}.booking-container{max-width:900px}.booking-container,.booking-layout{margin-left:auto;margin-right:auto}.booking-sidebar{margin:0 auto;padding:0}.selection-filters{margin:0 auto;padding:1.5rem}.duration-selector,.filter-group,.massage-type-buttons{width:100%;margin:0;padding:0;box-sizing:border-box}.booking-container,.booking-layout{margin:0 auto}.booking-container,.booking-layout,.booking-main{padding:0;box-sizing:border-box;overflow-x:visible;width:100%;max-width:100%}.booking-sidebar,.selection-filters{width:100%;max-width:100%;box-sizing:border-box}.therapist-selection-section{padding:0}.therapist-cards-grid,.therapist-selection-section,.therapists-list{box-sizing:border-box;width:100%;max-width:100%;margin:0 auto}}.floating-cta{display:flex;justify-content:center;gap:.75rem;background:rgba(26,26,26,.85);backdrop-filter:blur(8px);padding:.5rem;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.25);width:-moz-fit-content;width:fit-content;margin:2rem auto}.floating-cta .btn{margin:0}.floating-cta .cta-learn{border:1px solid rgba(255,255,255,.3)}@media (max-width:600px){.floating-cta{gap:.5rem;padding:.4rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeInUp .8s ease-out}.memberships{padding:8rem 0;background-color:var(--color-white)}.subsection-title{font-size:2.5rem;font-weight:400;margin-bottom:1rem;color:var(--color-dark);text-align:center;letter-spacing:.05em}.subsection-description{font-size:1.1rem;color:var(--color-text-light);text-align:center;max-width:700px;margin:0 auto 3rem;line-height:1.7}.memberships-section,.punch-passes-section{margin-bottom:6rem}.memberships-grid,.punch-passes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2.5rem;margin-top:3rem}.membership-card,.punch-pass-card{background-color:var(--color-white);padding:2.5rem;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:var(--transition);position:relative;border:2px solid transparent;display:flex;flex-direction:column}.membership-card:hover,.punch-pass-card:hover{transform:translateY(-10px);box-shadow:0 8px 30px rgba(0,0,0,.12);border-color:var(--color-primary)}.membership-card.popular,.punch-pass-card.popular{border-color:var(--color-primary);box-shadow:0 6px 25px rgba(155,143,184,.2)}.popular-badge{position:absolute;top:-12px;right:2rem;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:var(--color-white);padding:.5rem 1.25rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 4px 15px rgba(155,143,184,.3)}.membership-name,.punch-pass-name{font-size:1.75rem;font-weight:600;color:var(--color-dark)}.membership-name,.membership-price,.punch-pass-name{margin-bottom:1rem;text-align:center}.price-amount{font-size:3rem;font-weight:600;color:var(--color-primary);font-family:var(--font-heading)}.price-period{font-size:1.1rem;color:var(--color-text-light);margin-left:.5rem}.membership-description,.punch-pass-description{font-size:1rem;color:var(--color-text-light);text-align:center;margin-bottom:1.5rem;line-height:1.6}.membership-savings,.punch-pass-savings{text-align:center;color:var(--color-secondary);font-weight:600;font-size:.95rem;margin-bottom:1.5rem;padding:.5rem 1rem;background:rgba(139,115,85,.1);border-radius:20px;display:inline-block;width:100%}.membership-features,.punch-pass-features{list-style:none;padding:0;margin:0 0 2rem;flex-grow:1}.membership-features li,.punch-pass-features li{padding:.75rem 0;color:var(--color-text);display:flex;align-items:flex-start;gap:.75rem;font-size:.95rem;line-height:1.5}.credits-explainer{margin:2.5rem auto 3rem;max-width:720px;text-align:center;background:rgba(155,143,184,.12);padding:2rem 2.5rem;border-radius:16px;box-shadow:0 6px 18px rgba(0,0,0,.08)}.credits-explainer p{color:var(--color-text);line-height:1.7;margin:0}.memberships-section.coming-soon{margin-top:3rem;text-align:center;background:var(--color-light);padding:3rem;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.08)}.founding-member-benefit-membership{max-width:700px;margin:2rem auto;padding:0}.founding-member-badge-membership{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,rgba(155,143,184,.15),rgba(155,143,184,.25));border:2px solid var(--color-primary);border-radius:30px;padding:.5rem 1.5rem;margin-bottom:1.25rem;font-family:var(--font-body);font-size:.9rem;font-weight:600;color:var(--color-dark);text-transform:uppercase;letter-spacing:.1em}.founding-member-benefit-text{background:linear-gradient(135deg,rgba(155,143,184,.1),rgba(155,143,184,.05));border-left:4px solid var(--color-primary);border-radius:8px;padding:1.25rem 1.5rem;font-family:var(--font-body);font-size:1rem;color:var(--color-text);line-height:1.7;margin:0}.founding-member-benefit-text strong{color:var(--color-dark);font-weight:600}.memberships-coming-soon{max-width:620px;margin:2rem auto 0;padding:2rem;background:var(--color-white);border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,.08)}.coming-soon-badge{display:inline-block;padding:.5rem 1.5rem;background:var(--color-primary);color:#fff;border-radius:999px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.memberships-coming-soon p{margin:1.5rem 0 2rem;color:var(--color-text);line-height:1.7}.btn.btn-outline{display:inline-block;border:2px solid var(--color-primary);color:var(--color-primary);background:transparent;padding:.85rem 2.4rem;border-radius:999px;font-weight:600;transition:all .3s ease}.btn.btn-outline:hover{background:var(--color-primary);color:#fff}.feature-icon{color:var(--color-secondary);font-weight:700;font-size:1.1rem;flex-shrink:0;margin-top:.1rem}.punch-pass-sessions{text-align:center;font-size:1.5rem;font-weight:600;color:var(--color-primary);margin-bottom:1rem;font-family:var(--font-heading)}.punch-pass-price{text-align:center;margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;gap:1rem}.punch-pass-price .price-amount{font-size:2.5rem}.original-price{font-size:1.5rem;color:var(--color-text-light);text-decoration:line-through;opacity:.6}.punch-pass-normal-price{text-align:center;font-size:1.1rem;color:rgba(255,255,255,.6);font-weight:400;text-decoration:line-through;margin:.5rem 0}.membership-card .btn,.punch-pass-card .btn{width:100%;text-align:center;margin-top:auto}.membership-info{background-color:var(--color-light);padding:3rem;border-radius:12px;margin:4rem 0}.membership-info .subsection-title{margin-bottom:2rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem}.info-item h4{font-size:1.3rem;font-weight:600;color:var(--color-dark);margin-bottom:1rem}.info-item ul{list-style:none;padding:0;margin:0}.info-item li{padding:.5rem 0 .5rem 1.5rem;color:var(--color-text);position:relative;font-size:.95rem;line-height:1.6}.info-item li:before{content:"•";position:absolute;left:0;color:var(--color-primary);font-weight:700;font-size:1.2rem}.membership-cta{text-align:center;padding:3rem;background:linear-gradient(135deg,var(--color-light),var(--color-white));border-radius:12px;margin-top:4rem}.membership-cta h3{font-size:2rem;font-weight:400;color:var(--color-dark);margin-bottom:1rem;font-family:var(--font-heading)}.membership-cta p{font-size:1.1rem;color:var(--color-text-light);margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}.logo-link{text-decoration:none;color:inherit;display:inline-block}.logo-link:hover .logo{color:var(--color-primary);transition:var(--transition)}@media (max-width:968px){.info-grid,.memberships-grid,.punch-passes-grid{grid-template-columns:1fr;gap:2rem}}@media (max-width:600px){.memberships{padding:6rem 0}.subsection-title{font-size:2rem}.subsection-description{font-size:1rem;padding:0 1rem}.membership-card,.membership-cta,.punch-pass-card{padding:2rem 1.5rem}.price-amount{font-size:2.5rem}.punch-pass-price .price-amount{font-size:2rem}.punch-pass-normal-price{font-size:1rem}.duration-price-container{gap:.2rem;padding-top:.4rem}.duration-price-current{font-size:1.1rem}.duration-price-original{font-size:.75rem}}.shop{padding:8rem 0;background-color:var(--color-white)}.shop-categories{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin:3rem 0;padding:0 1rem}.category-btn{padding:.75rem 1.5rem;background:var(--color-white);border:2px solid #e0e0e0;border-radius:30px;font-size:.9rem;font-weight:500;color:var(--color-text);cursor:pointer;transition:var(--transition);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.05em}.category-btn:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px)}.category-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-dark);font-weight:600}.shop-products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin:3rem 0}.product-card{background-color:var(--color-white);border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:var(--transition);overflow:hidden;display:flex;flex-direction:column;border:2px solid transparent}.product-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,.12);border-color:var(--color-primary)}.product-image-container{width:100%;height:250px;background:var(--color-light);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.product-image-placeholder{font-size:4rem;opacity:.6}.product-image-container img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.out-of-stock-badge{position:absolute;top:1rem;right:1rem;background:rgba(0,0,0,.7);color:var(--color-white);padding:.5rem 1rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.product-info{padding:1.5rem;display:flex;flex-direction:column;flex-grow:1}.product-name{font-size:1.3rem;font-weight:600;color:var(--color-dark);margin-bottom:.75rem;font-family:var(--font-heading)}.product-description{font-size:.9rem;color:var(--color-text-light);line-height:1.6;margin-bottom:1.5rem;flex-grow:1}.product-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto}.product-price{font-size:1.5rem;font-weight:600;color:var(--color-primary);font-family:var(--font-heading)}.btn-small{padding:.75rem 1.5rem;font-size:.85rem;white-space:nowrap}.btn-small:disabled{opacity:.5;cursor:not-allowed}.shop-info{background-color:var(--color-light);padding:3rem;border-radius:12px;margin:4rem 0}.shop-info .subsection-title{margin-bottom:2rem}.shop-info .info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem}.shop-info .info-item h4{font-size:1.3rem;font-weight:600;color:var(--color-dark);margin-bottom:1rem;font-family:var(--font-heading)}.shop-info .info-item p{font-size:.95rem;color:var(--color-text);line-height:1.7;margin:0}.shop-cta{text-align:center;padding:3rem;background:linear-gradient(135deg,var(--color-light),var(--color-white));border-radius:12px;margin-top:4rem}.shop-cta h3{font-size:2rem;font-weight:400;color:var(--color-dark);margin-bottom:1rem;font-family:var(--font-heading)}.shop-cta p{font-size:1.1rem;color:var(--color-text-light);margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}@media (max-width:968px){.shop-products-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.shop-info .info-grid{grid-template-columns:1fr;gap:2rem}.product-footer{flex-direction:column;align-items:stretch}.btn-small{width:100%}}@media (max-width:600px){.shop{padding:6rem 0}.shop-categories{gap:.75rem}.category-btn{padding:.6rem 1.25rem;font-size:.8rem}.shop-products-grid{grid-template-columns:1fr;gap:1.5rem}.product-image-container{height:200px}.product-info{padding:1.25rem}.product-name{font-size:1.1rem}.product-price{font-size:1.3rem}.shop-cta,.shop-info{padding:2rem 1.5rem}.shop-cta h3{font-size:1.75rem}.App,.hero{display:flex;flex-direction:column}.hero{order:1}.countdown-bar{order:2}.hero-right{order:3;position:static!important}.holiday-gift-section,.memberships{order:4}}.checkout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem}@media (max-width:768px){.checkout-grid{grid-template-columns:1fr;gap:2rem;padding:0 1rem}.checkout-grid>div:last-child{min-width:0;width:100%}.checkout-form-container{padding:1.5rem!important;margin:0!important}.checkout-form-container,.stripe-card-container{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.stripe-card-container{padding:1rem!important;min-width:0!important;overflow:visible!important}.stripe-card-container .StripeElement,.stripe-card-container iframe{width:100%!important;max-width:100%!important;min-width:0!important}}.classes{padding:8rem 0;background-color:var(--color-white)}.classes-header{text-align:center;margin-bottom:5rem}.classes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:3rem;margin-top:4rem}.class-card{background-color:var(--color-light);border-radius:12px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:var(--transition);display:flex;flex-direction:column}.class-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,.15)}.class-image{width:100%;height:250px;overflow:hidden}.class-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.class-content{padding:2rem;display:flex;flex-direction:column;flex-grow:1}.class-title{font-size:2rem;font-weight:400;color:var(--color-dark);margin-bottom:1rem;font-family:var(--font-heading)}.class-meta{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.5rem}.class-dates,.class-duration,.class-instructor{font-size:.95rem;color:var(--color-text-light);margin:0}.class-excerpt{font-size:1rem;line-height:1.7;color:var(--color-text);margin-bottom:1.5rem;flex-grow:1}.class-pricing{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;padding:1rem;background-color:var(--color-white);border-radius:8px}.price-early,.price-regular{font-size:1.8rem;font-weight:600;color:var(--color-primary);font-family:var(--font-heading)}.price-label{font-size:.9rem;color:var(--color-text-light)}.btn-class-details{display:inline-block;padding:1rem 2rem;background-color:var(--color-primary);color:var(--color-white);text-decoration:none;border-radius:8px;text-align:center;font-size:1rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;transition:var(--transition);border:none;cursor:pointer}.btn-class-details:hover{background-color:var(--color-secondary);transform:translateY(-2px);box-shadow:0 4px 15px rgba(155,143,184,.3)}.class-detail{padding:8rem 0;background-color:var(--color-white)}.class-detail-header{text-align:center;margin-bottom:4rem;padding-bottom:2rem;border-bottom:2px solid rgba(155,143,184,.2)}.class-detail-title{font-size:3.5rem;font-weight:300;color:var(--color-dark);margin-bottom:1.5rem;font-family:var(--font-heading)}.class-detail-meta{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin-top:1.5rem}.class-detail-dates,.class-detail-duration,.class-detail-instructor,.class-detail-location,.class-detail-time{font-size:1.1rem;color:var(--color-text)}.class-detail-meta strong{color:var(--color-primary);font-weight:600}.class-detail-content{max-width:900px;margin:0 auto}.class-detail-image{width:100%;height:400px;border-radius:12px;overflow:hidden;margin-bottom:3rem;box-shadow:0 8px 30px rgba(0,0,0,.12)}.class-detail-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.class-detail-description{margin-bottom:3rem}.class-detail-subtitle{font-size:2rem;font-weight:400;color:var(--color-dark);margin-bottom:1.5rem;font-family:var(--font-heading)}.class-detail-text{font-size:1.1rem;line-height:1.8;color:var(--color-text);margin-bottom:1.5rem}.class-detail-pricing{background-color:var(--color-light);padding:3rem;border-radius:12px;margin-bottom:3rem;text-align:center}.pricing-box{margin-bottom:2rem}.pricing-early,.pricing-regular{display:flex;flex-direction:column;align-items:center;gap:.5rem}.pricing-amount{font-size:3rem;font-weight:300;color:var(--color-primary);font-family:var(--font-heading)}.pricing-label{font-size:1.2rem;font-weight:500}.pricing-deadline{font-size:1rem}.pricing-deadline,.pricing-note{color:var(--color-text-light);font-style:italic}.pricing-note{font-size:.9rem;margin-top:1rem}.btn-register{display:inline-block;padding:1.2rem 3rem;background-color:var(--color-primary);color:var(--color-white);text-decoration:none;border-radius:8px;font-size:1.1rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;transition:var(--transition);border:none;cursor:pointer;font-family:var(--font-body)}.btn-register:hover{background-color:var(--color-secondary);transform:translateY(-2px);box-shadow:0 4px 15px rgba(155,143,184,.3)}.class-detail-info{margin-top:3rem}.class-detail-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:1rem}.class-detail-list li{font-size:1.1rem;line-height:1.7;color:var(--color-text);padding-left:1.5rem;position:relative}.class-detail-list li:before{content:"•";position:absolute;left:0;color:var(--color-primary);font-size:1.5rem;line-height:1.2}.class-detail-list li strong{color:var(--color-dark);font-weight:600}.location-item{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.google-maps-btn{display:inline-block;padding:.5rem 1rem;background-color:var(--color-primary);color:var(--color-white);text-decoration:none;border-radius:6px;font-size:.9rem;font-weight:500;transition:var(--transition);margin-top:.5rem}.google-maps-btn:hover{background-color:var(--color-secondary);transform:translateY(-1px);box-shadow:0 2px 8px rgba(155,143,184,.3)}.google-maps-btn-inline{display:inline-block;padding:.4rem .8rem;background-color:var(--color-primary);color:var(--color-white);text-decoration:none;border-radius:6px;font-size:.85rem;font-weight:500;transition:var(--transition);margin-left:.75rem;vertical-align:middle}.google-maps-btn-inline:hover{background-color:var(--color-secondary);transform:translateY(-1px);box-shadow:0 2px 8px rgba(155,143,184,.3)}@media (max-width:968px){.classes-grid{grid-template-columns:1fr;gap:2rem}.class-detail-meta{flex-direction:column;gap:1rem}.class-detail-image{height:300px}}@media (max-width:600px){.classes{padding:6rem 0}.classes-header{margin-bottom:3rem}.class-detail{padding:6rem 0}.class-detail-title{font-size:2.5rem}.class-detail-image{height:250px}.class-detail-pricing{padding:2rem 1.5rem}.pricing-amount{font-size:2.5rem}.btn-register{padding:1rem 2rem;font-size:1rem}}.registration-form-container{margin-top:2rem}.registration-form{background-color:var(--color-light);padding:2.5rem;border-radius:12px;max-width:600px;margin:0 auto}.registration-form-header{margin-bottom:2rem;text-align:center;padding-bottom:1.5rem;border-bottom:2px solid rgba(155,143,184,.2)}.registration-form-header h3{font-size:1.8rem;font-weight:400;color:var(--color-dark);margin-bottom:.75rem;font-family:var(--font-heading)}.deposit-info{font-size:1.1rem;color:var(--color-text);margin:0}.deposit-info strong{color:var(--color-primary);font-size:1.3rem;font-weight:600}.registration-form .form-group{margin-bottom:1.5rem}.registration-form label{display:block;font-size:1rem;font-weight:500;color:var(--color-dark);margin-bottom:.5rem;font-family:var(--font-body)}.registration-form input[type=email],.registration-form input[type=tel],.registration-form input[type=text]{width:100%;padding:.875rem 1rem;border:1px solid rgba(39,40,68,.2);border-radius:8px;font-size:1rem;font-family:var(--font-body);color:var(--color-text);background-color:var(--color-white);transition:var(--transition);box-sizing:border-box}.registration-form input[type=email]:focus,.registration-form input[type=tel]:focus,.registration-form input[type=text]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(155,143,184,.1)}.registration-form input:disabled,.registration-form select:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.participant-select{width:100%;padding:.875rem 1rem;border:1px solid rgba(39,40,68,.2);border-radius:8px;font-size:1rem;font-family:var(--font-body);color:var(--color-text);background-color:var(--color-white);transition:var(--transition);box-sizing:border-box;cursor:pointer}.participant-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(155,143,184,.1)}.participant-note{font-size:.85rem;color:var(--color-text-light);margin-top:.5rem;margin-bottom:0;font-style:italic}.pricing-summary{background-color:var(--color-white);border:1px solid rgba(39,40,68,.1);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.pricing-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid rgba(39,40,68,.05)}.pricing-row:last-child{border-bottom:none}.pricing-row.pricing-total{border-top:2px solid rgba(155,143,184,.3);border-bottom:2px solid rgba(155,143,184,.3);margin-top:.5rem;padding-top:1rem;padding-bottom:1rem;font-weight:600}.pricing-row.pricing-balance{background-color:rgba(255,193,7,.1);border:1px solid rgba(255,193,7,.3);border-radius:6px;padding:1rem;margin-top:.5rem;font-weight:600}.pricing-label{font-size:1rem;color:var(--color-text)}.pricing-value{font-size:1rem;color:var(--color-dark);font-weight:600}.pricing-total .pricing-value{font-size:1.2rem;color:var(--color-primary)}.pricing-balance .pricing-value{font-size:1.1rem;color:#856404}.balance-due-note{font-size:.9rem;color:#856404;margin-top:1rem;padding:.75rem;background-color:rgba(255,193,7,.1);border-left:3px solid #ffc107;border-radius:4px}.stripe-card-wrapper{padding:1rem;border:1px solid rgba(39,40,68,.2);border-radius:8px;background-color:var(--color-white);margin-bottom:.75rem}.payment-note{font-size:.9rem;color:var(--color-text-light);margin:0;font-style:italic}.btn-register-submit{width:100%;padding:1.2rem 2rem;background-color:var(--color-primary);color:var(--color-white);border:none;border-radius:8px;font-size:1.1rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:var(--transition);font-family:var(--font-body);margin-top:1rem}.btn-register-submit:hover:not(:disabled){background-color:var(--color-secondary);transform:translateY(-2px);box-shadow:0 4px 15px rgba(155,143,184,.3)}.btn-register-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.registration-error{background-color:#fee;color:#9e2146;padding:1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid #9e2146;font-size:.95rem}.loading-message{text-align:center;color:var(--color-text-light);font-size:.9rem;margin-top:.5rem;font-style:italic}.registration-success{background-color:var(--color-light);padding:3rem 2.5rem;border-radius:12px;text-align:center;max-width:600px;margin:0 auto}.success-icon{font-size:4rem;color:#4caf50;margin-bottom:1rem;font-weight:700}.registration-success h3{font-size:2rem;font-weight:400;color:var(--color-dark);margin-bottom:1rem;font-family:var(--font-heading)}.registration-success p{font-size:1.1rem;line-height:1.7;color:var(--color-text);margin-bottom:1rem}.registration-success p strong{color:var(--color-primary);font-weight:600}.success-note{background-color:rgba(155,143,184,.1);padding:1rem;border-radius:8px;margin-top:1.5rem;font-size:.95rem;color:var(--color-text);border-left:4px solid var(--color-primary)}.success-note strong{color:var(--color-dark)}@media (max-width:600px){.registration-form{padding:2rem 1.5rem}.registration-form-header h3{font-size:1.5rem}.deposit-info{font-size:1rem}.deposit-info strong{font-size:1.2rem}.btn-register-submit{padding:1rem 1.5rem;font-size:1rem}.registration-success{padding:2rem 1.5rem}.success-icon{font-size:3rem}.registration-success h3{font-size:1.5rem}}