.booking-shell{max-width:78rem;padding-block:var(--space-8) var(--section-space)}.booking-progress{margin-bottom:var(--space-12)}.booking-progress ol{align-items:center;gap:var(--space-4);padding:0;list-style:none;display:flex}.booking-progress li{align-items:center;gap:var(--space-3);color:var(--color-muted);flex:1;display:flex}.booking-progress li:after{content:"";background:var(--color-line);height:1px;margin-left:var(--space-2);flex:1}.booking-progress li:last-child{flex:0}.booking-progress li:last-child:after{display:none}.booking-progress [aria-current=step]{color:var(--color-ink);font-weight:600}.booking-columns{gap:clamp(var(--space-8),6vw,6rem);grid-template-columns:minmax(0,1.4fr) minmax(0,.85fr);align-items:start;display:grid}.booking-main{min-width:0;animation:.45s ease-out backwards booking-arrive}.booking-main>.heading-block{margin-bottom:var(--space-6)}.booking-lede{max-width:35rem;color:var(--color-muted)}.booking-panel{margin-top:var(--space-8);border-top:1px solid var(--color-line);padding-top:var(--space-8)}.booking-panel>p{color:var(--color-muted);margin-top:var(--space-3)}.package-choices{gap:var(--space-3);margin-block:var(--space-6);display:grid}.package-choices a{justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-6);border:1px solid var(--color-line);color:var(--color-ink);text-decoration:none;display:flex}.package-choices a:hover,.package-choices a[aria-current=page]{border-color:var(--color-oxblood);background:var(--surface)}.package-choices strong,.package-choices small{display:block}.package-choices small{margin-top:var(--space-1);color:var(--color-muted)}.calendar-popup-button{width:100%;margin-top:var(--space-6)}.booking-panel-first{margin-top:var(--space-6);padding-top:var(--space-2);border-top:0}.package-choices .package-choice-action{color:var(--color-oxblood);flex:none;font-weight:600}.booking-notes{gap:var(--space-3);margin-top:var(--space-4);color:var(--color-muted);padding-left:1.1rem;display:grid}.booking-sticky{z-index:40;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6) calc(var(--space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--color-line);background:var(--color-paper);display:flex;position:fixed;inset:auto 0 0}.booking-sticky[hidden]{display:none}.booking-sticky strong,.booking-sticky small{display:block}.booking-sticky small{color:var(--color-muted)}@media (width>=768px){.booking-sticky{display:none!important}}.booking-legal{margin-top:var(--space-8)}.booking-shell .booking-form{margin-top:var(--space-6);gap:var(--space-6)}.booking-form label:not(.checkbox-row){gap:var(--space-2);display:grid}.booking-form textarea{resize:vertical;min-height:8rem;line-height:1.5}.booking-form .button{width:100%}.booking-help{color:var(--color-muted)}.booking-notice{margin-top:var(--space-6)}.booking-status{align-items:center;gap:var(--space-2);display:inline-flex}.booking-status:before{content:"";background:currentColor;border-radius:50%;width:.4rem;height:.4rem}.session-summary{background:var(--surface,#e8e2d8)}.session-summary-image{aspect-ratio:5/4;object-fit:cover;object-position:center 44%;width:100%}.session-summary-body{padding:var(--space-8) var(--space-8)}.session-summary h2{margin-top:var(--space-4)}.session-facts{margin-top:var(--space-6)}.session-facts div{justify-content:space-between;gap:var(--space-4);padding-block:var(--space-3);border-top:1px solid var(--color-line);display:flex}.session-facts dt{color:var(--color-muted)}.session-facts dd{text-align:right}.session-summary-note,.booking-support{margin-top:var(--space-6);color:var(--color-muted)}.booking-support a{overflow-wrap:anywhere}.calendar-frame{margin-top:var(--space-6);border:1px solid var(--color-line);background:#fff;border-radius:0;width:100%;min-height:660px}.calendar-link{margin-top:var(--space-3);display:inline-block}.welcome-video{margin-top:var(--space-8)}.welcome-video iframe,.welcome-video video{aspect-ratio:16/9;background:#171914;border:0;width:100%}.welcome-video figcaption{margin-top:var(--space-3);color:var(--color-muted)}.video-preview{aspect-ratio:16/9;color:#fffaf4;background:#252720;align-items:end;display:grid;position:relative;overflow:hidden}.video-preview img{object-fit:cover;object-position:center 38%;opacity:.45;width:100%;height:100%;position:absolute}.video-preview-copy{padding:var(--space-6);background:linear-gradient(#0000,#141413b3);position:relative}.video-preview-copy p{font-family:var(--font-display)}.expectation-list{padding:0;list-style:none}.expectation-list li{padding-block:var(--space-6);border-bottom:1px solid var(--color-line)}.expectation-list h3{margin-bottom:var(--space-2)}.expectation-list p{color:var(--color-muted)}.email-destination{overflow-wrap:anywhere}.booking-preview-dialog,.thank-you-dialog{width:min(92vw,36rem);max-height:min(90vh,46rem);padding:clamp(var(--space-6), 5vw, var(--space-12));border:1px solid var(--color-line);background:var(--color-paper);color:var(--color-ink);overflow:auto;box-shadow:0 24px 80px #11140f4d}.booking-preview-dialog::backdrop,.thank-you-dialog::backdrop{backdrop-filter:blur(5px);background:#11140fbf}.booking-preview-dialog h2,.thank-you-dialog h2{margin-block:var(--space-4)}.booking-preview-dialog p:not(.eyebrow),.thank-you-dialog p:not(.eyebrow){color:var(--color-muted)}.booking-preview-dialog .button,.thank-you-dialog .button{width:100%;margin-top:var(--space-6)}.dialog-close{top:var(--space-3);right:var(--space-3);width:2.75rem;height:2.75rem;color:var(--color-ink);font-size:var(--text-heading);background:0 0;border:0;line-height:1;position:absolute}.booking-faq details{border-top:1px solid var(--color-line)}.booking-faq details:last-child{border-bottom:1px solid var(--color-line)}.booking-faq summary{justify-content:space-between;gap:var(--space-4);padding-block:var(--space-5);cursor:pointer;list-style:none;display:flex}.booking-faq summary::-webkit-details-marker{display:none}.booking-faq details>p{padding-bottom:var(--space-5);color:var(--color-muted)}.booking-faq details[open] summary span{transform:rotate(45deg)}@keyframes booking-arrive{0%{transform:translateY(8px)}to{transform:translateY(0)}}@media (width<=767px){.booking-shell{padding-block:var(--space-6) calc(var(--space-12) + 5rem)}.booking-progress{margin-bottom:var(--space-12)}.booking-progress ol{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.booking-progress li{justify-content:center}.booking-progress li:after{display:none}.booking-columns{gap:var(--space-12);grid-template-columns:1fr}.session-summary{display:block}.session-summary-image{display:none}.session-summary-body{padding:var(--space-6)}.session-facts{margin-top:var(--space-4)}.session-facts div{display:flex}.session-facts dd{text-align:right}.calendar-frame{min-height:700px}.package-choices a{padding-inline:var(--space-4)}.booking-preview-dialog,.thank-you-dialog{width:calc(100vw - 2rem);max-height:calc(100dvh - 2rem);padding:var(--space-8) var(--space-6)}}
