.book-layout{grid-template-columns:1fr 360px;align-items:start;gap:64px;display:grid}.book-aside{flex-direction:column;gap:24px;display:flex;position:sticky;top:96px}@media (max-width:1100px){.book-layout{grid-template-columns:1fr;gap:48px}.book-aside{position:static}}.book-step{border-top:1px solid var(--rule);grid-template-columns:80px 1fr;gap:32px;padding:48px 0;display:grid}.book-step:first-of-type{border-top:none;padding-top:8px}.book-step__num{font-family:var(--f-display);color:var(--oxblood);letter-spacing:-.02em;font-size:44px;font-style:italic;line-height:1}.book-step__head{margin-bottom:28px}.book-step__head h2{margin:0;font-style:italic}.book-step__head p{margin:6px 0 0}@media (max-width:640px){.book-step{grid-template-columns:1fr;gap:16px}.book-step__num{font-size:32px}}.session-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (max-width:760px){.session-grid{grid-template-columns:1fr}}.session-card{background:var(--surface);border:1px solid var(--rule-soft);cursor:pointer;border-radius:var(--r-1);padding:22px 24px;transition:border-color .18s,background .18s,transform .18s;display:block;position:relative}.session-card:hover{border-color:var(--rule)}.session-card input{opacity:0;pointer-events:none;position:absolute}.session-card.is-active{background:var(--paper);border-color:var(--ink);box-shadow:inset 4px 0 0 0 var(--oxblood)}.session-card__head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.session-card__head h3{margin:0;font-size:22px;font-style:italic}.session-card__price{font-family:var(--f-display);color:var(--oxblood);white-space:nowrap;font-size:22px;font-style:italic}.session-card__duration{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-top:4px;font-size:13px}.session-card__blurb{color:var(--ink-2);margin:14px 0 0;font-size:16px;line-height:1.6}.cal-pair{grid-template-columns:1.05fr 1fr;align-items:start;gap:32px;display:grid}@media (max-width:900px){.cal-pair{grid-template-columns:1fr}}.bs-cal{--dot-open:#2fa996;--dot-limited:#d8a126;--dot-full:#c4475a;--dot-closed:#1a1f2466;background:var(--surface);border:1px solid var(--rule-soft);padding:24px}.bs-cal__head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.bs-cal__title{text-align:center}.bs-cal__title .display-s{margin:4px 0 0;font-style:italic}.bs-cal__nav{border:1px solid var(--rule);width:36px;height:36px;color:var(--ink);font-family:var(--f-display);cursor:pointer;border-radius:var(--r-1);background:0 0;font-size:22px;line-height:1;transition:all .15s}.bs-cal__nav:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.bs-cal__nav:disabled{opacity:.35;cursor:not-allowed}.bs-cal__weekrow{border-bottom:1px solid var(--rule-soft);grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px;padding-bottom:8px;display:grid}.bs-cal__weekday{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.18em;text-align:center;color:var(--ink-3);font-size:10px}.bs-cal__grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.bs-cal__cell{aspect-ratio:1;color:var(--ink);font-family:var(--f-body);cursor:pointer;border-radius:var(--r-1);background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;padding:0;font-size:16px;transition:all .15s;display:flex;position:relative}.bs-cal__cell:not(.is-disabled):hover{border-color:var(--ink);background:var(--paper)}.bs-cal__cell.is-disabled{color:var(--ink-4);cursor:not-allowed;opacity:.45;text-decoration:line-through;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule)}.bs-cal__cell.is-selected{background:var(--ink);color:var(--paper);border-color:var(--ink)}.bs-cal__cell.is-today:not(.is-selected){border-color:var(--oxblood);color:var(--oxblood);font-style:italic}.bs-cal__cell.is-selected .bs-cal__num{color:var(--paper)}.bs-cal__cell--empty{cursor:default}.bs-cal__num{line-height:1}.bs-cal__dot{background:0 0;border-radius:999px;width:7px;height:7px;margin-top:4px}.bs-cal__cell.avail-open .bs-cal__dot{background:var(--dot-open)}.bs-cal__cell.avail-limited .bs-cal__dot{background:var(--dot-limited)}.bs-cal__cell.avail-full .bs-cal__dot{background:var(--dot-full)}.bs-cal__cell.is-selected .bs-cal__dot{background:var(--gold-soft)}.bs-cal__legend{border-top:1px solid var(--rule-soft);font-family:var(--f-label);text-transform:uppercase;letter-spacing:.16em;color:var(--ink-3);flex-wrap:wrap;gap:14px;margin-top:18px;padding-top:14px;font-size:10px;display:flex}.bs-cal__legend .dot{vertical-align:middle;border-radius:999px;width:8px;height:8px;margin-right:6px;display:inline-block}.bs-cal__legend .dot-open{background:var(--dot-open)}.bs-cal__legend .dot-limited{background:var(--dot-limited)}.bs-cal__legend .dot-full{background:var(--dot-full)}.bs-cal__legend .dot-closed{background:var(--dot-closed)}.slots__title{margin-top:6px;font-style:italic}.slot-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px;display:grid}@media (max-width:480px){.slot-grid{grid-template-columns:repeat(2,1fr)}}.slot{background:var(--surface);border:1px solid var(--rule);color:var(--ink);cursor:pointer;border-radius:var(--r-1);font-family:var(--f-body);flex-direction:column;align-items:flex-start;padding:12px 14px;transition:all .15s;display:flex}.slot__time{font-family:var(--f-display);font-size:22px;font-style:italic;line-height:1}.slot__meta{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.16em;color:var(--ink-3);margin-top:4px;font-size:10px}.slot:not(.is-taken):hover{border-color:var(--ink)}.slot.is-selected{background:var(--ink);border-color:var(--ink);color:var(--paper)}.slot.is-selected .slot__meta{color:var(--gold-soft)}.slot.is-taken{opacity:.4;cursor:not-allowed;background:0 0;text-decoration:line-through;text-decoration-thickness:1px}.slots__empty{border:1px dashed var(--rule);color:var(--ink-3);text-align:center;margin-top:24px;padding:28px;font-size:17px}.slots__notice{background:var(--surface);border:1px dashed var(--rule);color:var(--ink-3);margin-top:16px;padding:12px 14px;font-size:13px;line-height:1.4}.mode-toggle{border-top:1px solid var(--rule-soft);margin-top:28px;padding-top:20px}.mode-toggle__row{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.mode-btn{border:1px solid var(--rule);cursor:pointer;text-align:left;border-radius:var(--r-1);font-family:var(--f-body);color:var(--ink);background:0 0;padding:12px 14px;transition:all .15s}.mode-btn:hover{border-color:var(--ink)}.mode-btn.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.mode-btn__label{font-family:var(--f-display);font-size:19px;font-style:italic;line-height:1.1;display:block}.mode-btn__sub{color:var(--ink-3);margin-top:2px;font-size:12px;display:block}.mode-btn.is-active .mode-btn__sub{color:var(--gold-soft)}.form-grid{grid-template-columns:1fr 1fr;gap:20px 24px;display:grid}@media (max-width:640px){.form-grid{grid-template-columns:1fr}}.form-grid .form-grid__full{grid-column:1/-1}.form-grid label.label{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.18em;color:var(--ink-3);margin-bottom:8px;font-size:11px;display:block}.form-grid label.label .optional{text-transform:none;letter-spacing:0;color:var(--ink-4);font-style:italic}.form-grid input.input,.form-grid textarea.textarea{background:var(--surface);border:1px solid var(--rule);width:100%;font-family:var(--f-body);color:var(--ink);border-radius:var(--r-1);padding:12px 14px;font-size:16px}.form-grid input.input:focus,.form-grid textarea.textarea:focus{border-color:var(--ink);outline:none}.form-grid textarea.textarea{resize:vertical;min-height:160px;line-height:1.5}.form-grid .chip-row{flex-wrap:wrap;gap:8px;display:flex}.form-grid .field-error{color:var(--oxblood);margin:6px 0 0;font-size:13px}.book-non-field-error{border-left:3px solid var(--oxblood);color:var(--oxblood-2);background:#6b2d3a14;margin:0 0 24px;padding:12px 16px;font-size:15px}.summary{background:var(--ink-deep);color:var(--paper);padding:32px 28px 28px;position:relative}.summary:before,.summary:after{content:"";background:var(--gold);height:1px;position:absolute;left:16px;right:16px}.summary:before{top:8px}.summary:after{bottom:8px}.summary__head{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.summary__monogram{font-family:var(--f-display);color:var(--gold-soft);letter-spacing:.02em;font-size:22px;font-style:italic}.summary__list{flex-direction:column;gap:0;margin:0 0 24px;display:flex}.summary__list>div{border-bottom:1px dashed #d8e4e42e;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;display:flex}.summary__list>div:last-child{border-bottom:none}.summary__list dt{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.18em;color:#d8e4e499;font-size:10.5px}.summary__list dd{font-family:var(--f-display);color:var(--paper);text-align:right;margin:0;font-size:19px;font-style:italic}.summary__list dd .muted{color:#d8e4e466}.summary__list .summary__total{border-top:1px solid var(--gold);border-bottom:none;margin-top:10px;padding-top:18px}.summary__list .summary__total dt{color:var(--gold-soft)}.summary__list .summary__total dd{color:var(--gold-soft);font-size:26px}.summary .btn{background:var(--paper);color:var(--ink);border-color:var(--paper)}.summary .btn:hover{background:var(--gold-soft);color:var(--ink);border-color:var(--gold-soft)}.summary .btn:disabled{opacity:.4;cursor:not-allowed;background:var(--paper);color:var(--ink)}.summary__footnote{color:#d8e4e499;text-align:center;margin-top:14px;font-size:13px;font-style:italic}.aside-note{background:var(--surface);border:1px solid var(--rule-soft);padding:24px 26px}.aside-note--quiet{border-color:var(--rule);background:0 0}.aside-note p{margin:0}.aside-list{margin:0;padding-left:18px}.aside-list li{color:var(--ink-2);margin-bottom:10px;font-size:15px;line-height:1.55}.aside-list li:last-child{margin-bottom:0}.aside-list strong{color:var(--ink);font-weight:600}.aside-note a{border-bottom:1px solid}.book-thanks{text-align:center}.book-thanks__title{margin:0;font-style:italic}.book-thanks__lede{margin-top:24px;max-width:620px;margin-inline:auto}.book-thanks__receipt{background:var(--surface);border:1px solid var(--rule-soft);text-align:left;margin-top:56px;max-width:520px;margin-inline:auto;padding:32px}.book-thanks__receipt dl{grid-template-columns:120px 1fr;gap:12px 16px;margin:0;display:grid}.book-thanks__receipt dd{margin:0}.book-thanks__receipt .reference{font-family:var(--f-mono);font-size:13px}.book-thanks__actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:48px;display:flex}.book-faq{border-top:1px solid var(--rule);padding:96px 0}.book-faq__heading{margin-bottom:48px}.book-faq__grid{grid-template-columns:repeat(2,1fr);gap:32px;display:grid}@media (max-width:760px){.book-faq__grid{grid-template-columns:1fr}}.book-faq__item{border-left:1px solid var(--rule);padding:4px 0 4px 28px}.book-faq__item h3{margin:0;font-size:22px;font-style:italic}.book-faq__item p{color:var(--ink-2);margin-top:12px;font-size:16px;line-height:1.6}
