:root{font-family:system-ui,sans-serif;color:#404041;background:#f8f5ef;color-scheme:light}*{box-sizing:border-box}body{margin:0}header{display:flex;gap:1rem;justify-content:space-between;flex-wrap:wrap;padding:1.25rem clamp(1rem,4vw,3rem);border-bottom:1px solid #d7c8ad}a{color:#7f1623}a:focus-visible{outline:3px solid #7f1623;outline-offset:4px}main{max-width:1100px;margin:2rem auto;padding:0 clamp(1rem,4vw,2.5rem)}h1{font:clamp(2rem,5vw,3rem)/1.1 Georgia,serif;color:#7f1623}p{line-height:1.6;max-width:750px}#checkout-status{font-size:.9rem}#checkout-widget{background:white;border-radius:16px;min-height:600px;width:100%}iframe{max-width:100%}
body{font-size:16px;line-height:24px}header{padding:20px 24px}main{max-width:none;margin:32px 24px;padding:0}h1{font-size:40px;line-height:48px;margin:24px 0}p{line-height:26px;margin:16px 0}#checkout-status,#checkout-help{font-size:14px;line-height:24px}@media(max-width:600px){header{padding:16px}main{margin:24px 16px}h1{font-size:32px;line-height:40px}}

.membership-option{padding:14px 18px;border-left:4px solid #7f1623;background:#f2e7ce;font-size:15px}.membership-option a{font-weight:700}

.account-button{display:inline-block;padding:14px 22px;border-radius:6px;background:#7f1623;color:#fff;font-weight:700;text-decoration:none;min-height:48px}#account-controls{min-height:52px;margin:24px 0}#account-status{font-size:14px}h2{font-size:24px;line-height:1.3}
html[data-copy-version="cohesive"] body{background:#faf8f3;color:#303032}
html[data-copy-version="cohesive"] main{max-width:1100px;background:#fff;border:1px solid #dedad2;border-radius:8px;margin:32px auto;padding:clamp(20px,4vw,48px)}
html[data-copy-version="cohesive"] h1{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3rem);line-height:1.15;font-weight:500}
html[data-copy-version="cohesive"] h2{font-family:Georgia,serif;font-size:1.6rem;font-weight:500}
html[data-copy-version="cohesive"] header{background:#404041;color:#fff}
html[data-copy-version="cohesive"] aside{background:#f2ead9;color:#303032;border-color:#e7bd65}
html[data-copy-version="cohesive"] p{line-height:1.7}
@media(max-width:600px){html[data-copy-version="cohesive"] main{margin:20px 12px}}

.booking-step{margin:24px 0;padding:20px 22px;max-width:750px;background:#fff;border:1px solid #d7c8ad;border-left:6px solid #7f1623;border-radius:12px}.booking-step h2{margin:4px 0 12px;font:24px/1.25 Georgia,serif;color:#7f1623}.step-kicker{margin:0;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.step-facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0 0 12px}.step-facts div{display:contents}.step-facts dt{font-weight:700}.step-facts dd{margin:0}.step-confirm{padding:12px 14px;border-radius:8px;background:#f2e7ce}.step-other summary{min-height:44px;padding:10px 0;font-weight:700;cursor:pointer}.step-next-title{margin-bottom:8px}.step-dates{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}.step-date{display:inline-flex;flex-direction:column;justify-content:center;min-height:48px;padding:8px 16px;border-radius:6px;background:#7f1623;color:#fff;font-weight:700;line-height:20px;text-decoration:none}.step-date span{font-size:14px;font-weight:400}
@media(max-width:600px){.booking-step{padding:16px}.step-facts{grid-template-columns:1fr;gap:0}.step-facts dd{margin-bottom:8px}}
/* One press (booking-launch.js): Mindbody's cart for one session, framed under its step. No resizer exists for that page, so a fixed tall frame. */
.one-press-frame{display:block;width:100%;height:min(860px,92vh);min-height:600px;border:0;border-radius:16px;background:#fff}
#one-press-help{font-size:14px;line-height:24px}
.link-button{background:none;border:0;padding:0;font:inherit;color:#7f1623;text-decoration:underline;cursor:pointer}
.link-button:focus-visible{outline:3px solid #7f1623;outline-offset:4px}
.step-facts.step-line{display:flex;flex-wrap:wrap;gap:0 8px;margin:4px 0 12px;font-weight:600}.step-facts.step-line div{display:flex}.step-facts.step-line div+div::before{content:"·";margin-right:8px}.step-facts.step-line dt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.step-facts.step-line dd{margin:0}
@media(max-width:600px){html[data-one-press] main>h1{font-size:26px;line-height:32px;margin:16px 0 0}html[data-one-press] .booking-step{margin:12px 0}}
