:root{--color-charcoal:#1a1a1a;--color-navy:#0a1128;--color-stone:#f4f1ea;--color-stone-dark:#e8e4d9;--color-sage:#8a9a5b;--color-gold:#b8860b;--color-gold-text:#9a6e00;--color-white:#ffffff;--color-text:#2c2c2c;--color-text-muted:#666666;--font-heading:'Cormorant Garamond',serif;--font-body:'Inter',sans-serif;--space-xs:0.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:3.5rem;--space-xl:6rem;--transition-slow:0.8s cubic-bezier(0.2,0,0.2,1);--transition-med:0.4s ease;} .lazy-bg{opacity:0;transition:opacity 1s ease-in;} .lazy-bg.loaded{opacity:1;} *{margin:0;padding:0;box-sizing:border-box;} body{font-family:var(--font-body);background-color:var(--color-stone);color:var(--color-text);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;} h1,h2,h3,h4,.font-serif{font-family:var(--font-heading);font-weight:400;line-height:1.25;color:var(--color-charcoal);} a{text-decoration:none;color:inherit;transition:var(--transition-med);} ul{list-style:none;} img{max-width:100%;height:auto;display:block;} .container{max-width:1400px;margin:0 auto;padding:0 var(--space-md);} .section-padding{padding:var(--space-xl) 0;} @media (max-width:768px){.section-padding{padding:var(--space-lg) 0;} } .btn{display:inline-block;padding:1rem 2.5rem;font-size:0.875rem;text-transform:uppercase;letter-spacing:0.15em;font-weight:500;cursor:pointer;transition:var(--transition-med);border:1px solid transparent;} .btn-primary{background-color:var(--color-gold);color:var(--color-white);box-shadow:0 4px 15px rgba(184,134,11,0.2);} .btn-primary:hover{background-color:var(--color-charcoal);color:var(--color-gold);transform:translateY(-2px);box-shadow:0 8px 20px rgba(184,134,11,0.3);} .btn-outline{border-color:var(--color-charcoal);color:var(--color-charcoal);} .btn-outline:hover{border-color:var(--color-gold);color:var(--color-gold);} .fade-up{opacity:0;transform:translateY(30px);transition:var(--transition-slow);} .fade-up.visible{opacity:1;transform:translateY(0);} .text-gold{color:var(--color-gold);} .text-gold-alt{color:var(--color-gold-text);} .text-sage{color:var(--color-sage);} .italic{font-style:italic;} .tracking-widest{letter-spacing:0.2em;} .uppercase{text-transform:uppercase;} .text-center{text-align:center;} .max-w-md{max-width:800px;} .mx-auto{margin-left:auto;margin-right:auto;} .mt-md{margin-top:var(--space-md);} .flex-between{display:flex;justify-content:space-between;align-items:center;} .navbar{position:fixed;top:0;width:100%;padding:1.2rem 0;z-index:1000;background-color:rgba(26,26,26,0.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(184,134,11,0.2);transition:all 0.4s ease;} .navbar.scrolled{padding:0.8rem 0;background-color:rgba(26,26,26,0.98);box-shadow:0 10px 30px rgba(0,0,0,0.2);} .logo{display:flex;align-items:center;padding:5px 0;gap:8px;text-decoration:none;} .logo img{height:48px;width:auto;object-fit:contain;} .logo-text{display:flex;flex-direction:column;justify-content:center;} .brand-name{font-family:var(--font-heading);font-size:1.8rem;font-weight:700;color:var(--color-gold);letter-spacing:0.02em;line-height:1;text-transform:uppercase;} .brand-tagline{font-family:var(--font-heading);font-size:0.8rem;color:var(--color-gold);letter-spacing:0.02em;line-height:1;margin-top:4px;} .brand-mark{width:32px;height:32px;color:var(--color-gold);display:flex;align-items:center;justify-content:center;} .brand-mark svg{width:100%;height:100%;} .nav-links{display:flex;gap:var(--space-md);align-items:center;} .nav-toggle{display:none;cursor:pointer;z-index:1001;width:30px;height:20px;position:relative;} .nav-toggle .bar{width:100%;height:2px;background-color:var(--color-gold);position:absolute;top:50%;transform:translateY(-50%);transition:all 0.3s ease;} .nav-toggle::before,.nav-toggle::after{content:'';width:100%;height:2px;background-color:var(--color-gold);position:absolute;left:0;transition:all 0.3s ease;} .nav-toggle::before{top:0;} .nav-toggle::after{bottom:0;} .nav-toggle.open .bar{opacity:0;} .nav-toggle.open::before{top:50%;transform:translateY(-50%) rotate(45deg);} .nav-toggle.open::after{bottom:50%;transform:translateY(50%) rotate(-45deg);} @media (max-width:768px){.nav-toggle{display:block;} .nav-links{position:fixed;top:0;right:-100%;width:100%;height:100vh;background-color:var(--color-navy);flex-direction:column;justify-content:center;align-items:center;transition:right 0.5s cubic-bezier(0.77,0,0.175,1);z-index:1005;gap:var(--space-lg);} .nav-links.active{right:0;} .nav-links a{font-size:1.5rem;color:var(--color-white);} } .nav-links a{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.1em;font-weight:500;color:var(--color-white);} .nav-links a:hover{color:var(--color-gold);} .nav-toggle{display:none;flex-direction:column;gap:6px;cursor:pointer;} .nav-toggle .bar{width:25px;height:2px;background-color:var(--color-white);transition:var(--transition-med);} @media (max-width:768px){.nav-toggle{display:flex;} } .hero-sanctuary{min-height:100vh;display:flex;align-items:center;position:relative;background-color:var(--color-charcoal);color:var(--color-white);overflow:hidden;padding:80px 0;} .hero-sanctuary .container{max-width:100%;margin:0;padding:0;} .hero-background{position:absolute;top:0;left:0;width:100%;height:100%;background-image:url('stay_well_navy_gold_hero_1777074342140.png');background-size:cover;background-position:center;} .hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,rgba(10,17,40,1) 0%,rgba(10,17,40,1) 35%,rgba(10,17,40,0.7) 50%,transparent 100%);z-index:1;} .hero-content{position:relative;z-index:2;max-width:650px;margin-left:8vw;text-align:left;padding-right:var(--space-md);} .hero-content h1{font-size:clamp(3rem,8vw,5rem);color:var(--color-white);margin:0;font-weight:400;text-shadow:none;} .hero-content p{font-size:1.1rem;color:rgba(255,255,255,0.7);margin-bottom:var(--space-lg);font-weight:300;text-shadow:none;} .hero-cta{display:flex;gap:var(--space-sm);} .hero-cta .btn-outline{border-color:rgba(255,255,255,0.4);color:var(--color-white);} .hero-cta .btn-outline:hover{border-color:var(--color-gold);color:var(--color-gold);background:rgba(255,255,255,0.05);} .hero-content .tracking-widest{text-shadow:0 2px 10px rgba(0,0,0,0.3);font-weight:600;} .hero-rating{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);} .hero-rating .stars{color:var(--color-gold);letter-spacing:2px;} .hero-rating .rating-text{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.1em;font-weight:600;color:rgba(255,255,255,0.9);} .sensory-vibe h2{font-size:clamp(2.5rem,6vw,4rem);margin-bottom:var(--space-md);} .sensory-vibe p{font-size:1.25rem;color:var(--color-text-muted);} .classic-menu{max-width:600px;margin:0 auto;padding-bottom:var(--space-lg);border-bottom:1px solid rgba(26,26,26,0.05);} .price-list{display:flex;flex-direction:column;gap:1rem;} .price-item{display:flex;justify-content:space-between;align-items:baseline;font-size:1.1rem;color:var(--color-charcoal);} .price-item .dots{flex:1;border-bottom:1px dotted var(--color-stone-dark);margin:0 15px;} .price-item span:last-child{font-weight:600;color:var(--color-gold);} .services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-md);margin-top:var(--space-lg);} .treatment-card{background:var(--color-white);padding:2.5rem;border:1px solid rgba(26,26,26,0.05);transition:var(--transition-med);position:relative;overflow:hidden;} .treatment-card:hover{border-color:var(--color-gold);transform:translateY(-5px);box-shadow:0 20px 40px rgba(0,0,0,0.05);} .highlight-card{border-color:var(--color-gold);background:var(--color-stone-dark);} .best-value-badge{position:absolute;top:20px;left:50%;transform:translateX(-50%);background:var(--color-gold);color:var(--color-white);font-size:0.65rem;text-transform:uppercase;padding:4px 12px;letter-spacing:0.15em;font-weight:700;border-radius:2px;box-shadow:0 4px 10px rgba(184,134,11,0.2);} .treatment-card h3{font-size:1.75rem;margin-bottom:var(--space-sm);} .treatment-card .price{font-size:0.875rem;color:var(--color-gold);text-transform:uppercase;letter-spacing:0.1em;font-weight:600;display:block;margin-bottom:var(--space-sm);} .treatment-card p{color:var(--color-text-muted);font-size:0.95rem;} .spotlight-section{background-color:var(--color-charcoal);color:var(--color-white);} .footer{background-color:var(--color-charcoal);color:var(--color-white);padding:var(--space-lg) 0;border-top:1px solid rgba(184,134,11,0.2);} .footer .logo{justify-content:center;margin-bottom:var(--space-sm);} .footer .logo img{height:50px;width:auto;margin-bottom:0.5rem;} .footer p{color:rgba(255,255,255,0.7) !important;font-size:0.85rem;max-width:600px;margin-left:auto;margin-right:auto;} .footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:var(--space-md);font-size:0.7rem;text-transform:uppercase;letter-spacing:0.1em;color:rgba(184,134,11,0.6) !important;} .spotlight-split{display:flex;align-items:center;gap:var(--space-xl);} .spotlight-image{flex:1;position:relative;} .spotlight-image img{width:100%;border-radius:2px;filter:sepia(0.2) contrast(1.1);} .therapist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-md);margin-top:var(--space-lg);} .therapist-card-premium{position:relative;overflow:hidden;border-radius:4px;background:var(--color-navy);border:1px solid rgba(184,134,11,0.1);transition:var(--transition-med);} .therapist-card-premium:hover{transform:translateY(-10px);border-color:var(--color-gold);box-shadow:0 20px 40px rgba(0,0,0,0.4);} .therapist-image{position:relative;aspect-ratio:4/5;overflow:hidden;} .therapist-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.8s cubic-bezier(0.2,0,0.2,1);} .therapist-card-premium:hover .therapist-image img{transform:scale(1.05);} .therapist-overlay{position:absolute;bottom:0;left:0;width:100%;padding:2rem 1.5rem 1rem;background:linear-gradient(to top,rgba(10,17,40,0.95) 0%,rgba(10,17,40,0.4) 50%,transparent 100%);color:var(--color-white);text-align:center;} .therapist-info h3{color:var(--color-white);font-size:1.5rem;margin-bottom:0.2rem;} .therapist-info .role{color:var(--color-gold);font-size:0.8rem;text-transform:uppercase;letter-spacing:0.1em;font-weight:600;} .spotlight-content{flex:1.2;} .spotlight-content h2{color:var(--color-white);} @media (max-width:768px){.spotlight-split{flex-direction:column;gap:var(--space-lg);text-align:center;} } .booking-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-sm);margin-bottom:var(--space-md);} @media (max-width:768px){.booking-options{grid-template-columns:1fr;} } .spotlight-bio{font-size:1.1rem;line-height:1.8;color:rgba(255,255,255,0.8);margin-bottom:var(--space-lg);} .trust-badges{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);} .badge-item{display:flex;align-items:center;gap:var(--space-sm);} .badge-icon{width:40px;height:40px;border:1px solid var(--color-gold);display:flex;align-items:center;justify-content:center;color:var(--color-gold);font-size:0.8rem;} .badge-text h4{font-size:0.9rem;color:var(--color-white);text-transform:uppercase;letter-spacing:0.1em;} .badge-text p{font-size:0.75rem;color:var(--color-gold);} @media (max-width:1024px){.spotlight-split{flex-direction:column;gap:var(--space-lg);} } .booking-section{background-color:var(--color-stone-dark);} .booking-container{max-width:800px;margin:0 auto;background:var(--color-white);padding:var(--space-lg);box-shadow:0 40px 100px rgba(0,0,0,0.05);} .booking-steps{display:flex;justify-content:space-between;margin-bottom:var(--space-lg);position:relative;} .booking-steps::before{content:'';position:absolute;top:50%;left:0;width:100%;height:1px;background:var(--color-stone-dark);z-index:1;} .step-indicator{width:25px;height:25px;background:var(--color-stone);border:1px solid var(--color-stone-dark);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.65rem;position:relative;z-index:2;transition:var(--transition-med);} .step-indicator.active{background:var(--color-gold);color:var(--color-white);border-color:var(--color-gold);} .step-content{display:none;} .step-content.active{display:block;animation:fadeIn 0.5s ease;} .form-group{margin-bottom:var(--space-md);} .form-group label{display:block;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:var(--space-xs);font-weight:600;} .form-control{width:100%;padding:1rem;border:1px solid var(--color-stone-dark);font-family:inherit;font-size:1rem;outline:none;transition:var(--transition-med);} .form-control:focus{border-color:var(--color-gold);} .booking-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-sm);} .option-card{padding:var(--space-md);border:1px solid var(--color-stone-dark);text-align:center;cursor:pointer;transition:var(--transition-med);position:relative;background:var(--color-white);} .option-icon{width:40px;height:40px;margin:0 auto 0.5rem;display:flex;align-items:center;justify-content:center;color:var(--color-gold);transition:var(--transition-med);} .option-icon svg{width:100%;height:100%;} .tier-elite .option-icon{color:var(--color-gold);} .option-card:hover,.option-card.selected{border-color:var(--color-gold);background:rgba(184,134,11,0.03);transform:translateY(-2px);} .option-card.selected .option-icon{opacity:1;transform:scale(1.1);} .option-card.selected::after{content:'✓';position:absolute;top:10px;right:10px;color:var(--color-gold);font-size:0.7rem;font-weight:700;} .option-card h4{font-size:0.85rem;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:5px;color:var(--color-charcoal);} .option-card p{font-size:0.75rem;color:var(--color-text-muted);} .tier-essential{background-color:var(--color-white);border:1px solid var(--color-stone-dark);} .tier-signature{background:linear-gradient(145deg,#fffdf5 0%,#fdf5e2 100%);border:2px solid var(--color-gold);box-shadow:0 15px 35px rgba(184,134,11,0.15);} .tier-elite{background-color:var(--color-charcoal);border:1px solid var(--color-gold);} .tier-elite h3,.tier-elite h4{color:var(--color-gold) !important;} .tier-elite p,.tier-elite span,.tier-elite .option-icon{color:var(--color-white) !important;} .tier-elite.selected{background-color:#111111;box-shadow:0 0 30px rgba(184,134,11,0.3);} .booking-nav{display:flex;justify-content:space-between;margin-top:var(--space-lg);} @keyframes fadeIn{from{opacity:0;transform:translateY(10px);} to{opacity:1;transform:translateY(0);} } .direct-booking{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-stone-dark);display:flex;justify-content:center;gap:var(--space-md);} .trigger-link{font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-gold);display:flex;align-items:center;gap:5px;} .testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--space-lg);} .testimonial-card{background:var(--color-white);padding:var(--space-lg);border:1px solid rgba(26,26,26,0.03);position:relative;} .testimonial-card blockquote{font-family:var(--font-heading);font-size:1.5rem;line-height:1.4;margin-bottom:var(--space-md);color:var(--color-charcoal);} .testimonial-card cite{font-style:normal;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-gold);font-weight:600;} .faq-section{background-color:var(--color-stone);} .faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-md);max-width:1200px;margin:0 auto;} .faq-item{background:var(--color-white);padding:2rem;border:1px solid rgba(26,26,26,0.05);transition:var(--transition-med);position:relative;border-left:3px solid transparent;} .faq-item:hover{border-left-color:var(--color-gold);transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,0.05);} .faq-item h4{font-family:var(--font-heading);font-size:1.4rem;color:var(--color-gold);margin-bottom:1rem;line-height:1.2;} .faq-item p{font-size:0.95rem;color:var(--color-text-muted);line-height:1.6;} .sticky-cta-bar{position:fixed;bottom:0;left:0;width:100%;background:var(--color-white);padding:0.8rem var(--space-sm);box-shadow:0 -10px 30px rgba(0,0,0,0.1);display:none;z-index:999;justify-content:space-between;align-items:center;border-top:1px solid var(--color-gold);} .sticky-cta-bar .logo{font-family:var(--font-heading);font-size:0.9rem;font-weight:700;letter-spacing:0.05em;color:var(--color-charcoal);} .sticky-cta-bar .logo span{color:var(--color-gold);} .faq-section{background-color:var(--color-stone);} .faq-item{background:var(--color-white);padding:var(--space-md);margin-bottom:var(--space-sm);border:1px solid rgba(26,26,26,0.05);transition:var(--transition-med);} .faq-item:hover{border-color:var(--color-gold);transform:translateX(10px);} .faq-item h4{color:var(--color-gold);margin-bottom:0.5rem;} @media (max-width:768px){.sticky-cta-bar.visible{display:flex;} } .floating-contact{position:fixed;right:20px;bottom:80px;display:flex;flex-direction:column;gap:12px;z-index:1001;} .float-btn{width:55px;height:55px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,0.15);text-decoration:none;transition:var(--transition-med);position:relative;color:white;border:2px solid white;} .float-btn.whatsapp{background:var(--color-gold);color:var(--color-charcoal);border:1px solid rgba(255,255,255,0.2);} .float-btn.call{background:var(--color-charcoal);color:var(--color-gold);border:1px solid var(--color-gold);} .float-btn.sms{background:#007aff;color:white;border:1px solid rgba(255,255,255,0.2);} .float-btn::after{content:attr(data-label);position:absolute;right:70px;background:var(--color-charcoal);color:white;padding:5px 12px;border-radius:4px;font-size:0.7rem;text-transform:uppercase;letter-spacing:0.1em;white-space:nowrap;opacity:0;pointer-events:none;transition:var(--transition-med);} .float-btn:hover::after{opacity:1;} .float-btn:hover{transform:scale(1.1) translateY(-5px);} @media (min-width:769px){.floating-contact{bottom:30px;} } .summary-container{display:flex;flex-direction:column;gap:12px;color:var(--color-charcoal);text-align:left;font-family:var(--font-heading);} .summary-item{margin:0;border-bottom:1px solid rgba(184,134,11,0.1);padding-bottom:8px;} .summary-label{color:var(--color-gold);text-transform:uppercase;font-size:0.7rem;letter-spacing:0.1em;font-weight:700;} .error-message{color:#ff4444;font-size:0.75rem;margin-top:4px;display:none;} .form-group.error .form-control{border-color:#ff4444;} .form-group.error .error-message{display:block;} .option-group-error{color:#ff4444;font-size:0.75rem;margin-top:-10px;margin-bottom:20px;display:none;} .step-content.error .option-group-error{display:block;}