.tp-page{background:var(--cream);color:var(--ink);min-height:70vh;padding:28px 0 80px}.tp-page.tp-public{padding:0}.tp-preview{border-radius:var(--radius-control);color:#615632;background:#f5f0df;border:1px solid #ded6bd;gap:12px;margin-bottom:24px;padding:12px 16px;font-size:13px;display:flex}.tp-preview strong{white-space:nowrap}.tp-lead{max-width:42rem;color:var(--muted);margin:1rem 0 1.75rem;font-size:clamp(1.08rem,1.4vw,1.28rem);line-height:1.75}.tp-intro-card dl{margin:0}.tp-intro-card dl div,.tp-summary dl div{border-bottom:1px solid #ffffff40;justify-content:space-between;gap:16px;padding:12px 0;display:flex}.tp-intro-card dt{color:#f2fbfc}.tp-intro-card dd,.tp-summary dd{text-align:right;margin:0}.tp-section{padding:32px 0}.tp-section-head{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.tp-book-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.tp-book-header .eyebrow{margin:0}.tp-book-header .button{margin-left:auto}:where(.tp-page) h1{font:400 var(--public-title-size)/1.15 var(--font-display)}.tp-page .tp-bookings-heading{color:var(--orange-dark);font:700 .78rem/1.5 var(--font-body);letter-spacing:.13em;text-transform:uppercase;margin:0}:where(.tp-page) h2{font-family:var(--font-display);margin:0 0 16px;font-size:27px;line-height:1.25}:where(.tp-page) h3{font-family:var(--font-display);margin:12px 0;font-size:22px}.tp-muted{color:var(--muted)}.tp-small{color:var(--muted);font-size:13px;line-height:1.65}.tp-offering{border:1px solid var(--line);border-radius:var(--public-card-radius);background:#fff;grid-template-columns:minmax(0,1fr) 230px;align-items:center;gap:30px;margin-bottom:20px;padding:28px;display:grid}.tp-offering-copy h3{font-size:29px}.tp-offering-copy p{color:var(--muted);line-height:1.65}.tp-chips{flex-wrap:wrap;gap:8px;display:flex}.tp-chips span{background:var(--surface-soft);border-radius:5px;padding:5px 9px;font-size:12px}.tp-offering-buy{border-left:1px solid var(--line-soft);flex-direction:column;gap:8px;padding-left:26px;display:flex}.tp-offering-buy>strong{font-size:32px}.tp-offering-buy>span,.tp-offering-buy>small{color:var(--muted);font-size:13px;line-height:1.5}.tp-offering-buy .button{margin-top:12px}.tp-faq>h2{font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.3}.tp-faq>p+h2:not(:first-of-type){margin-top:2.25rem}.tp-page details{border-bottom:1px solid var(--line);padding:16px 0}.tp-page summary{cursor:pointer;font-weight:600}.tp-page details p{line-height:1.7}.tp-book-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);align-items:start;gap:24px;display:grid}.tp-panel{border:1px solid var(--line);border-radius:var(--radius-card);background:#fff;min-width:0;margin-bottom:24px;padding:28px}.tp-number{background:var(--teal-pale);width:29px;height:29px;font:14px var(--font-body);vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;margin-right:10px;display:inline-flex}.tp-page label:not(.tp-check):not(.tp-payment-options label){flex-direction:column;gap:7px;margin:16px 0;font-size:14px;font-weight:600;display:flex}.tp-page input:not([type=checkbox]):not([type=radio]),.tp-page select,.tp-page textarea{font:inherit;border:1px solid var(--line);border-radius:var(--radius-control);width:100%;min-width:0;color:var(--ink);background:#fff;padding:11px 12px;font-weight:400}.tp-page input:focus,.tp-page select:focus,.tp-page textarea:focus,.tp-calendar button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.tp-fields{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;display:grid}.tp-person{border:1px solid var(--line);border-radius:var(--public-card-radius);margin:24px 0;padding:4px 18px 16px}.tp-person legend{padding:0 8px;font-size:13px;font-weight:600}.tp-person label{margin:8px 0!important}.tp-billing-summary{overflow-wrap:anywhere;gap:18px;padding:12px 0 4px;line-height:1.65;display:grid}.tp-billing-summary>p{margin:0}.tp-billing-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;display:grid}.tp-billing-header p{margin:0}.tp-billing-header .button{justify-self:end}@media (width<=600px){.tp-billing-header{grid-template-columns:minmax(0,1fr)}.tp-billing-header .button{grid-row:1}}.tp-billing-address>strong{margin-bottom:6px;display:block}.tp-months{gap:12px;margin:24px 0 16px;display:flex}.tp-months a{border-radius:var(--radius-control);background:var(--surface-soft);padding:9px 14px;font-size:14px;text-decoration:none}.tp-months .active{background:var(--teal);color:#fff}.tp-calendar{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.tp-weekday{color:var(--muted);padding:10px 0;font-size:12px}.tp-calendar button{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-soft);aspect-ratio:1.1;cursor:pointer;min-height:42px;color:var(--teal-dark);font:inherit;position:relative}.tp-calendar button span{font-size:15px;line-height:15px;position:absolute;bottom:0;left:0;right:0}.tp-calendar button:disabled{background:var(--surface-soft);color:#879498;cursor:default;border-color:#0000}.tp-calendar button.selected{background:var(--teal);color:#fff}.tp-slot-row{grid-template-columns:1fr 1fr;gap:12px;margin:16px 0;display:grid}.tp-slot{text-align:center;border:1px solid var(--line);border-radius:var(--public-card-radius);color:inherit;flex-direction:column;gap:5px;padding:14px;text-decoration:none;display:flex}.tp-slot span{font-size:12px}.tp-slot.selected{background:var(--teal-pale);border:2px solid var(--teal-dark);padding:13px}.tp-slot.unavailable{opacity:.5}.tp-summary{background:var(--teal-pale)}.tp-summary .tp-session-title{margin:0 0 16px;font-size:27px;line-height:1.25}.tp-summary dl div{border-bottom-color:var(--line);font-size:14px}.tp-summary .button{width:100%;margin:8px 0}.tp-signin{gap:1.25rem;display:grid}.tp-signin p{max-width:65ch;margin:0;line-height:1.7}.tp-signin-actions{flex-wrap:wrap;gap:.75rem;display:flex}.tp-details{margin-top:8px}.tp-details h2:not(:first-child){margin-top:38px}.tp-check{align-items:flex-start;gap:12px;margin:20px 0;font-size:14px;font-weight:400;line-height:1.6;display:flex}.tp-check input{flex-shrink:0;width:18px;height:18px;margin-top:3px}.tp-payment-options{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:24px 0;display:grid}.tp-payment-options label{border:1px solid var(--line);border-radius:var(--public-card-radius);grid-template-columns:20px 1fr;gap:10px;padding:18px;display:grid}.tp-payment-options label span{grid-column:2;font-size:13px;line-height:1.5}.tp-payment-options input{width:16px;height:16px;margin-top:4px}.tp-payment-options label:has(input:checked){background:var(--teal-pale);border-color:var(--teal-dark)}.tp-payment-options .unavailable{opacity:.55}.tp-submit{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-top:18px;display:flex}.tp-submit>strong{font-size:22px}.tp-back{margin:10px 0 25px;display:inline-block}.tp-subnav{flex-wrap:wrap;gap:22px;margin:24px 0 32px;font-size:14px;display:flex}.tp-subnav [aria-current=page]{font-weight:700}.tp-status{color:#765e29;white-space:nowrap;background:#f2e9ce;border-radius:30px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-block}.tp-status.confirmed{background:var(--teal-pale);color:var(--teal-dark)}.tp-people-list article{gap:15px;padding:12px 0;display:flex}.tp-people-list p{margin:3px 0;font-size:14px}.tp-avatar{background:var(--surface-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.tp-files{padding:0;list-style:none}.tp-files li{border-bottom:1px solid var(--line-soft);overflow-wrap:anywhere;flex-direction:column;gap:5px;padding:12px 0;display:flex}.tp-files span{color:var(--muted);font-size:12px}.tp-action-form{padding:8px 0 20px}.tp-invoice-actions{gap:10px;margin-top:24px}.tp-invoice-actions .button,.tp-invoice-actions .tp-action-form{margin:0}.tp-invoice-actions .tp-action-form{padding:0}.tp-reservation-row{justify-content:space-between;align-items:center;gap:24px;display:flex}.tp-reservation-row :is(h2,h3){font-size:24px}.tp-reservation-row p{color:var(--muted);font-size:14px}.tp-credit-row{border-bottom:1px solid var(--line);padding:18px 0}.tp-notes{white-space:pre-wrap;overflow-wrap:anywhere}.tp-group-videos{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.tp-group-videos video{aspect-ratio:4/3;background:var(--ink);object-fit:cover;border-radius:12px;width:100%}.tp-group-videos p{margin:5px 0 15px;font-size:14px}@media (width<=780px){.tp-signin-actions .button{width:100%}.tp-offering{grid-template-columns:1fr;gap:20px;padding:22px}.tp-offering-buy{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.tp-book-grid{grid-template-columns:1fr}.tp-panel{padding:20px}.tp-section-head{flex-direction:column;align-items:flex-start}.tp-preview{flex-direction:column;gap:5px}.tp-reservation-row{flex-wrap:wrap;gap:15px}.tp-submit{flex-direction:column;align-items:flex-start}.tp-submit .button{width:100%}.tp-fields{grid-template-columns:1fr;gap:0}.tp-calendar button{min-height:38px}:where(.tp-page) h2{font-size:24px}}.tp-firm-dialog{border:1px solid var(--line);border-radius:var(--public-card-radius);background:var(--cream);width:min(640px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--ink);box-shadow:none;margin:auto;padding:24px;overflow-y:auto}.tp-firm-dialog::backdrop{background:#17374373}.tp-firm-dialog form,.tp-firm-dialog form>label{gap:16px;display:grid}.tp-firm-dialog form>label{gap:8px}.tp-firm-dialog .tp-signin-actions{margin:0}.tp-firm-dialog form+.button{margin-top:16px}@media (width<=600px){.tp-firm-dialog{padding:20px}}.tp-page .tp-firm-dialog form label:not(.tp-check){margin:0}.tp-page .tp-firm-dialog .billing-address-fields .field label{margin-bottom:6px;display:block}.tp-booking-section{margin-top:24px}.tp-booking-section>h2{margin-bottom:16px}.tp-package-row{justify-content:space-between;align-items:center;gap:24px;display:flex}.tp-package-row>.button{flex-shrink:0}@media (width<=600px){.tp-package-row{flex-direction:column;align-items:flex-start;gap:16px}}.tp-reservation-row .tp-status{white-space:normal}.tp-package-times{border:0;flex-wrap:wrap;gap:1rem;margin:1rem 0;padding:1rem 0;display:flex}.tp-package-times legend{font-weight:700}.tp-package-times label.tp-check{align-items:center;gap:.5rem;margin:0;display:flex}.tp-package-schedule{max-width:48rem;margin-inline:auto}.tp-payment-next-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin:24px auto 0;display:flex}.tp-payment-next-actions>.button{text-align:center;justify-content:center;width:min(100%,15rem)}.tp-summary-list>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:24px;padding:12px 0;display:flex}.tp-summary-list dd{text-align:right;overflow-wrap:anywhere;margin:0}.tp-payment-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.tp-payment-dialog{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--paper,white);width:min(720px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--ink);box-shadow:none;margin:auto;padding:24px;overflow-y:auto}.tp-payment-dialog::backdrop{background:#102a3399}.tp-payment-dialog>.tp-panel+.tp-panel{margin-top:20px}@media (width<=600px){.tp-payment-dialog{padding:16px}}.tp-summary-list{margin:20px 0}@media (width<=600px){.tp-summary-list>div{flex-direction:column;gap:6px}.tp-summary-list dd{text-align:left}}.tp-reservations-page .tp-reservations-toolbar{margin-bottom:16px}.tp-reservations-toolbar>.button{margin-left:auto}.tp-reservations-page .tp-booking-section>h2{margin:0 0 18px}.tp-reservations-page .tp-reservations-toolbar:has(+.tp-booking-section){margin-bottom:0}.tp-reservations-page .tp-reservations-toolbar+.tp-booking-section{margin-top:0}.tp-reservations-page .tp-reservations-toolbar+.tp-booking-section>h2{margin-bottom:10px;line-height:18px}.tp-reservations-page .tp-booking-section>.tp-panel{gap:16px;margin-bottom:12px;padding:18px 20px}.tp-reservations-page .tp-booking-section>.tp-panel h3{margin:0 0 6px}.tp-reservations-page .tp-booking-section>.tp-panel p{margin:4px 0 0}.tp-tutorial-join{cursor:help;flex-shrink:0;display:inline-flex;position:relative}.tp-tutorial-join .button:disabled{opacity:1;color:#687576;pointer-events:none;background:#eef0f0;border-color:#c9d1d1}.tp-join-tooltip{background:var(--ink);color:#fff;z-index:2;visibility:hidden;border-radius:6px;width:min(260px,70vw);padding:10px 12px;font-size:14px;line-height:1.4;position:absolute;bottom:calc(100% + 8px);right:0}.tp-tutorial-join:hover .tp-join-tooltip,.tp-tutorial-join:focus .tp-join-tooltip{visibility:visible}@media (width<=600px){.tp-join-tooltip{left:0;right:auto}}.tp-schedule-toast{z-index:1000;border:1px solid var(--teal-dark);background:var(--teal-dark);color:#fff;border-radius:8px;align-items:center;gap:16px;width:min(420px,100% - 48px);padding:16px 20px;display:flex;position:fixed;bottom:24px;right:24px}.tp-schedule-toast>span{flex:1}.tp-schedule-toast>button{width:32px;height:32px;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:4px;flex-shrink:0;padding:0;font-size:24px;line-height:1}.tp-focus-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.tp-focus-heading h2{margin:0}.tp-focus-form{gap:16px;display:grid}.tp-page details.tp-booking-history{padding:24px}.tp-booking-history[open] summary{margin-bottom:16px}.tp-tutorial-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}@media (width<=600px){.tp-tutorial-actions{justify-content:flex-start}}.tutorial-readiness .button-row{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.tutorial-readiness-check{grid-template-columns:minmax(140px,1fr) 3fr;gap:16px;margin-bottom:12px;display:grid}.tutorial-readiness-check dd{overflow-wrap:anywhere;min-width:0;margin:0}.tutorial-readiness details form{gap:12px;max-width:640px;margin-top:16px;display:grid}.tutorial-readiness label{gap:6px;display:grid}.tutorial-readiness ol{padding-left:24px;list-style:decimal}.tutorial-readiness li{margin-bottom:8px}@media (width<=600px){.tutorial-readiness-check{grid-template-columns:1fr;gap:4px}}
