.booking-page{background:#f5f3ee}.booking-header{height:100px;background:var(--dark);color:var(--paper);display:flex;align-items:center;padding:0 5%;gap:40px}.back-studio{margin-left:auto;font-size:12px;color:#b6bfad}.talk-button{background:transparent;border:1px solid #66705e;padding:11px 17px;color:var(--paper);font-size:12px;display:flex;gap:30px;align-items:center}.booking-wrap{max-width:1360px;margin:auto;padding:0 5%}.booking-intro{padding:65px 0 50px;display:flex;justify-content:space-between;gap:40px;align-items:flex-end}.booking-intro h1{font-size:clamp(46px,4.8vw,72px);margin-top:23px}.booking-intro h1 em{color:#66765a}.booking-intro>div>p{font-size:14px;color:var(--muted);margin-top:20px}.hours-badge{display:flex;gap:19px;align-items:center;padding:22px 0 10px;flex-shrink:0}.hours-star{font-size:48px;color:#84966e;font-weight:400;line-height:1}.hours-badge>div{display:flex;flex-direction:column}.hours-badge span:not(.hours-star){font-size:8px;letter-spacing:.15em;color:var(--muted)}.hours-badge strong{font-weight:500;font-size:19px;letter-spacing:-.03em;margin-top:3px}.hours-badge small{font-size:11px;color:var(--muted)}.booking-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);gap:36px;align-items:start}.booking-flow{min-width:0}.booking-step{padding:32px;background:#fffdf9;border:1px solid #dedfd6;margin-bottom:20px}.step-heading{display:flex;gap:16px;align-items:flex-start;margin-bottom:26px}.step-pill{width:30px;height:30px;background:#e5eadc;border:1px solid #ced7c3;display:flex;align-items:center;justify-content:center;font-size:10px;border-radius:50%;margin-top:3px;flex-shrink:0}.step-heading h2{font-size:30px;font-family:var(--serif);letter-spacing:-.04em;line-height:1.2}.step-heading p{font-size:12px;color:var(--muted);margin-top:6px}.service-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0;border:0;margin:0;min-width:0}.service-choice{position:relative;cursor:pointer;min-width:0}.service-choice input{position:absolute;opacity:0;width:1px;height:1px}.service-option{border:1px solid #dcded4;background:#fffefa;padding:17px 15px;display:block;min-height:93px;transition:background .16s,border-color .16s;position:relative}.service-option strong{display:block;font-size:13px;font-weight:500;letter-spacing:-.02em;padding-right:16px}.service-option small{font-size:10px;color:var(--muted);display:block;margin-top:6px}.service-option:after{content:'';position:absolute;right:13px;top:21px;width:11px;height:11px;border:1px solid #bcc5b2;border-radius:50%}.service-choice input:checked+.service-option{border-color:#536548;background:#edf0e7;box-shadow:inset 0 0 0 .5px #536548}.service-choice input:checked+.service-option:after{background:#637c4f;border-color:#637c4f;box-shadow:inset 0 0 0 3px #edf0e7}.service-choice input:focus-visible+.service-option{outline:2px solid #6d8950;outline-offset:3px}.duration-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e2e4db;margin-top:24px;padding-top:19px;gap:20px}.duration-row label{font-size:13px}.duration-row select{background:#fffefa;border:1px solid #ccd2c3;font-size:13px;padding:9px 40px 9px 12px;border-radius:0}.help-caption{font-size:10px;color:var(--muted);margin-top:15px}.inline-button{padding:0;background:transparent;color:#4f6641;font-size:inherit;text-decoration:underline;text-underline-offset:3px}.notice-strip{display:flex;align-items:center;gap:10px;background:#eff1e9;padding:12px 13px;color:#56634a;font-size:10px;margin-bottom:24px}.notice-strip svg{width:15px;height:15px}.notice-strip strong{font-weight:600}.date-time-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:25px}.calendar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;gap:10px}.calendar-top h3{font-size:14px;font-weight:500;letter-spacing:-.02em}.calendar-top>div{display:flex;gap:6px}.calendar-top button{background:transparent;border:1px solid #d6dccf;width:29px;height:29px;font-size:22px;line-height:1;color:#4b5843}.calendar-top button:disabled{opacity:.25;cursor:default}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.weekdays{font-size:9px;color:#818a7a;margin-bottom:10px}.calendar-days button{padding:0;min-height:33px;width:100%;font-size:11px;aspect-ratio:1;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:50%;max-width:40px;justify-self:center}.calendar-days button:hover:not(:disabled){background:#e8eddf}.calendar-days button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.calendar-days button:disabled{color:#c0c6b8;cursor:default}.calendar-days button.today:not([aria-pressed=true]){border-color:#b3bfa6}.calendar-key{display:flex;align-items:center;gap:7px;margin-top:13px}.calendar-key span{width:5px;height:5px;border-radius:50%;background:var(--ink)}.calendar-key small{font-size:8px;color:var(--muted)}.times-panel{border-left:1px solid #e1e3d9;padding-left:23px}.times-heading h3{font-size:13px;font-weight:500;margin-bottom:3px}.times-heading span{font-size:7px;letter-spacing:.12em;color:var(--muted)}.time-slots{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:16px}.time-slot{border:1px solid #d8ded0;background:#fffefa;padding:10px 7px;min-height:39px;font-size:11px;color:var(--ink)}.time-slot:hover{border-color:#788c65;background:#eef1e7}.time-slot[aria-pressed=true]{background:#dce6cd;border-color:#5a7048;color:#32402a;font-weight:600}.times-note{font-size:9px;line-height:1.6;color:var(--muted);margin-top:14px}.no-slots{grid-column:1/-1;font-size:12px;color:var(--muted);line-height:1.65;padding:10px 0}.same-day-strip{border-top:1px solid #e1e3d9;padding-top:20px;margin-top:26px;display:flex;align-items:center;justify-content:space-between;gap:15px}.same-day-strip strong{font-size:11px;font-weight:500;display:block}.same-day-strip small{font-size:9px;color:var(--muted);line-height:1.6;display:block;max-width:280px;margin-top:3px}.same-day-button{display:flex;align-items:center;gap:12px;font-size:10px;white-space:nowrap;background:transparent;color:#4d6240;padding:10px 0}.same-day-button svg{width:17px}.booking-sidebar{position:sticky;top:24px}.session-summary{background:#20271f;color:#eef0e6;padding:30px}.summary-topline{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.14em;color:#b5c4a6;margin-bottom:20px}.session-summary h2{font-size:37px;letter-spacing:-.045em;line-height:1.1}.session-summary h2 em{color:var(--sage)}.summary-cover{height:150px;margin:25px -30px 6px;background:linear-gradient(0deg,#182216b5,#18221620),url('../assets/microphone.jpg') center 44%/cover;filter:grayscale(1);position:relative}.summary-cover span{position:absolute;bottom:14px;left:30px;font-size:6px;letter-spacing:.16em}.session-summary dl{margin:0}.session-summary dl>div{display:flex;align-items:start;justify-content:space-between;gap:15px;border-bottom:1px solid #ffffff16;padding:15px 0;font-size:11px}.session-summary dt{color:#a6b39b;font-size:10px}.session-summary dd{margin:0;text-align:right;max-width:180px}.summary-payment{padding-top:23px;display:flex;flex-direction:column}.summary-payment>span{font-size:10px;color:#a6b39b}.summary-payment>strong{font-size:19px;letter-spacing:-.02em;font-weight:400;margin-top:5px}.summary-payment p{font-size:10px;color:#acb8a2;line-height:1.65;margin-top:7px;max-width:250px}.session-summary .button{margin-top:22px;width:100%;font-size:11px;padding:13px 16px;min-height:50px;gap:12px}.session-summary .button svg{width:18px}.summary-caption{display:block;text-align:center;font-size:8px;color:#a9b79d;margin-top:13px}.go-note{display:flex;gap:17px;padding:24px 5px}.go-monogram{width:39px;height:39px;background:#e1e7d6;border-radius:50%;display:flex;align-items:center;justify-content:center;font:italic 18px var(--serif);flex-shrink:0}.go-note h3{font-size:12px;line-height:1.5;font-weight:500}.go-note p{font-size:10px;color:var(--muted);margin-top:7px}.go-note .inline-button{font-size:10px;margin-top:9px}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.booking-step form label,#talk-form label{font-size:11px;display:block;margin:17px 0 7px}.booking-fields label{margin-top:0!important}.booking-step form label>span{color:#72895e}.booking-step form label small,#talk-form label small{color:var(--muted);font-size:10px}.booking-step input,.booking-step textarea,#talk-form input,#talk-form textarea{border:1px solid #d3d9ca;background:#fffefa;padding:12px;font-size:13px;width:100%;border-radius:0;color:var(--ink);min-height:47px;min-width:0}.booking-step textarea,#talk-form textarea{resize:vertical}.request-explainer{display:flex;gap:11px;margin:22px 0}.request-explainer svg{width:16px;height:16px;color:#72895e;margin-top:3px}.request-explainer p{font-size:10px;color:var(--muted);line-height:1.65;max-width:440px}.booking-step form .button{font-size:12px;min-height:54px;width:100%}.privacy-note{font-size:9px;text-align:center;color:var(--muted);margin-top:12px}.validation-message{font-size:11px;color:#8d4b32;margin-top:12px;line-height:1.7}.validation-message:empty{display:none}.booking-reassurance{border-top:1px solid var(--line);padding:45px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:30px}.booking-reassurance>div>span{font-size:9px;letter-spacing:.1em;color:#849776}.booking-reassurance h3{font-size:14px;font-weight:500;letter-spacing:-.02em;margin-top:11px}.booking-reassurance p{font-size:11px;color:var(--muted);margin-top:6px}.booking-footer{display:flex;align-items:center;gap:25px;border-top:1px solid var(--line);padding:24px 0 35px;font-size:9px;color:var(--muted)}.booking-footer>a{margin-left:auto;color:var(--ink);font-size:11px}.booking-footer button{font-size:9px}.mobile-summary{display:none}.talk-date-time{display:grid;grid-template-columns:1fr 1fr;gap:13px}#talk-form .button{margin-top:23px;font-size:13px}#request-message{font:12px/1.7 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--line);background:#fff9;padding:18px;margin:23px 0}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap;border:0}.noscript-notice{background:var(--sage);padding:25px;text-align:center}.noscript-notice a{text-decoration:underline}
@media(max-width:1100px){.booking-layout{gap:22px;grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr)}.booking-step{padding:25px}.session-summary{padding:25px}.summary-cover{margin-left:-25px;margin-right:-25px}.session-summary h2{font-size:32px}.date-time-layout{gap:17px}.times-panel{padding-left:15px}.time-slots{grid-template-columns:1fr}.time-slot{padding:7px;font-size:11px;min-height:34px}.same-day-strip{display:block}.same-day-button{padding-bottom:0}.booking-intro h1{font-size:57px}.hours-badge strong{font-size:16px}}
@media(max-width:800px){.booking-header{height:82px;padding:0 24px;gap:20px}.back-studio{display:none}.talk-button{margin-left:auto;font-size:11px;padding:9px 13px;gap:22px}.booking-wrap{padding:0 24px}.booking-intro{padding:44px 0 30px;display:block}.booking-intro .eyebrow{font-size:8px;letter-spacing:.1em}.booking-intro h1{font-size:clamp(40px,7.8vw,60px);margin-top:20px}.booking-intro>div>p{font-size:13px;line-height:1.7;margin-top:18px}.booking-intro>div>p br{display:none}.hours-badge{padding:20px 0 0;gap:12px}.hours-star{font-size:30px}.hours-badge>div{display:grid;grid-template-columns:1fr auto;column-gap:16px;align-items:center}.hours-badge strong{grid-column:1;grid-row:2;font-size:15px}.hours-badge small{grid-column:2;grid-row:2;font-size:10px}.hours-badge span:not(.hours-star){font-size:7px}.booking-layout{grid-template-columns:1fr;gap:12px}.booking-sidebar{position:static;grid-row:2}.session-summary{display:none}.go-note{padding:12px 5px 22px;max-width:460px}.booking-step{padding:24px;margin-bottom:16px}.step-heading{gap:12px;margin-bottom:22px}.step-heading h2{font-size:28px}.step-heading p{font-size:11px}.step-pill{width:26px;height:26px;font-size:9px}.service-option{padding:15px 12px;min-height:94px}.service-option strong{font-size:12px}.service-option small{font-size:9px;line-height:1.6;max-width:135px}.service-option:after{right:11px;top:18px;width:10px;height:10px}.duration-row label{font-size:12px}.duration-row select{font-size:16px;min-height:45px}.notice-strip{font-size:9px;align-items:flex-start;padding:11px;gap:8px}.notice-strip svg{width:14px;margin-top:2px}.date-time-layout{grid-template-columns:1fr;gap:24px}.calendar-top h3{font-size:15px}.calendar-top button{width:35px;height:35px}.weekdays{font-size:10px}.calendar-days button{max-width:43px;min-height:38px;font-size:12px}.times-panel{padding:22px 0 0;border-left:0;border-top:1px solid #e1e3d9}.times-heading h3{font-size:14px}.times-heading span{font-size:8px}.time-slots{grid-template-columns:repeat(3,1fr);gap:8px}.time-slot{font-size:12px;padding:12px 6px;min-height:44px}.times-note{font-size:10px;margin-top:13px}.same-day-strip{margin-top:22px;padding-top:20px;display:block}.same-day-strip strong{font-size:12px}.same-day-strip small{font-size:10px;max-width:none}.same-day-button{font-size:12px;padding:12px 0 0}.booking-fields{grid-template-columns:1fr;gap:16px}.booking-step form label{font-size:12px}.booking-step input,.booking-step textarea,#talk-form input,#talk-form textarea{font-size:16px;min-height:49px}.request-explainer p{font-size:11px}.booking-step form .button{font-size:12px;padding:15px 16px;gap:12px}.privacy-note{font-size:9px}.booking-reassurance{grid-template-columns:1fr;gap:21px;padding:30px 0;margin-top:15px}.booking-reassurance>div{display:grid;grid-template-columns:30px 1fr;gap:0 15px}.booking-reassurance>div>span{grid-row:1/3;margin-top:4px}.booking-reassurance h3{margin-top:0;font-size:13px}.booking-reassurance p{font-size:11px}.booking-footer{padding-bottom:115px;flex-wrap:wrap;gap:12px 24px;font-size:9px}.booking-footer>a{margin-left:0;font-size:10px}.booking-footer>span{width:100%}.mobile-summary{position:fixed;bottom:0;left:0;right:0;z-index:40;background:#f9f8f3f5;backdrop-filter:blur(16px);border-top:1px solid #d0d7c6;padding:13px 24px;padding-bottom:max(13px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:15px;justify-content:space-between;box-shadow:0 -5px 20px #15171509}.mobile-summary>div{display:flex;flex-direction:column;min-width:0}.mobile-summary strong{font-size:10px;font-weight:500}.mobile-summary>div>span{font-size:9px;color:var(--muted);max-width:225px}.mobile-summary>a{font-size:11px;display:flex;align-items:center;gap:20px;background:var(--dark);color:var(--paper);padding:11px 15px;flex-shrink:0}.help-caption{font-size:10px}.booking-page dialog{padding:33px 24px}.talk-date-time{grid-template-columns:1fr}.talk-date-time label{margin-top:14px!important}.booking-page dialog h2{font-size:35px}.booking-page dialog p{font-size:13px}.booking-page #talk-form .form-note{font-size:10px}.booking-page #talk-form .validation-message{font-size:11px}}
@media(min-width:550px) and (max-width:800px){.date-time-layout{grid-template-columns:1.1fr 1fr}.times-panel{padding:0 0 0 22px;border-top:0;border-left:1px solid #e1e3d9}.time-slots{grid-template-columns:1fr 1fr}.booking-fields{grid-template-columns:1fr 1fr}.talk-date-time{grid-template-columns:1fr 1fr}}
@media(max-width:370px){.booking-wrap{padding-left:16px;padding-right:16px}.booking-step{padding:19px}.booking-header{padding:0 18px}.booking-intro h1{font-size:39px}.service-option strong{font-size:11px}.service-option small{font-size:9px}.mobile-summary{padding-left:16px;padding-right:16px}.mobile-summary>a{gap:12px;padding:11px}.mobile-summary>div>span{max-width:185px}}
/* Keep the main booking choices readable at both desktop and phone sizes. */
.service-option strong{font-size:15px}.service-option small{font-size:12px}.service-option{min-height:103px}.step-heading p{font-size:13px}.notice-strip{font-size:12px}.calendar-days button{font-size:13px}.time-slot{font-size:13px}.times-note{font-size:11px}.times-heading span{font-size:9px}.session-summary dt{font-size:12px}.session-summary dd{font-size:13px}.summary-payment p{font-size:12px}.booking-step form label,#talk-form label{font-size:13px}.booking-step input,.booking-step textarea{font-size:15px}.help-caption{font-size:12px}.same-day-strip strong{font-size:13px}.same-day-strip small{font-size:11px}.same-day-button{font-size:12px}.request-explainer p{font-size:12px}.booking-reassurance h3{font-size:15px}.booking-reassurance p{font-size:12px}.go-note h3{font-size:14px}.go-note p,.go-note .inline-button{font-size:12px}
@media(max-width:800px){.service-option strong{font-size:14px}.service-option small{font-size:11px}.service-option{min-height:105px}.step-heading p{font-size:12px}.notice-strip{font-size:11px}.booking-step input,.booking-step textarea{font-size:16px}.request-explainer p{font-size:11px}.help-caption{font-size:11px}.time-slot{font-size:13px}.same-day-strip small{font-size:11px}}

.pay-header-link{font-size:12px;color:var(--sage);white-space:nowrap}.confirmed-payment{scroll-margin-top:30px;background:#fffdf9;border:1px solid #d9dfd1;margin:0 0 35px;padding:28px}.confirmed-payment summary{cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:15px}.confirmed-payment summary strong{color:#4f6641;font-weight:500}.payment-body{max-width:740px;padding-top:24px}.payment-body p{font-size:14px;line-height:1.7;color:var(--muted)}.payment-body form{margin-top:22px}.payment-body label:not(.payment-confirmation){display:block;font-size:14px;margin-bottom:10px}.payment-body select{padding:13px 16px;border:1px solid #bbc6ae;font:16px var(--sans);width:100%;background:white}.payment-body .payment-total-line{display:flex;justify-content:space-between;align-items:center;margin:22px 0 12px;color:var(--ink)}.payment-total-line strong{font-size:24px}.payment-confirmation{display:flex;align-items:flex-start;gap:12px;margin:22px 0;font-size:13px;line-height:1.7}.payment-confirmation input{width:20px;height:20px;flex-shrink:0;margin-top:2px;accent-color:#536548}.payment-body .payment-clarity{font-size:12px;margin:14px 0}.payment-body .button{font-size:14px}@media(max-width:800px){.booking-header{gap:12px}.pay-header-link{font-size:10px;white-space:normal;max-width:95px;margin-left:auto}.talk-button{margin-left:0}.confirmed-payment{padding:22px}.confirmed-payment summary{display:block;font-size:14px}.confirmed-payment summary strong{display:block;margin-top:7px}.payment-body p{font-size:13px}}

.booking-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 28px;border-top:1px solid var(--line);padding-top:20px;font-size:14px}.booking-progress a{display:flex;gap:12px;align-items:center}.booking-progress span{font-size:12px;color:#586b48}.booking-step form label.member-request{display:flex;gap:12px;align-items:flex-start;background:#eaf0e1;padding:17px;margin:22px 0}.member-request input{width:20px;min-height:20px;height:20px;flex-shrink:0;accent-color:#536548;margin:3px 0}.member-request small{display:block;font-size:12px;color:#58634f;line-height:1.6;margin-top:4px}.session-guide{display:grid;grid-template-columns:1fr 1.4fr;gap:65px;padding:55px 0;border-top:1px solid var(--line);margin-top:50px}.session-guide h2{font-size:44px;margin:20px 0}.session-guide>div>p{font-size:14px;color:var(--muted);max-width:300px}.guide-details details{border-bottom:1px solid var(--line)}.guide-details summary{display:flex;justify-content:space-between;gap:20px;padding:20px 0;font-size:16px}.guide-details p{font-size:14px;color:var(--muted);padding-bottom:20px}.guide-details .inline-button{margin-bottom:20px}.privacy-note,.times-note{font-size:12px}
@media(max-width:800px){.booking-progress{gap:12px;font-size:12px}.booking-progress a{flex-direction:column;align-items:flex-start;gap:4px}.session-guide{grid-template-columns:1fr;gap:20px;padding:35px 0}.session-guide h2{font-size:39px}.mobile-summary strong{font-size:12px}.mobile-summary>div>span{font-size:11px}.mobile-summary>a{font-size:12px}.privacy-note{font-size:12px}.member-request input{min-height:20px!important}.booking-step form label.member-request{font-size:14px}}

@media(max-width:800px){.booking-header{flex-wrap:wrap;height:auto;min-height:90px;padding-top:20px;padding-bottom:20px}.booking-header .brand{margin-right:auto}.booking-header .pay-header-link{margin-left:0;max-width:none}.booking-header .back-studio{display:none}}
