/* Readable type for the spa, appointment flow, and owner settings. */
html{font-size:100%}body{font-size:1.125rem;line-height:1.75}
.hero-copy p,.section-intro p,.treatment-body p,.experience-copy p,.visit-steps p,.location-entry p,.location-heading>p,.faq-grid>div:first-child>p,details p,.contact p,.booking-heading p,.booking-empty p,.dialog-intro,.location-address,.booking-bar p,.appointment-meta span,.appointment-meta small,.booking-connection,.time-panel p,.time-list,.appointment-details p,.setup-section p{font-size:1.125rem;line-height:1.75}
summary{font-size:1.125rem;line-height:1.65;min-height:44px}
.navlinks,.menu,.button,.hero .button,.text-link,.filter,.treatment-search input,.treatment-book,.location-cta,.directions,.contact-whatsapp,.mobile-booking a,.footer-main>p,.footer-contact,.footer-contact>a:last-child,.footer-bottom,.booking-footer,.service-label,.service-select,#booking-service,.location-action,.calendar-help,.booking-tip,.customer-form label,.customer-form input,.customer-form select,.setup-input,.time-button,.date-grid button,.weekday-grid span{font-size:1rem;line-height:1.6}
.message-note,.booking-consent,.booking-result{font-size:1rem!important;line-height:1.75!important}
.eyebrow,.hero-copy .eyebrow,.location-entry>.eyebrow,.location-option .eyebrow,.treatment-body .category,.booking-kind,.treatment-body .booking-kind,.collection-note,.image-tag,.sample-caption,.small-note,.visual-note,.experience-values,.step-index,.visit-steps .step-index,.hero-note,.hero-index,.care-number,.hours span,.hours strong,.booking-progress,.topbar{font-size:.875rem;line-height:1.7}
.image-kicker{font-size:.875rem;letter-spacing:1px}.hero-caption>span{font-size:1rem;line-height:1.6;background:rgba(43,25,34,.76);padding:3px 8px;width:fit-content;border-radius:3px}
.treatment-body{padding:24px}.treatment-body p{min-height:0;margin-bottom:20px}.treatment-body .category{letter-spacing:1px}.treatment-book{min-height:48px;padding-top:15px}.sample-caption{padding:11px 24px 0}.image-tag{padding:5px 10px}.compare-divider span{width:44px;height:44px;font-size:22px}
.button,.hero .button{min-height:48px;padding:15px 22px}.button-small{padding:12px 18px}.filter{min-height:44px;padding:10px 16px}.treatment-search{width:240px;min-width:185px}.treatment-search input{min-height:40px}.treatment-toolbar{gap:18px}.filters{gap:6px}.collection-note{flex-wrap:wrap;gap:10px}
.hero-note{gap:16px}.hero-note strong{font-weight:500}.hero-caption{row-gap:5px}.hero-index{position:static;grid-column:1/-1;margin-top:4px}.hero{padding-bottom:27px}.hero-copy .eyebrow{flex-wrap:wrap;letter-spacing:1px}.hero-copy p{max-width:38ch}.section-intro{max-width:390px}.experience-values{flex-wrap:wrap;gap:10px 22px}.experience-frame .eyebrow{font-size:.875rem;letter-spacing:1px;text-align:center}.visit-steps p{max-width:36ch}.visit-steps h3{line-height:1.3}.hours{flex-wrap:wrap;gap:10px 22px}.location-entry p{min-height:0}.location-links{flex-wrap:wrap;gap:14px 22px}.location-entry .eyebrow{max-width:85%;letter-spacing:1px}
.footer-contact>a:first-child{font-size:1.25rem}.footer-main{grid-template-columns:.85fr 1.2fr 1fr}.footer-contact{gap:14px}.footer-bottom{flex-wrap:wrap}.footer-main>p{max-width:36ch}.visual-note{max-width:100%}
.location-dialog{width:min(840px,calc(100% - 32px));padding:44px;line-height:1.65}.location-option{padding:24px}.location-address{margin:15px 0 23px}.dialog-close{width:44px;height:44px;top:8px;right:10px}.service-label{letter-spacing:.8px}.service-select,#booking-service{padding:13px;min-height:48px}.customer-form input,.customer-form select,.setup-input{min-height:48px;padding:12px}.booking-progress{flex-wrap:wrap;gap:12px 22px}.booking-bar p{max-width:650px}.booking-empty{padding:42px 6%}.booking-empty .message-note{margin-top:22px!important}.call-alternative{font-size:1rem}.date-grid button{min-height:44px;padding:7px 0}.weekday-grid span{padding:7px 0;font-size:.875rem}.time-button{min-height:44px;min-width:74px}.setup-code{font-size:1rem;line-height:1.65}.setup-section h2{line-height:1.35}.booking-connection{padding:17px 19px}
@media(max-width:1150px){.treatment-toolbar{align-items:stretch;flex-direction:column}.treatment-search{width:100%;align-self:stretch}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-copy .eyebrow{font-size:.875rem}.hero .actions{gap:18px}}
@media(min-width:761px) and (max-width:1100px){.menu{display:flex;align-items:center;gap:20px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:10px 14px}.navlinks{display:none;position:absolute;top:93px;left:0;right:0;background:var(--cream);padding:24px 5.5%;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:8px}.navlinks.open{display:flex}}
@media(max-width:760px){.topbar{height:auto;min-height:36px;padding-top:5px;padding-bottom:5px;font-size:.875rem;text-align:center}.topbar a{gap:10px}.navlinks{font-size:1rem}.navlinks>a:not(.button){padding:12px 0}.menu{min-height:44px;font-size:1rem}.hero h1{font-size:clamp(52px,11vw,74px)}.hero-copy .eyebrow{font-size:.875rem;letter-spacing:.6px}.hero-copy p{font-size:1.125rem}.hero-copy p br{display:none}.hero-visual{height:470px}.hero-index{font-size:.875rem;line-height:1.8;letter-spacing:.7px}.cards{grid-template-columns:1fr}.treatment-body{padding:24px}.treatment-body h3{font-size:32px}.treatment-body p{font-size:1.125rem}.sample-caption{font-size:.875rem;padding:12px 24px 0}.treatment-book{font-size:1rem}.filters{gap:6px}.filter{font-size:1rem;padding:9px 13px}.collection-note{font-size:.875rem;align-items:start}.collection-note>span:first-child{max-width:100%}.experience-values{font-size:.875rem}.visit-steps article{display:block}.visit-steps .step-index{display:block;font-size:.875rem;padding:0}.visit-steps h3{font-size:28px;margin-top:15px}.visit-steps p{font-size:1.125rem;max-width:100%}.section-head{gap:26px}.location-entry{padding:28px}.location-entry p{font-size:1.125rem}.faq-grid>div:first-child>p{font-size:1.125rem}.contact p{font-size:1.125rem}.contact-actions .button{gap:15px}.footer-main{grid-template-columns:1fr;gap:20px}.footer-main>p{font-size:1rem;max-width:100%}.footer-contact{flex-direction:column;gap:13px}.footer-bottom{font-size:.875rem;line-height:1.8}.mobile-booking{gap:8px;padding-left:4%;padding-right:4%}.mobile-booking a{font-size:1rem;padding:13px 12px;min-height:48px}.booking-footer{font-size:1rem}.location-dialog{padding:38px 22px 25px}.location-options{grid-template-columns:1fr;gap:15px}.location-option .eyebrow{font-size:.875rem}.booking-wrap{padding-left:5.5%;padding-right:5.5%}.booking-bar strong{font-size:29px}.booking-heading h1{font-size:clamp(40px,8vw,58px)}.appointment-columns{grid-template-columns:1fr}.appointment-picker{padding:18px}.experience-art{padding:20px}.image-kicker{font-size:.875rem}.image-tag{font-size:.875rem}.before-tag{left:12px}.after-tag{right:12px}}
/* Finite, gentle motion. Content remains visible if JavaScript is unavailable. */
@keyframes elite-enter{from{opacity:.15;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:elite-enter .7s ease-out both}.hero-visual{animation:elite-enter .85s ease-out .08s both}.location-dialog[open]{animation:elite-enter .22s ease-out}.reveal-on-scroll{opacity:.15;transform:translateY(14px);transition:opacity .65s ease-out,transform .65s ease-out}.reveal-on-scroll.is-visible,.reveal-on-scroll:focus-within{opacity:1;transform:none}.button>span,.text-link>span,.location-cta>span{transition:transform .2s ease-out}.button:hover>span,.text-link:hover>span,.location-cta:hover>span{transform:translate(3px,-2px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-on-scroll{opacity:1!important;transform:none!important}}
