.demo-note{padding:9px 24px;text-align:center;background:#e6deeb;color:#513e60;font-size:11px}.booking{max-width:1320px;margin:auto;padding:64px var(--gutter) 80px;display:grid;grid-template-columns:1fr 1.05fr;gap:90px}.booking h1{font-size:clamp(58px,6.3vw,88px);margin:24px 0}.intro{max-width:375px;color:var(--muted);font-size:15px;line-height:1.8}.host{display:flex;gap:16px;align-items:center;margin:32px 0}.host p{font-size:11px;color:var(--muted)}.monogram{border:1px solid var(--line);border-radius:50%;width:48px;height:48px;display:grid;place-items:center;font-family:var(--serif);font-size:24px}.steps{list-style:none;padding:0;counter-reset:step;margin:28px 0}.steps li{padding:9px 0;color:var(--muted);font-size:12px}.steps li:before{counter-increment:step;content:'0' counter(step);margin-right:22px;color:var(--purple)}.steps li[aria-current=step]{font-weight:700;color:var(--ink)}.support{margin-top:36px;font-size:10px;letter-spacing:.08em;color:var(--muted)}.booking-panel{border-top:1px solid var(--ink);padding-top:22px;min-width:0}.booking-panel h2{font-size:39px;line-height:1.12;margin:22px 0 14px}.hint{font-size:13px;color:var(--muted);margin-bottom:24px}.choice{display:block;text-align:left;width:100%;background:transparent;border-top:1px solid var(--line);padding:19px 14px;position:relative;transition:background .2s}.choice:last-child{border-bottom:1px solid var(--line)}.choice strong{display:block;font-size:14px;font-weight:600}.choice span{font-size:12px;color:var(--muted)}.choice[aria-pressed=true]{background:#e9e1ee;box-shadow:inset 3px 0 var(--purple)}.actions{display:flex;align-items:center;justify-content:space-between;margin-top:30px;gap:20px}.actions .text-link{background:none}.booking label{display:block;font-size:12px;margin:20px 0 6px}.booking input,.booking textarea,.booking select{font:inherit;width:100%;padding:12px;border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:0;box-sizing:border-box}.booking textarea{resize:vertical;min-height:100px}.dates,.slots{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}.dates button,.slots button{background:var(--white);border:1px solid var(--line);padding:13px 16px;min-height:46px}.dates button[aria-pressed=true],.slots button[aria-pressed=true]{background:var(--dark);color:white}.appointment{border-left:2px solid var(--purple);padding:12px 20px;margin:24px 0;background:#ece6ee;font-size:13px}.review{margin:24px 0}.review div{padding:12px 0;border-bottom:1px solid var(--line)}.review dt{font-size:10px;text-transform:uppercase;color:var(--muted);letter-spacing:.07em}.review dd{margin:4px 0;font-size:14px;overflow-wrap:anywhere}.consent{display:flex!important;gap:10px;align-items:flex-start}.consent input{width:18px;margin-top:5px;flex-shrink:0}.button:disabled{opacity:.45;cursor:default}@media(max-width:800px){.header>.eyebrow{display:none}.booking{display:block;padding-top:30px}.booking aside{margin-bottom:36px}.booking h1{font-size:60px}.steps{display:flex;gap:12px;flex-wrap:wrap}.steps li{font-size:10px}.steps li:before{margin-right:6px}.support,.host{display:none}.booking-panel h2{font-size:34px}.booking{padding-inline:24px}.intro{font-size:14px}}

.booking [hidden]{display:none!important;}
/* Editorial booking: warm paper, plum ink, generous rhythm. */
:root{--booking-paper:#faf8f3;--booking-plum:#392a43;--booking-accent:#725487;--booking-border:#dfd8df}
body{background:#f0ede6}.header{background:#f0ede6;border-bottom:1px solid #dcd6dd;padding-block:23px}.demo-note{background:transparent;color:#776b7a;font-size:10px;letter-spacing:.05em;padding:12px}.booking{max-width:1450px;grid-template-columns:minmax(270px,.85fr) minmax(440px,1.3fr);gap:75px;padding-top:35px;align-items:start}.booking aside{padding:24px 0;position:sticky;top:25px}.booking h1{font-size:clamp(55px,5.4vw,80px);line-height:.98;letter-spacing:-.04em;margin:25px 0}.booking h1 em{color:#7b5e8d}.intro{font-size:14px;max-width:320px;line-height:1.8}.host{margin:28px 0 20px}.monogram{background:#e4dce8;border:0;width:46px;height:46px}.session-details{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:11px;border-block:1px solid var(--booking-border);padding:18px 0;max-width:340px}.session-details strong{width:100%;font-size:18px;font-weight:500}.steps{margin:25px 0;display:grid;gap:3px}.steps li{padding:7px 0}.steps li[aria-current=step]:before{background:var(--booking-plum);color:#fff}.steps li:before{display:inline-grid;place-items:center;border:1px solid var(--booking-border);border-radius:50%;width:25px;height:25px;margin-right:12px;font-size:9px}.signature{font-size:12px;margin:30px 0;color:var(--muted)}.signature em{font-family:var(--serif);font-size:38px;color:var(--booking-plum)}.support{font-size:9px;margin-top:22px}.booking-panel{background:var(--booking-paper);border:1px solid #e2dce2;border-radius:6px;box-shadow:0 16px 55px #392a4308;padding:32px 38px;min-height:600px}.booking-panel>.eyebrow{font-size:10px;letter-spacing:.17em;color:var(--booking-accent);border-bottom:1px solid var(--booking-border);padding-bottom:19px}.booking-panel h2{font-size:44px;letter-spacing:-.025em;margin:24px 0 14px}.choice{border:1px solid var(--booking-border)!important;border-radius:4px;margin:10px 0;padding:19px 45px 19px 20px;background:#fffdf9}.choice:after{content:'↗';position:absolute;right:19px;top:22px;color:#9a899f}.choice[aria-pressed=true]{background:#ece5f0;border-color:#9d86ab!important;box-shadow:none}.choice[aria-pressed=true]:after{content:'✓';color:var(--booking-accent)}.choice strong{font-size:13px;margin-bottom:6px}.choice span{font-size:11px;line-height:1.65;display:block}.choice:hover{border-color:#9d86ab!important}.appointment{border:0;border-radius:3px;padding:15px 18px;font-size:12px;margin:18px 0;background:#efebe9;line-height:1.8}.appointment strong{font-weight:600}.appointment small{color:var(--muted);font-size:11px}.hint{font-size:12px;line-height:1.7;margin-bottom:15px}.date-picker{display:flex;gap:10px;margin:20px 0 25px}.date-picker button{flex:1;max-width:120px;padding:12px 10px;border:1px solid var(--booking-border);border-radius:4px;background:#fffdf9;text-transform:uppercase;font-size:10px;color:#766a7d;display:grid;gap:3px;justify-items:center}.date-picker strong{font-family:var(--serif);font-weight:400;font-size:37px;line-height:1.1;color:var(--booking-plum)}.date-picker span{font-size:9px}.date-picker button[aria-pressed=true]{background:var(--booking-plum);color:#eee2f4;border-color:var(--booking-plum)}.date-picker button[aria-pressed=true] strong{color:white}.slot-caption{font-size:9px;letter-spacing:.13em;color:#807185;margin:15px 0 8px}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 20px}.slots button{padding:11px 7px;min-height:43px;font-size:12px;border-radius:3px;background:#fffdf9}.slots button:hover{border-color:#856893}.slots button[aria-pressed=true]{background:#ece2f2;color:var(--booking-plum);border-color:#856893;box-shadow:inset 0 0 0 1px #856893}.week-navigation{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;border-top:1px solid var(--booking-border);padding:16px 0;margin-bottom:10px}.week-navigation button{background:none;font-size:10px;color:var(--booking-plum);padding:5px 0}.week-navigation button:disabled{opacity:.3;cursor:default}.week-navigation #refresh-slots{color:#817288}.actions{border-top:1px solid var(--booking-border);padding-top:23px;margin-top:25px;min-height:65px}.actions .button{border-radius:3px;font-size:12px;padding:15px 23px;background:var(--booking-plum)}.booking input,.booking textarea,.booking select{border-radius:3px;background:#fffdf9;font-size:14px;padding:14px}.booking label{font-size:11px;line-height:1.6}.booking button:focus-visible,.booking input:focus-visible,.booking textarea:focus-visible,.booking select:focus-visible{outline:2px solid #856893;outline-offset:4px}.review{background:#efe9f1;padding:8px 20px;border-radius:4px}.review div:last-child{border:0}.review dt{font-size:9px}.review dd{font-size:13px}
@media(max-width:1000px){.booking{gap:35px;padding-inline:30px}.booking-panel{padding:26px}.booking h1{font-size:58px}}
@media(max-width:800px){.booking{display:block;padding:20px 18px 40px}.booking aside{position:static;padding:0 8px 18px;margin:0}.booking h1{font-size:45px;margin:15px 0;line-height:1.03}.booking h1 br{display:none}.intro{max-width:100%;font-size:12px}.host,.signature,.support{display:none}.session-details{max-width:none;border-top:0;padding:10px 0 15px;align-items:center}.session-details strong{width:auto;font-size:14px;margin-left:auto}.steps{display:flex;justify-content:space-between;gap:6px;margin:16px 0 0}.steps li{font-size:9px;display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center}.steps li:before{margin:0}.booking-panel{padding:22px 20px;min-height:0}.booking-panel h2{font-size:35px}.demo-note{font-size:9px;padding-inline:24px}.booking-panel>.eyebrow{padding-bottom:14px}.choice{padding:16px 32px 16px 14px}.choice:after{right:13px}.slots{gap:7px}.slots button{font-size:11px}.actions{gap:12px}.actions .button{padding:14px 17px}.week-navigation{gap:8px}.week-navigation button{font-size:9px}}

.actions #next{margin-left:auto}.booking .steps li::marker{content:""}

.meeting-mode{border:0;padding:0;margin:22px 0}.meeting-mode legend{font-size:12px;font-weight:600;margin-bottom:12px}.mode-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mode-options button{text-align:left;padding:15px;background:#fffdf9;border:1px solid var(--booking-border);border-radius:4px;color:var(--booking-plum)}.mode-options strong,.mode-options span{display:block}.mode-options strong{font-size:13px;margin-bottom:6px}.mode-options span{font-size:11px;line-height:1.6;color:var(--muted)}.mode-options button[aria-pressed=true]{background:#ece5f0;border-color:#856893;box-shadow:inset 0 0 0 1px #856893}.meeting-mode .hint{margin:12px 0 0}

.phone-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:end;gap:10px}.phone-fields .phone-country-label{margin:0 0 6px;font-size:10px;color:var(--muted)}.phone-error{color:#9b3545;font-size:12px;line-height:1.5}.phone-error:empty{display:none}.booking input[aria-invalid=true]{border-color:#9b3545}

.payment-recovery{position:fixed;z-index:2147483647;top:16px;left:50%;transform:translateX(-50%);display:flex;gap:12px;align-items:center;max-width:calc(100% - 32px);padding:12px 18px;border-radius:12px;background:#faf8f3;color:#302737;box-shadow:0 4px 24px #0003;font-size:14px;}
.payment-recovery[hidden]{display:none;}
.payment-recovery button{border:1px solid #6f4c87;border-radius:24px;padding:8px 14px;background:#302737;color:#faf8f3;cursor:pointer;white-space:nowrap;}

/* Public appointment journey: generous type and a quiet editorial frame. */
.agenda-page .booking{max-width:1360px;grid-template-columns:minmax(280px,.82fr) minmax(0,1.3fr);gap:clamp(36px,5vw,80px);padding-top:42px}
.agenda-page .booking aside{padding-top:12px;position:static}
.agenda-page .booking h1{font-size:clamp(56px,5.6vw,78px);margin:22px 0 24px}
.agenda-page .intro{font-size:16px;line-height:1.75;max-width:340px}
.agenda-page .host strong{font-size:15px}.agenda-page .host p{font-size:12px;max-width:230px}
.agenda-page .session-details{padding:21px 0;gap:7px 18px;font-size:13px;max-width:350px}
.agenda-page .session-details .session-caption{width:100%;font-size:10px;letter-spacing:.15em;color:var(--muted)}
.agenda-page .session-details strong{font-size:30px;letter-spacing:-.035em;line-height:1.5}
.agenda-page .session-details small{font-size:12px;letter-spacing:.03em;color:var(--muted);font-weight:400}
.agenda-page .steps{margin:25px 0 0}.agenda-page .steps li{font-size:13px;padding:8px 0}
.agenda-page .steps li:before{width:28px;height:28px;font-size:10px}
.agenda-page .signature{margin:24px 0 0}.agenda-page .support{display:none}
.agenda-page .booking-panel{padding:32px clamp(24px,3vw,42px);border-radius:12px;border-color:#dcd4dc;box-shadow:none;min-height:0}
.agenda-page .booking-panel h2{font-size:clamp(38px,3.7vw,51px);line-height:1.06;margin:28px 0 18px}
.agenda-page .booking-panel h2 em{color:var(--purple)}
.agenda-page .hint{font-size:14px;line-height:1.7;margin-bottom:22px}
.agenda-page .topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0 8px}
.agenda-page .choice{height:100%;margin:0;padding:20px;min-height:178px;border-radius:7px;transition:background .16s,border-color .16s}
.agenda-page .choice:after{top:19px;right:18px;font-size:19px}
.agenda-page .choice .topic-number{font-size:11px;letter-spacing:.1em;color:var(--purple);margin-bottom:22px}
.agenda-page .choice strong{font-size:15px;line-height:1.5;margin-bottom:8px;padding-right:5px}
.agenda-page .choice span{font-size:13px;line-height:1.65;color:#65596b}
.agenda-page .choice[aria-pressed=true]{background:#e9e0ee;border-color:#725487!important;box-shadow:inset 0 0 0 1px #725487}
.agenda-page .actions{margin-top:28px;padding-top:23px}
.agenda-page .actions .button{font-size:14px;border-radius:999px;min-width:152px;min-height:50px}
.agenda-page .booking label,.agenda-page .meeting-mode legend{font-size:13px}
.agenda-page .booking input,.agenda-page .booking select,.agenda-page .booking textarea{font-size:16px;min-height:50px}
.agenda-page .booking .consent input{min-height:0}
.agenda-page .mode-options strong{font-size:15px}.agenda-page .mode-options span{font-size:13px}
.agenda-page .slots button{font-size:14px;min-height:48px}.agenda-page .week-navigation button{font-size:12px}
.agenda-page .review dt{font-size:11px}.agenda-page .review dd{font-size:15px}
.booking-footer{max-width:1200px;margin:0 auto;padding:24px 32px 36px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}
.booking-footer button{background:none;padding:0 0 5px;border-bottom:1px solid var(--line);font-size:12px;color:var(--ink)}
.booking-footer [role=status]:empty{display:none}
@media(max-width:800px){
 .agenda-page .booking{display:block;padding:24px 18px 36px}.agenda-page .booking aside{padding:0 6px 24px}
 .agenda-page .booking h1{font-size:46px;margin:12px 0 16px}.agenda-page .booking h1 br{display:none}
 .agenda-page .intro{font-size:14px;max-width:none}.agenda-page .session-details{max-width:none;padding:14px 0;gap:4px 16px;font-size:12px}
 .agenda-page .session-details .session-caption{display:none}.agenda-page .session-details strong{font-size:24px;width:100%;margin:0}
 .agenda-page .steps{margin-top:18px}.agenda-page .steps li{font-size:10px;padding:4px 0;flex:1}
 .agenda-page .booking-panel{padding:24px 20px}.agenda-page .booking-panel h2{font-size:38px;margin-top:22px}
 .agenda-page .hint{font-size:14px}.agenda-page .topic-grid{grid-template-columns:1fr;gap:10px;margin-top:20px}
 .agenda-page .choice{min-height:0;padding:18px 42px 18px 48px}.agenda-page .choice .topic-number{position:absolute;left:15px;top:21px;margin:0}
 .agenda-page .choice strong{font-size:14px}.agenda-page .choice span{font-size:12px}
 .agenda-page .actions .button{min-width:140px}.booking-footer{margin:0 24px;padding:24px 0;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.agenda-page .choice{transition:none}}

/* Selection is communicated by the border and check, without decorative arrows. */
.agenda-page .choice:not([aria-pressed=true])::after{content:none;}
.payment-page .booking{max-width:1500px;grid-template-columns:minmax(230px,.65fr) minmax(0,1.7fr);gap:40px}.payment-page .booking-panel{padding:28px}.confirmation-details{border-top:1px solid var(--line);margin-top:24px;padding-top:20px;overflow-wrap:anywhere}.payment-page #checkout-action a{background:none;color:var(--ink);padding:8px 0;border:0;text-decoration:underline;font-size:12px}.payment-page #embedded-checkout{margin:24px 0}.payment-page #payment-message{margin-bottom:20px}
@media(max-width:800px){.payment-page .booking{display:block}.payment-page .booking-panel{padding:18px}.payment-page .booking h1{font-size:40px}}

.payment-page #widget-recovery:not([hidden]){position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:2147483647;background:#fff;color:#33263e;border:1px solid #d8cee0;border-radius:12px;padding:10px 18px;box-shadow:0 4px 24px #241a3026;max-width:95vw;font-size:12px;display:flex;align-items:center;gap:12px}.payment-page #recover-payment{border:0;border-bottom:1px solid currentColor;background:none;color:inherit;cursor:pointer;white-space:nowrap}.payment-page #open-payment{margin-bottom:12px}.payment-page .confirmation-details{line-height:1.8}

/* A clear end to the booking journey, with the public site's navigation. */
.payment-header{position:static;display:flex;align-items:center;justify-content:space-between;gap:20px}.payment-header nav a{color:var(--ink);font-size:13px;text-decoration:underline;text-underline-offset:5px}.payment-page .booking{max-width:1320px;grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr);padding-top:44px}.payment-page .booking h1{font-size:clamp(44px,5vw,68px);line-height:1.03}.payment-page .booking-panel{min-height:0;padding:32px}.payment-next{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.payment-next h3{font-family:var(--sans);font-size:14px;margin:0 0 9px}.payment-next p{font-size:13px;line-height:1.8;color:var(--muted)}.payment-navigation{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:25px}.payment-navigation .button{background:var(--booking-plum);color:#fff;font-size:13px;text-align:center}.payment-secondary,.payment-verify{color:var(--ink);font:inherit;font-size:12px;background:none;border:0;text-decoration:underline;text-underline-offset:4px}.payment-page .payment-verify[hidden]{display:none!important}.payment-page aside>p{line-height:1.8}.payment-navigation a:focus-visible,.payment-header a:focus-visible{outline:2px solid var(--booking-accent);outline-offset:5px}@media(max-width:800px){.payment-page .booking{display:block;padding-top:25px}.payment-page .booking-panel{padding:24px}.payment-header{padding:18px 22px}.payment-header nav a{font-size:11px}.payment-navigation{align-items:stretch;gap:18px;flex-direction:column}.payment-navigation .payment-secondary{text-align:center}.payment-page .booking h1{font-size:44px}}
.consultation-credit { font-size:13px; line-height:1.7; color:var(--muted,#716777); margin:12px 0 0; }

.session-locations { display:grid; grid-template-columns:1fr; gap:6px; width:100%; text-align:left; }
