/* Compact layouts and branded choice controls. */
.section{padding-block:52px}.section-head{gap:28px;margin-bottom:24px}.section-head .eyebrow{margin-bottom:10px}.intro-strip>.wrap{padding-block:18px}.header-inner{height:76px}.hero{min-height:610px}.hero-content{padding-block:48px 38px}.hero p{margin-top:18px}.hero-offer{margin-block:18px}.hero-bottom{margin-top:22px}.first-visit-copy{padding:30px 34px}.first-visit-copy>p{margin-top:14px}.service-grid{gap:22px 16px}.card-body{padding-top:12px}.card-body p{margin-top:8px}.expand-massage{margin-top:22px}.spa-intro{margin-bottom:28px;min-height:385px}.spa-intro>div{padding-block:16px}.spa-grid,.equipment-grid{gap:22px 18px}.spa-banner-copy{padding:18px}.spa-banner-copy strong{margin-top:10px}.equipment-layout{gap:32px}.equipment-consult{padding:24px}.equipment-consult p{margin-top:14px}.passes-section{margin-top:36px}.passes-grid{gap:18px}.pass-copy{padding:24px}.pass-copy .pass-price{margin-top:20px}.masters-grid{gap:18px}.master-card h3{margin-top:13px}.gift-copy{padding-block:38px}.gift-copy>p{margin-top:16px}.gift-discount{margin-block:18px}.gift-options{gap:8px;margin-bottom:20px}.price-toolbar{margin-bottom:20px}.price-search-label{margin-bottom:14px}.price-groups summary{padding-block:16px}.price-row{padding-block:12px}.trust-section{padding-block:42px}.benefit-banners{gap:12px}.review-grid{gap:16px}.review-card{padding:20px}.review-person{margin-bottom:14px}.review-card .text-link{margin-top:10px}.contacts-layout{gap:36px}.contact-phone{margin-block:20px 14px}.contact-socials{margin-top:18px}.btn{min-height:44px;padding-block:12px}.price-filters button,.text-link{min-height:40px}.card-bottom .text-link{display:inline-flex;align-items:center}

.booking-dialog,.online-dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b4a481 #eee8dc;border:1px solid #dbd1bb;border-radius:8px}.booking-dialog{width:640px;padding:24px 28px}.online-dialog{width:900px}.dialog-close{width:40px;height:40px;right:10px;top:10px;z-index:5}.booking-intro{margin-bottom:14px;padding-right:30px}.booking-intro h2{font-size:30px}.booking-intro .eyebrow{margin-bottom:6px}.booking-intro p{margin:8px 0 0;max-width:none;line-height:1.5}.booking-dialog label,.online-dialog label{margin-bottom:10px;min-width:0}.booking-dialog .form-grid,.online-dialog .form-grid{gap:10px}.booking-dialog input,.booking-dialog textarea,.online-dialog input,.online-dialog textarea{margin-top:4px;padding:8px 11px;min-height:40px}.booking-dialog textarea,.online-dialog textarea{min-height:58px;resize:vertical}.booking-dialog .consent,.online-dialog .consent{font-size:10px;line-height:1.45;margin-block:10px}.booking-dialog .consent input,.online-dialog .consent input{width:16px;height:16px;min-height:16px;padding:0;margin:2px 0 0}.booking-dialog .form-hint,.online-dialog .form-hint{font-size:10px;line-height:1.45;margin:8px 0 0}.booking-dialog .form-error:empty,.online-dialog .form-error:empty{display:none}.booking-dialog .honeypot,.online-dialog .honeypot{margin:0}.online-heading{padding:20px 58px 18px 24px}.online-heading .eyebrow{margin-bottom:5px}.online-heading h2{font-size:30px}.online-heading p{margin-top:7px;line-height:1.45}.online-layout{grid-template-columns:minmax(0,1.18fr) minmax(0,1fr)}.online-picker,.online-contact{padding:20px;min-width:0}.online-picker>.form-grid:first-child{grid-template-columns:1fr}.online-picker .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.online-picker .service-field{grid-column:1/-1}.online-contact #online-selection{font-size:18px;line-height:1.35;padding-bottom:10px;margin-bottom:12px}.online-slots{gap:6px;margin-top:12px}.slot-button{min-height:40px;padding:8px 4px}.slot-note{margin:10px 0;line-height:1.5}.timezone-note{margin-block:0 6px}.online-help{font-size:11px}.online-contact .btn{min-height:42px}.online-dialog .online-heading~form{margin:0}

.styled-select{position:relative;min-width:0;margin-top:4px}.styled-select-native{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;clip-path:inset(50%);overflow:hidden;white-space:nowrap;opacity:0;pointer-events:none}.select-trigger{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;text-align:left;border:1px solid #cfc5b1;border-radius:4px;background:#fffcf4;color:var(--green);font-size:12px;line-height:1.4}.select-value{min-width:0;white-space:normal;overflow-wrap:anywhere}.select-indicator{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex:none;border-radius:50%;background:#e9dfca;color:#695735;font-size:18px;line-height:1}.select-trigger:hover{border-color:#a99165}.select-trigger[aria-expanded=true]{border-color:#8f7955;background:#f1e8d6}.select-trigger:focus-visible,.select-option:focus-visible,.consultation-choice:focus-visible,.consultation-procedure:focus-visible{outline:2px solid #997849;outline-offset:2px}.select-trigger:disabled{cursor:default;opacity:.6}.select-panel{position:relative;z-index:2;max-width:100%;padding:7px;margin-top:5px;border:1px solid #cbbd9f;border-radius:5px;background:#fffdf7;box-shadow:0 5px 15px #25382d0c}.select-panel[hidden]{display:none}.select-search{margin:0 0 6px!important;background:#f5efe2!important;font-size:12px!important;min-height:40px!important}.select-options{max-height:185px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b4a481 #eee8dc}.select-option{display:block;width:100%;min-height:40px;padding:9px 10px;border-radius:3px;text-align:left;white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.4}.select-option+.select-option{border-top:1px solid #eee7d9}.select-option:hover,.select-option:focus-visible{background:#eee4d0}.select-option[aria-selected=true]{background:var(--green);color:#f4e5c8}.select-option:disabled{cursor:default;opacity:.5}

#consultation-choices{border:0;padding:0;margin:0 0 12px;min-width:0}#consultation-choices[hidden],#consultation-recommendations[hidden],#consultation-summary[hidden]{display:none}#consultation-choices legend{font-size:12px;color:var(--green);margin-bottom:8px;padding:0}.consultation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.consultation-choice{min-height:44px;padding:9px 10px;border:1px solid #d2c6ac;border-radius:4px;background:#f1eadb;text-align:left;font-size:11px;line-height:1.35;color:var(--green);overflow-wrap:anywhere}.consultation-choice:hover{border-color:#99825a;background:#e9dec8}.consultation-choice[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#f3e3c4}#consultation-recommendations{display:grid;gap:7px;margin:10px 0 12px}.consultation-procedure{display:flex;align-items:center;gap:11px;width:100%;min-height:56px;padding:7px;border:1px solid #d1c5ad;border-radius:5px;background:#fffaf0;text-align:left}.consultation-procedure img{width:65px;height:46px;object-fit:cover;border-radius:3px;flex:none}.consultation-procedure>span{min-width:0}.consultation-procedure .choice-title{display:block;color:var(--green);font-size:12px;line-height:1.35;overflow-wrap:anywhere}.consultation-procedure .choice-meta{display:block;margin-top:3px;font-size:10px;line-height:1.4;color:#7b6b4e}.consultation-procedure:hover,.consultation-procedure[aria-pressed=true]{border-color:#8e784f;background:#eee3cd}#consultation-summary{padding:10px 12px;background:#eee5d3;border:1px solid #d3c5a8;border-radius:4px;margin:0 0 12px;font-size:12px;line-height:1.4;color:var(--green)}.consultation-change{display:inline-flex;align-items:center;min-height:40px;padding:5px 0;margin-left:10px;font-size:11px;text-decoration:underline;text-underline-offset:3px;color:#79603c}

@media(max-width:1000px){.header-inner{height:70px}.header nav{top:70px}.hero{min-height:590px}.hero-content{padding-top:38px}.passes-grid{gap:16px}.equipment-grid,.spa-grid{gap:20px 16px}.first-visit-copy{padding:25px}.section{padding-block:44px}.section-head{margin-bottom:22px}}
@media(max-width:650px){.section{padding-block:32px}.section-head{gap:12px;margin-bottom:20px}.intro-strip>.wrap{padding-block:16px;gap:12px}.header-inner{height:62px}.header nav{top:62px}.hero{min-height:600px}.hero-content{padding-block:30px 24px}.hero p{margin-top:16px}.hero-offer{margin-block:20px}.hero-bottom{margin-top:18px}.first-visit-copy{padding:23px}.service-grid{gap:20px 12px}.card-body{padding-top:10px}.spa-intro{min-height:0;margin-bottom:22px}.spa-intro>img{margin-bottom:18px}.spa-intro>div{padding:0}.spa-grid,.equipment-grid{gap:20px}.spa-banner-copy{padding:18px}.equipment-consult{padding:23px}.passes-section{margin-top:24px}.pass-copy{padding:24px}.passes-grid>div>p{margin-top:12px}.gift-copy{padding-block:24px 32px}.gift-image{margin-top:22px}.review-card{padding:20px}.trust-section{padding-block:32px}.contacts-layout{gap:24px}.masters-grid{gap:20px 14px}.contact-socials{gap:12px}.booking-dialog,.online-dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.booking-dialog{padding:20px 18px}.booking-intro h2{font-size:28px}.booking-intro p{font-size:11px}.booking-dialog .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.booking-dialog input,.booking-dialog textarea,.online-dialog input,.online-dialog textarea{font-size:16px}.booking-dialog label,.online-dialog label{font-size:11px;margin-bottom:9px}.online-heading{padding:18px 54px 15px 18px}.online-heading h2{font-size:27px}.online-heading .eyebrow{font-size:8px;letter-spacing:1.4px}.online-layout{grid-template-columns:minmax(0,1fr)}.online-picker,.online-contact{padding:16px 18px}.online-picker{border-right:0;border-bottom:1px solid var(--line)}.online-contact #online-selection{font-size:18px}.online-layout .form-grid{gap:9px}.select-search{font-size:16px!important}.select-options{max-height:164px}.consultation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.consultation-choice{font-size:11px;padding:8px}.consultation-procedure img{width:55px;height:43px}.consultation-procedure{gap:9px}.consultation-change{margin-left:0;display:flex}.dialog-close{width:40px;height:40px;right:8px;top:8px}}
@media(max-width:380px){.booking-dialog .form-grid{grid-template-columns:minmax(0,1fr);gap:0}.booking-dialog{padding-inline:16px}.online-picker,.online-contact{padding-inline:16px}.online-heading{padding-left:16px}.online-heading h2{font-size:25px}}
.select-group-heading{padding:10px 10px 5px;color:#9e875a;font-size:9px;text-transform:uppercase;letter-spacing:1px}.online-picker>.secondary-choices{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}#consultation-all-label{margin-top:10px}.header-tools{gap:6px}
@media(max-width:650px){.header-tools{gap:4px}.header-tools .contact-icon{width:28px;height:28px;padding:6px}.header-inner{gap:8px}.brand,.brand img{width:119px}.online-picker>.secondary-choices{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:380px){.header-tools .contact-icon{width:26px;height:26px}.header-tools{gap:3px}.header-inner{gap:7px}.brand,.brand img{width:111px}}
.spa-item.spa-banner{display:flex;flex-direction:column}.spa-banner-copy{display:flex;flex-direction:column;flex:1}.spa-banner-copy h3{min-height:0}.spa-subtitle{min-height:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-top:10px}.spa-banner-copy strong{margin-top:auto;padding-top:12px}
.online-dialog:not(.has-selection){width:620px}.online-dialog:not(.has-selection) .online-layout{grid-template-columns:minmax(0,1fr)}.online-dialog:not(.has-selection) .online-contact{display:none}.online-dialog:not(.has-selection) .online-picker{border:0}.online-dialog:not(.has-selection) .online-heading h2{font-size:29px}.online-help.no-slot-help{display:flex;justify-content:center;width:100%;min-height:44px;padding:12px 18px;border:0;border-radius:3px;background:#b18b51;color:#fff;text-decoration:none;font-size:12px;margin-top:12px}.online-help.no-slot-help:hover{background:#94703f}.online-dialog .online-contact{scroll-margin-top:15px}
@media(max-width:650px){.online-dialog:not(.has-selection) .online-heading h2{font-size:26px}.online-dialog:not(.has-selection) .online-picker{padding-block:15px}.online-dialog .slot-note{margin-block:12px}.online-dialog .online-contact{padding-top:18px}}
