:root{--primary:#6ba292;--primary-dark:#5a8976;--accent:#c6a664;--bg-main:#faf9f7;--bg-card:#ece8e1;--bg-soft:#ffffffb8;--text-dark:#333;--text-light:#777;--font-heading:"Playfair Display", serif;--font-body:"Inter", sans-serif;--section-padding:clamp(64px, 9vw, 92px) clamp(16px, 4vw, 28px);--container-width:1120px;--radius-card:18px;--shadow-soft:0 14px 38px #00000014}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{min-height:100%}body{background:var(--bg-main);color:var(--text-dark);font-family:var(--font-body);margin:0;line-height:1.6;overflow-x:hidden}img,svg,video{max-width:100%;display:block}button,input,textarea,select{font:inherit}h1,h2,h3,.heading{font-family:var(--font-heading)}a{color:inherit;text-decoration:none;transition:color .3s,transform .3s,text-shadow .3s}a:hover{text-shadow:0 0 6px #6ba2924d;transform:translateY(-2px)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:3px;outline:2px solid #6ba292cc}a[href^=tel]{color:var(--primary);font-weight:500}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-main{flex:1}.dropdown{z-index:2000;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;border:1px solid #c6a66429;border-radius:18px;width:min(280px,100vw - 32px);padding:14px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 42px #00000024}.menu-item{min-height:46px;color:var(--text-dark);border-radius:12px;align-items:center;gap:10px;padding:11px 12px;transition:background .2s,transform .2s;display:flex}.menu-item:hover{background:var(--bg-card);transform:translateY(0)}@media (width<=767px){body{font-size:15px}.dropdown{width:min(280px,100vw - 24px);right:0}}.whatsapp-button{right:max(18px, calc(env(safe-area-inset-right) + 12px));bottom:max(18px, calc(env(safe-area-inset-bottom) + 12px));color:#fff;z-index:900;background:#25d366;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:22px;transition:transform .25s,box-shadow .25s,background .25s,opacity .25s;display:inline-flex;position:fixed;box-shadow:0 12px 28px #2a4a402e}.whatsapp-button:hover{background:#22c55e;transform:translateY(-2px);box-shadow:0 14px 30px #2a4a4033}@media (width<=767px){.whatsapp-button{right:max(16px, calc(env(safe-area-inset-right) + 10px));bottom:max(16px, calc(env(safe-area-inset-bottom) + 10px));width:50px;height:50px;font-size:21px}}@media (prefers-reduced-motion:reduce){.whatsapp-button{transition:none}}.treatments-page{background:linear-gradient(#f8f8f8,#fff);padding:100px 20px}.treatments-title{text-align:center;font-family:var(--font-heading);margin-bottom:40px}.treatments-layout{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:start;gap:40px;max-width:1100px;margin:0 auto;display:grid}.treatments-list{flex-direction:column;gap:15px;min-width:0;display:flex}.treatment-card{position:relative}.treatment-card.is-selected{border:1px solid #c6a66461;box-shadow:0 16px 40px #364a4029!important}.treatment-card__selected-badge{color:#fff;letter-spacing:.03em;white-space:nowrap;background:#ffffff29;border:1px solid #ffffff57;border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:5px 12px;font-size:12px;font-weight:600;animation:.28s treatmentSelectedFadeIn;display:inline-flex}.treatment-new-badge{color:#fff;letter-spacing:.02em;white-space:nowrap;background:#6f8f7a;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:5px 11px;font-size:12px;font-weight:500;line-height:1;animation:.28s treatmentSelectedFadeIn;display:inline-flex}.treatment-card__eyebrow-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.treatment-card__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:inherit;opacity:.72;font-size:12px;font-weight:600}.featured-treatment{background:linear-gradient(135deg,#ece8e1bf,#fffffff2);border:1px solid #c6a66461;border-radius:24px;margin-bottom:18px;padding:32px;overflow:hidden;box-shadow:0 18px 45px #0000000f}.featured-label-row{color:var(--text-dark);letter-spacing:.8px;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:600;display:flex}.featured-label-row>span[aria-hidden=true]{display:none}.featured-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-top:20px;display:flex}.featured-name{font-family:var(--font-heading);color:var(--text-dark);flex:560px;min-width:0;margin:0;font-size:clamp(30px,4vw,42px);line-height:1.12}.featured-meta{font-family:var(--font-body);color:var(--primary-dark);letter-spacing:.3px;white-space:nowrap;margin:0;font-size:clamp(16px,2vw,18px);font-weight:600}.featured-intro{color:var(--text-light);margin-top:18px;margin-bottom:16px;font-size:16px;line-height:1.8}.featured-description{color:var(--text-light);margin:0;font-size:15px;line-height:1.85}.featured-actions{flex-wrap:wrap;gap:14px;margin-top:26px;display:flex}.featured-primary-button,.featured-secondary-button,.booking-confirm-button{cursor:pointer;transition:all .25s}.featured-primary-button{color:#fff;letter-spacing:.3px;background:#6f8f7a;border:1px solid #6f8f7a;border-radius:14px;padding:14px 24px;font-size:15px;font-weight:500}.featured-secondary-button{color:var(--text-dark);letter-spacing:.3px;background:#ffffffb3;border:1px solid #6f8f7a47;border-radius:14px;padding:14px 24px;font-size:15px;font-weight:500}.booking-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffc;border-radius:18px;align-self:start;padding:30px;position:sticky;top:100px;box-shadow:0 10px 40px #00000014}.booking-options{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.booking-option-button{cursor:pointer;border-radius:999px;padding:8px 14px;transition:all .25s}.booking-summary{border-top:1px solid #eee;margin-top:25px;padding-top:15px}.booking-confirm-button{color:#fff;letter-spacing:.3px;background:#6f8f7a;border:1px solid #6f8f7a;border-radius:14px;width:100%;margin-top:24px;padding:14px 18px;font-size:14px;font-weight:500}.mobile-booking-bar{display:none}@media (width<=1024px){.treatments-layout{grid-template-columns:1fr;gap:28px}.booking-panel{order:-1;position:static;top:auto}.featured-treatment{padding:28px}}@media (width<=767px){.treatments-page{padding:92px 16px 56px;overflow-x:clip}.treatments-title{margin-bottom:28px}.treatments-layout{gap:22px}.featured-treatment{border-radius:20px;padding:22px 18px}.featured-label-row,.treatment-card__eyebrow-row{align-items:center}.featured-header{flex-direction:column;align-items:flex-start;gap:10px}.featured-name{overflow-wrap:anywhere;flex:auto;width:100%;font-size:clamp(28px,8vw,34px);line-height:1.18}.featured-meta{white-space:normal;width:100%}.featured-intro,.featured-description{width:100%}.featured-actions{flex-direction:column}.featured-primary-button,.featured-secondary-button{width:100%}.booking-panel{display:none}.booking-options{gap:8px}.booking-option-button{width:100%}.treatments-list.has-mobile-booking-bar{padding-bottom:calc(118px + env(safe-area-inset-bottom,0px))}.mobile-booking-bar{z-index:950;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));pointer-events:none;background:linear-gradient(#faf9f700,#faf9f7f5);animation:.35s mobileBookingBarSlideUp;display:block;position:fixed;bottom:0;left:0;right:0}.mobile-booking-bar__content{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto;background:#ffffffe0;border:1px solid #c6a6642e;border-radius:22px 22px 0 0;flex-direction:column;gap:14px;padding:16px;display:flex;box-shadow:0 -8px 28px #00000024}.mobile-booking-bar__details{min-width:0}.mobile-booking-bar__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-light);margin:0 0 4px;font-size:12px}.mobile-booking-bar__title{font-family:var(--font-heading);color:var(--text-dark);overflow-wrap:anywhere;margin:0;font-size:20px;line-height:1.25}.mobile-booking-bar__meta{color:var(--primary-dark);letter-spacing:.02em;margin:6px 0 0;font-size:14px;font-weight:600;line-height:1.5}.mobile-booking-bar__button{color:#fff;letter-spacing:.02em;background:#6f8f7a;border:1px solid #6f8f7a;border-radius:14px;width:100%;min-height:48px;font-size:15px;font-weight:600;transition:background .25s,transform .25s}}@media (prefers-reduced-motion:reduce){.mobile-booking-bar,.featured-primary-button,.featured-secondary-button,.booking-confirm-button,.booking-option-button,.treatment-card,.treatment-card__selected-badge,.treatment-new-badge{transition:none!important;animation:none!important}}@keyframes mobileBookingBarSlideUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes treatmentSelectedFadeIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.site-section{padding:var(--section-padding)}.site-container{width:min(var(--container-width), 100%);margin:0 auto}.cta-button{background:var(--primary);color:#fff;letter-spacing:.04em;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:14px 32px;font-size:16px;transition:background .3s,transform .3s,box-shadow .3s;display:inline-flex;box-shadow:0 6px 15px #0000001a}.cta-button:hover{background:var(--primary-dark);text-shadow:none;transform:translateY(-2px)}.ghost-button{min-height:48px;color:var(--text-dark);background:#ffffffa6;border:1px solid #6ba2924d;border-radius:999px;justify-content:center;align-items:center;padding:14px 24px;transition:background .3s,transform .3s;display:inline-flex}.ghost-button:hover{text-shadow:none;background:#fff;transform:translateY(-2px)}.section-heading{letter-spacing:.03em;margin:0 0 16px;font-size:clamp(28px,4vw,40px);line-height:1.14}.section-subheading{margin:0 0 28px;font-size:clamp(24px,3vw,32px);line-height:1.18}.section-copy{color:var(--text-light);font-size:clamp(15px,1.8vw,16px);line-height:1.85}.navbar{z-index:1000;width:100%;transition:all .4s;position:fixed;left:0;right:0}.navbar-inner{width:min(var(--container-width), calc(100% - 32px));justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:18px 0;display:flex}.navbar.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;box-shadow:0 4px 20px #00000014}.navbar:not(.scrolled){-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#ffffffbf,#fff0)}.navbar-brand{align-items:center;gap:12px;min-width:0;display:inline-flex}.navbar-brand-logo{object-fit:cover;border-radius:20px;flex-shrink:0;width:clamp(40px,4vw,46px);height:clamp(40px,4vw,46px)}.navbar-brand-text{min-width:0}.navbar-brand-title{letter-spacing:.16em;color:var(--text-dark);font-size:clamp(18px,2.1vw,22px)}.navbar-brand-subtitle{color:var(--text-dark);font-size:clamp(11px,1.4vw,13px);font-style:italic}.navbar-toggle{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;background:#ffffffb8;border:1px solid #c6a66447;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;transition:all .3s;display:inline-flex;position:relative;box-shadow:0 10px 30px #0000000f}.navbar-toggle:hover{border-color:#c6a66473;transform:translateY(-1px);box-shadow:0 12px 30px #0000001f}.hero{text-align:center;color:#fff;justify-content:center;align-items:center;min-height:clamp(460px,72vh,640px);display:flex;position:relative;overflow:hidden}.hero:before{content:"";background:#00000059;position:absolute;inset:0}.hero-bg{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-content{z-index:2;width:min(900px,100% - 32px);margin:0 auto;padding:32px 0 24px;position:relative}.hero-title{margin:0 0 16px;font-size:clamp(34px,6vw,56px);line-height:1.12}.hero-copy{color:#f0f0f0;margin:0 0 30px;font-size:clamp(16px,2vw,20px)}.services-grid,.testimonials-grid,.about-cards{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:clamp(18px,3vw,30px);display:grid}.services-grid{align-items:stretch}.services-card,.testimonial-card,.about-card,.about-cta-card{min-width:0}.services-card{background:var(--bg-card);border-radius:var(--radius-card);text-align:center;height:100%;color:var(--text-dark);padding:26px 24px;box-shadow:0 6px 20px #0000000d}.services-card p,.testimonial-card p,.about-card p{overflow-wrap:anywhere}.testimonials-intro,.contact-card,.about-intro{width:min(900px,100%);margin:0 auto}.testimonial-card{background:var(--bg-card);border-radius:var(--radius-card);text-align:left;padding:28px 24px;box-shadow:0 8px 25px #0000000d}.testimonial-card:hover,.services-card:hover,.about-card:hover,.about-cta-card:hover{text-shadow:none;transform:translateY(-4px);box-shadow:0 12px 35px #0000001f}.about-page{background:var(--bg-main);padding-top:100px}.about-hero{width:100%;height:clamp(300px,45vw,500px);overflow:hidden}.about-hero img{object-fit:cover;object-position:center 35%;width:100%;height:100%}.about-intro{text-align:center;padding:40px 20px 0}.about-intro p+p{margin-top:14px}.about-portrait-wrap{justify-content:center;padding:16px 20px 20px;display:flex}.about-portrait-frame{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb3;border-radius:24px;width:min(100%,360px);padding:14px;box-shadow:0 18px 45px #00000014}.about-portrait{aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:18px;width:100%}.about-cards-section{padding:40px 20px 72px}.about-card,.about-cta-card{border-radius:var(--radius-card);background:var(--bg-card);text-align:center;color:var(--text-dark);flex-direction:column;align-items:center;min-height:280px;padding:26px 24px;transition:all .3s;display:flex;box-shadow:0 6px 20px #0000000d}.contact-card{text-align:center}.contact-hours,.contact-details,.contact-location{flex-direction:column;gap:4px;display:flex}.contact-details{margin-top:18px}.contact-location{align-items:center;gap:12px;margin-top:35px}.contact-map{border-radius:14px;width:min(320px,90%);box-shadow:0 6px 20px #0000001f}.site-footer{background:var(--bg-card);text-align:center;border-top:1px solid var(--accent);padding:30px 20px}.footer-logo{object-fit:cover;border-radius:20px;width:40px;height:40px;margin:0 auto 6px}.footer-socials{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:12px;display:flex}.footer-socials a{background:#fff9;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.whatsapp-button{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));color:#fff;z-index:900;background:#25d366;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;animation:2s infinite pulse;display:inline-flex;position:fixed;box-shadow:0 10px 24px #00000038}@media (width<=1024px){.navbar-inner{width:calc(100% - 24px)}.about-intro,.about-cards-section,.about-portrait-wrap{padding-left:16px;padding-right:16px}}@media (width<=767px){.site-section{padding-left:16px;padding-right:16px}.navbar-inner{gap:12px;width:calc(100% - 20px);padding:14px 0}.navbar-brand-title{letter-spacing:.12em}.navbar-brand-subtitle{max-width:112px}.navbar-toggle{width:48px;height:48px}.hero{align-items:flex-end;min-height:520px}.hero-content{width:calc(100% - 24px);padding-bottom:36px}.hero-copy{line-height:1.7}.cta-button,.ghost-button{width:100%}.services-grid,.testimonials-grid,.about-cards{grid-template-columns:1fr}.services-card,.testimonial-card,.about-card,.about-cta-card{padding:22px 20px}.about-page{padding-top:88px}.about-intro{padding-top:28px}.contact-location{margin-top:28px}.footer-socials{gap:12px}.whatsapp-button{width:54px;height:54px;font-size:22px}}@media (width<=479px){.navbar-brand{gap:10px}.navbar-brand-title{font-size:17px}.hero-title{font-size:clamp(30px,10vw,38px)}.hero-copy,.section-copy{font-size:15px}}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 #25d366b3}70%{transform:scale(1.08);box-shadow:0 0 0 15px #25d36600}to{transform:scale(1)}}
