/* Customer journeys use the website's paper, cream and dark espresso palette. */
:root{--paper:#fffaf7;--surface:#fffdfb;--soft:#f5e7df;--ink:#322b27;--brown:#322b27;--muted:#78685e;--line:#dfcfc5;background:#eee8e3}
body{max-width:1200px;margin:0 auto;background:var(--paper);box-shadow:0 10px 45px #322b2714;min-height:100vh}
.brand-topline{text-align:center;background:var(--soft);padding:10px 18px;font-size:10px;letter-spacing:.15em}.test-strip{font-size:11px;padding:8px 30px;background:#e9e2da}.site-header{padding:25px 36px;gap:22px;max-width:none}.brand{font-size:35px;letter-spacing:.13em;white-space:nowrap}.brand small{font:9px Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase;margin-top:9px}.site-header .public-nav{gap:20px;font-size:12px;flex-wrap:nowrap}.public-nav a{text-decoration:none;white-space:nowrap}.header-tools{display:flex;align-items:center;gap:15px}.header-book{font-size:12px;padding:13px 17px;white-space:nowrap}.account-menu{position:relative;font-size:12px}.account-menu summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;white-space:nowrap}.account-menu summary:after{content:'⌄'}.account-menu[open] summary:after{content:'⌃'}.site-header .account-menu nav{position:absolute;right:0;top:48px;z-index:20;width:240px;display:flex;align-items:stretch;flex-direction:column;gap:0;padding:14px 20px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 28px #322b2714}.account-menu nav a,.account-menu nav button{padding:10px 0;text-decoration:none;text-align:left;font-size:14px;min-height:44px}.mobile-site-menu{display:none}
main{padding:58px 44px 80px;max-width:none;min-height:60vh}h1{font-size:clamp(38px,4.7vw,60px);line-height:1.08;letter-spacing:-.035em}h2{font-size:32px}h3{font-size:23px}.page-intro{margin-bottom:38px;max-width:780px}.page-intro p:last-child{line-height:1.8;max-width:640px}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:500;color:#786050;margin-bottom:17px}.panel{border-radius:2px;padding:34px;border-color:var(--line)}button,.button{border-radius:2px;font-size:14px;font-weight:400;gap:18px;min-height:48px;padding:14px 22px}input:not([type=checkbox]):not([type=hidden]),select,textarea{border-color:#ccbaae;background:#fffdfb;border-radius:2px;min-height:50px}.stack label{font-weight:400}.stack .helptext{font-size:12px;line-height:1.65}.stack>p{margin-bottom:22px}.notice{font-size:14px;line-height:1.65}.entry-grid{gap:0;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:stretch;max-width:1040px;margin:auto}.entry-panel{padding:44px;min-width:0}.entry-panel h1{font-size:46px}.entry-panel>p{font-size:14px;line-height:1.8}.entry-panel form>button{width:100%}.entry-panel .account-links{margin-bottom:22px}.welcome-aside{position:relative;overflow:hidden;background:var(--soft);padding:60px 40px;display:flex;flex-direction:column;justify-content:center}.welcome-aside:before{content:'';width:260px;height:260px;position:absolute;right:-150px;top:-130px;border:1px solid #cea08a;border-radius:50%;pointer-events:none}.welcome-aside h2{font-size:44px;line-height:1.12;margin-bottom:28px}.welcome-aside>p:not(.eyebrow){font-size:15px;max-width:280px;line-height:1.8}.welcome-aside ul{padding:0;list-style:none;margin:12px 0 35px;font-size:13px}.welcome-aside li{padding:14px 0;border-bottom:1px solid #ddc6b8}.welcome-aside>a{font-size:13px;align-self:flex-start}.shop-nav{border-bottom:1px solid var(--line);padding-bottom:18px;gap:28px;font-size:12px}.shop-nav a{text-decoration:none}.shop-nav a:hover{text-decoration:underline}.member-overview{display:grid;grid-template-columns:1.6fr 1fr 1fr;margin-bottom:40px;border:1px solid var(--line);background:var(--soft)}.member-next{padding:32px}.member-next h2{font-size:32px;margin-bottom:16px}.member-next p{font-size:14px}.member-stat{padding:32px 26px;display:flex;flex-direction:column;justify-content:center;gap:20px;border-left:1px solid var(--line);text-decoration:none;background:#fcf4ed;min-width:0}.member-stat>span{font-size:13px}.member-stat strong{font:40px Georgia,serif;overflow-wrap:anywhere}.member-stat strong small{font-size:18px}.member-stat:hover{background:#f5e7df}.workspace-grid{gap:28px}.workspace-grid .muted-panel{background:#f5e7df}.customer-footer{text-align:left;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:30px 44px;font-size:12px}.customer-footer strong{font:22px Georgia,serif;color:var(--ink)}.customer-footer p{margin:12px 0 0;line-height:1.8}.customer-footer nav{display:flex;gap:22px;flex-wrap:wrap}.customer-footer a{text-decoration:none}.customer-footer .footer-test{flex-basis:100%;border-top:1px solid var(--line);padding-top:18px;font-size:11px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;margin-bottom:35px;color:var(--muted)}.category-tabs{display:flex;gap:24px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--line)}.category-tabs a{text-decoration:none;font-size:14px;padding:8px 0}.catalog-section{margin:48px 0;scroll-margin-top:30px}.catalog-section .section-title{align-items:center}.section-title>a{font-size:13px}.treatment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.treatment-option{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:30px;border:1px solid var(--line);background:#fffdfb;text-decoration:none}.treatment-option h3{margin-bottom:28px}.treatment-option>span{font-size:13px;display:flex;width:100%;justify-content:space-between}.treatment-option:hover{border-color:#aa8d78}.treatment-option h2{font-size:32px}.treatment-price{font:26px Georgia,serif;margin-bottom:30px}.treatment-price small{font:12px Arial,sans-serif}.treatment-option .button{margin-top:auto;width:100%}.catalog-empty{grid-column:1/-1;background:var(--soft)}.catalog-admin{margin-bottom:28px}.catalog-admin li{margin-bottom:12px}.booking-search{gap:22px}.slot-card{border-radius:2px;padding:24px}.date-strip a{border-radius:2px}.date-strip strong{font-family:Georgia,serif;font-weight:400}.cart-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:30px;align-items:start}.cart-items{min-width:0}.cart-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:22px;padding:28px 0;align-items:start}.cart-thumb{width:90px;height:115px;object-fit:cover;background:#f5e7df}.cart-product h2{font-size:25px;margin:0 0 10px}.cart-product>p{font-size:13px}.cart-product form{max-width:none;display:flex;align-items:center;flex-wrap:wrap;gap:12px}.cart-product form label{font-size:12px}.cart-product form input{width:65px;min-height:44px}.cart-product form button{font-size:12px;padding:10px;min-height:44px}.cart-product .line-price{display:block;margin-top:18px;font-size:17px;font-weight:400}.cart-summary{background:var(--soft);padding:30px}.cart-summary h2{font-size:30px}.cart-summary .button,.cart-summary form button{width:100%}.cart-summary .small{line-height:1.8;margin-top:18px}.cart-empty{text-align:center;padding:65px 30px;background:var(--soft)}.cart-empty svg{width:45px;height:45px;margin-bottom:20px}.cart-empty h2{font-size:36px}.cart-continue{display:inline-block;margin-top:26px;font-size:13px}
@media(max-width:1100px){.site-header{padding:24px 28px;flex-wrap:wrap}.site-header .public-nav{order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:12px}.header-tools{margin-left:auto}.member-overview{grid-template-columns:1.4fr 1fr}.member-next{grid-row:span 2}.member-stat{padding:25px}.member-stat:last-child{border-top:1px solid var(--line)}}
@media(max-width:700px){body{box-shadow:none}.test-strip{padding:8px 20px}.test-strip span{display:none}.brand-topline{font-size:9px}.site-header{padding:21px 22px;gap:12px;flex-direction:row}.brand{font-size:29px}.header-tools{gap:9px}.header-book{display:none}.site-header .public-nav{display:none}.mobile-site-menu{display:block;border-bottom:1px solid var(--line);padding:0 22px}.mobile-site-menu summary{padding:14px 0;font-size:12px;cursor:pointer}.mobile-site-menu nav{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-bottom:16px}.mobile-site-menu nav a{font-size:14px;padding:10px 0}.account-menu{font-size:12px}.site-header .account-menu nav{right:0;width:230px}.site-header .account-menu nav a{font-size:14px}main{padding:34px 22px 50px}h1{font-size:40px}.page-intro{margin-bottom:28px}.page-intro p:last-child{font-size:14px}.entry-grid{grid-template-columns:1fr}.entry-panel{padding:28px 24px}.entry-panel h1{font-size:38px}.welcome-aside{padding:35px 28px}.welcome-aside h2{font-size:36px}.welcome-aside ul{margin-bottom:24px}.panel{padding:25px}.member-overview{grid-template-columns:1fr 1fr}.member-next{grid-column:1/-1;grid-row:auto;padding:28px}.member-stat{border-top:1px solid var(--line);padding:24px 18px;gap:14px}.member-stat:nth-child(2){border-left:0}.member-stat strong{font-size:29px}.member-stat>span{font-size:12px}.customer-footer{padding:28px 22px}.customer-footer nav{gap:18px}.treatment-options{grid-template-columns:1fr}.treatment-option{padding:26px}.catalog-section .section-title{align-items:flex-start;flex-direction:column;gap:0}.category-tabs{gap:18px}.category-tabs a{font-size:13px}.cart-layout{grid-template-columns:1fr}.cart-row{grid-template-columns:70px minmax(0,1fr);gap:16px}.cart-thumb{width:70px;height:90px}.cart-row>div{width:auto}.cart-product h2{font-size:23px}.cart-product form{gap:10px}.cart-summary{padding:26px}.cart-empty{padding:45px 24px}.breadcrumbs{gap:8px;font-size:11px}.account-layout main{max-width:none}}
.cart-product form input[type=number]{width:65px;flex:0 0 65px}.cart-product form label{margin:0}.cart-product form button{flex:0 0 auto}

/* Booking controls share a predictable size, including Safari date inputs. */
.booking-search{grid-template-columns:minmax(0,1.2fr) minmax(0,2fr) minmax(0,1.3fr) auto}
.booking-search p{min-width:0}.booking-search :is(select,input){box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:50px;min-height:50px;padding:12px;font:inherit;border:1px solid #bea99c;border-radius:6px;background:#fff;color:#392c25}.booking-search input[type=date]{appearance:none;-webkit-appearance:none;overflow:hidden}.booking-search input::-webkit-date-and-time-value{text-align:left;min-width:0}.booking-search button{min-height:50px}
.checkout-back{margin-top:28px!important}.terms-copy p{margin:0 0 1.3em;line-height:1.75}.terms-details summary{cursor:pointer;padding:12px 0;font-weight:600}.terms-details[open] summary{margin-bottom:16px}
.checkout-form fieldset{border:0;padding:0;margin:0 0 28px;min-width:0}.checkout-form legend{font-size:1.2rem;font-weight:600;margin-bottom:12px}.checkout-form input[type=radio]{width:20px;height:20px;min-height:20px;flex:none;accent-color:#76543f}.checkout-form .payment-choice{display:flex;align-items:center;gap:12px;border:1px solid #d4c4b8;border-radius:8px;padding:16px;margin:10px 0;cursor:pointer}.checkout-form .payment-choice:has(input:checked){border-color:#76543f;background:#f7efe9}.checkout-form fieldset:disabled{opacity:.5}.checkout-form fieldset:disabled input{background:#eee;cursor:not-allowed}.payment-brands{margin-left:auto;display:flex;gap:8px;font-weight:700}.payment-brand{border:1px solid #ddd;background:white;border-radius:4px;padding:4px 8px;font-size:.85rem}.payment-brand.klarna{background:#ffb3c7;color:#111}
@media(max-width:1000px){.booking-search{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.booking-search{grid-template-columns:minmax(0,1fr)}}

.payment-brands img{object-fit:contain;max-width:62px;border-radius:4px}.checkout-form .payment-choice{min-width:0}.payment-brands{flex-shrink:0}

.booking-search select{border-radius:0}.terms-copy{max-width:75ch}.terms-copy p{margin-bottom:1.4em!important;line-height:1.75}

/* More breathing room for mobile forms and accepted policy text. */
.product-copy form>.quantity-label{display:block;margin:24px 0 10px;font-weight:400}
.product-copy form>input[type=number]+p{margin-top:10px}
.panel>.form-followup{margin-top:26px!important;margin-bottom:0;line-height:1.75}
.terms-copy{overflow-wrap:anywhere}.terms-copy p:last-child{margin-bottom:0!important}
.terms-copy+p{margin-top:20px!important}
.treatment-summary{display:flex;flex-direction:column;gap:5px}.treatment-summary strong{font-weight:500}

.google-entry{margin:1.8rem 0 1rem}.google-button{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;background:#fff;color:#322c28;border:1px solid #bba99e;border-radius:4px;padding:14px 22px}.google-entry p,.entry-divider{font-size:.85rem;text-align:center;color:#75645a}.google-letter{font-family:Arial,sans-serif;font-size:23px;font-weight:bold}.entry-divider{display:flex;align-items:center;gap:14px;margin:1.5rem 0}.entry-divider:before,.entry-divider:after{content:"";height:1px;flex:1;background:#dfcec4}
