.service-page-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.85fr);gap:4vw;align-items:start}.service-toolbar{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.service-toolbar h2{margin:12px 0 0;font:500 clamp(30px,4vw,43px)/1.1 var(--serif)}.location-filter{display:grid;gap:8px;font-size:8px;letter-spacing:.16em;color:#8f7772}.location-filter select{min-width:190px;padding:12px;border:1px solid #c8beb7;background:var(--white);font:12px var(--sans);color:var(--ink)}.loading-tile{min-height:340px;background:linear-gradient(110deg,#e9e0da 8%,#f4efea 18%,#e9e0da 33%);background-size:200% 100%;animation:loading 1.4s ease infinite}@keyframes loading{to{background-position-x:-200%}}.load-more-wrap{text-align:center;margin-top:36px}.service-bottom{background:#e8e0d9}.service-bottom h2,.membership-note h2{font:500 clamp(36px,5vw,58px)/1.1 var(--serif);margin:20px 0}.service-bottom>p:not(.eyebrow){max-width:520px;color:#756d68;font-size:13px;line-height:1.9}.section-heading-light{align-items:end}.section-side-copy{max-width:280px;color:#756d68;font-size:12px;line-height:1.8}.membership-note{background:#171414;color:#fffdfa;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.membership-note h2 em{color:var(--rose)}.membership-note>p{max-width:480px;color:#c9c0bb;font-size:13px;line-height:2}.inline-error{color:#9b3e54;font-size:12px}.service-card .service-image{display:flex;align-items:center;justify-content:center;position:relative}.service-image-placeholder{font:500 52px var(--serif);color:rgba(17,16,16,.25)}.service-type{font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:#9b6775}.service-meta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0;color:#857a74;font-size:10px}.service-detail-page{padding:54px clamp(22px,8vw,120px) 100px}.service-detail-header{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:5vw;align-items:center;margin-bottom:45px}.service-detail-image{aspect-ratio:1.45;background:#e7ddd7;overflow:hidden}.service-detail-image img{width:100%;height:100%;object-fit:cover}.service-detail-title h1,.plan-detail-title h1{font:500 clamp(42px,6vw,74px)/1.04 var(--serif);letter-spacing:-.04em;margin:18px 0}.service-detail-title h1 em,.plan-detail-title h1 em{color:var(--rose-deep);font-weight:500}.service-detail-title .tagline{font:500 19px/1.5 var(--serif);color:#706863}.service-facts{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:22px;color:#716a66;font-size:11px}.service-description{font-size:13px;line-height:2;color:#635c57}.service-description h2{font:500 32px var(--serif);color:var(--ink)}.booking-panel{background:var(--white);border:1px solid #e0d7d0;padding:clamp(20px,3vw,34px);box-shadow:0 20px 50px rgba(30,20,20,.05)}.booking-panel h2{font:500 30px var(--serif);margin:0 0 7px}.booking-panel .booking-intro{font-size:11px;color:#81756e;line-height:1.7;margin:0 0 22px}.booking-panel .booking-section{border-top:1px solid #e8e0d9;padding-top:20px;margin-top:20px}.booking-section-title{font-size:9px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:#96717a;margin:0 0 12px}.week-controls,.day-strip,.time-options{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.compact-control{border:1px solid #d2c7c0;background:transparent;padding:9px 11px;font-size:10px;cursor:pointer}.compact-control:disabled{opacity:.35;cursor:not-allowed}.day-strip{margin:14px 0}.day-chip{min-width:62px;text-align:center}.day-chip small{display:block;font-size:8px;color:inherit;opacity:.7;margin-top:4px}.slot-group{margin-top:18px}.slot-group h4{font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:#97717a;margin:0 0 9px}.slot-chip{min-width:76px}.slot-chip small{display:block;font-size:8px;margin-top:3px;opacity:.8}.booking-field{display:grid;gap:7px;margin:13px 0}.booking-field label{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#726760}.booking-field input,.booking-field select,.booking-field textarea{width:100%;border:1px solid #d1c7c0;background:#fffdfa;padding:12px;color:#171414;font:12px var(--sans);min-height:42px}.booking-field textarea{min-height:90px;resize:vertical}.booking-field .required-mark{color:#ae5b70}.booking-submit{width:100%;margin-top:16px;border:0;cursor:pointer}.booking-submit:disabled{opacity:.45;cursor:not-allowed}.booking-error,.inline-error{color:#a13b55;font-size:11px;line-height:1.7;margin:12px 0}.booking-success{padding:18px;background:#f2e8e9;border-left:3px solid var(--rose-deep);font-size:12px;line-height:1.8}.booking-success strong{display:block;font:500 24px var(--serif);margin-bottom:5px}.booking-muted{font-size:11px;line-height:1.8;color:#847a73}.booking-price{font-weight:700;color:#2b2522}.booking-picker-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.time-zone{font-size:9px;color:#8d7d76;margin:12px 0}.course-info{padding:15px;background:#f0e7e2;font-size:11px;line-height:1.8;color:#625954}.course-info strong{color:#211b19}.plan-detail-page{padding:58px clamp(22px,8vw,120px) 100px}.plan-detail-card{display:grid;grid-template-columns:1.1fr .9fr;gap:6vw;align-items:start}.plan-detail-title{padding-top:20px}.plan-detail-price{font:500 clamp(34px,4vw,46px) var(--serif);margin:20px 0 5px}.plan-detail-billing{font-size:11px;color:#7d716a}.plan-detail-aside{padding:28px;background:var(--white);border:1px solid #e3d9d2}.plan-detail-aside .button{width:100%;border:0;cursor:pointer}.plan-detail-aside .button:disabled{opacity:.45;cursor:not-allowed}.plan-fees{padding:13px 0;border-top:1px solid #e5ddd7;border-bottom:1px solid #e5ddd7;margin:15px 0;font-size:11px;line-height:1.9}.plan-perks{padding-left:18px;font-size:12px;line-height:2;color:#5d5550}.plan-terms{white-space:pre-wrap;font-size:11px;line-height:1.9;color:#756d68}.plan-image-band{aspect-ratio:16/9;background:#e7ddd7;margin-bottom:24px;overflow:hidden}.plan-image-band img{width:100%;height:100%;object-fit:cover}.detail-not-found{text-align:center;padding:85px 20px}.detail-not-found h1{font:500 48px var(--serif)}.detail-not-found p{font-size:13px;color:#786e68;line-height:1.8}.detail-not-found .button{margin-top:18px}.text-action{border:0;background:none;color:#986875;text-decoration:underline;font:inherit;font-size:9px;cursor:pointer;padding:0}.choice-label{display:flex!important;align-items:center;gap:8px;margin:8px 0;font-size:10px!important}.choice-label input{width:auto;min-height:auto}.session-list{padding-left:18px;font-size:11px;line-height:1.8;color:#6c625c}.session-list li{margin:6px 0}.session-list li span{display:block;color:#867a73}
@media(max-width:800px){.service-page-grid,.service-detail-header,.plan-detail-card,.membership-note{grid-template-columns:1fr}.service-detail-header{gap:25px}.section-heading-light{align-items:flex-start}.section-side-copy{max-width:none}.plan-detail-aside{max-width:560px}.membership-note{gap:20px}}
@media(max-width:560px){.service-toolbar{align-items:flex-start;flex-direction:column}.location-filter select{width:100%}.service-detail-page,.plan-detail-page{padding:40px 20px 78px}.service-detail-header{grid-template-columns:1fr}.service-detail-title h1,.plan-detail-title h1{font-size:48px}.booking-panel{padding:20px 16px}.day-chip{min-width:53px;padding:9px 7px}.slot-chip{min-width:65px}.plan-detail-aside{padding:22px}}