:root{--ink:#172f33;--paper:#fffaf0;--cream:#fffaf0;--wine:#52c6d2;--coral:#f2a3b6;--lime:#e8f5f3;--sky:#52c6d2;--serif:var(--font-display), "Arial Narrow", sans-serif;--radius:16px;--shadow:0 12px 32px #52c6d212}.display,.title{color:var(--coral);letter-spacing:0;text-wrap:balance;font-weight:400;line-height:1.12}.eyebrow{color:var(--ink)}.booking-policy-summary{color:#172f33;font-size:.82rem;line-height:1.6}.stripe-wallets-heading strong{color:#172f33}.display{max-width:900px;font-size:clamp(2.75rem,5.5vw,5.25rem)}.title{width:fit-content;max-width:100%;color:var(--coral);background:0 0;border-radius:0;padding:0;font-size:clamp(2rem,4vw,3rem)}.lead{color:#172f33;font-size:clamp(1rem,1.5vw,1.125rem)}.page-hero{color:var(--ink);padding:64px 0;background:var(--sky)!important}.page-hero .display{color:var(--on-sky)}.page-hero .eyebrow,.legal-hero .display{color:var(--ink)}.final-cta .title,.social-band .title{color:var(--on-sky);margin-inline:auto}.locations-section h2,.locations-section svg{color:var(--on-sky)}.locations-section .lead{color:var(--ink)}.button{background:var(--coral);border-color:var(--coral);color:var(--ink);letter-spacing:0;min-height:50px;transition:background .16s}.button:hover{color:var(--ink);background:#52c6d2;transform:none}.button.ghost{background:0 0;border-color:#52c6d2}.button.ghost:hover,.button.light:hover{background:var(--lime);color:var(--ink)}.button:disabled{opacity:.6}.header{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}.nav.open{background:var(--paper)}.footer h3{font-family:var(--font-pacifico),cursive;font-weight:400;line-height:1.4}.faq-item summary{font-family:var(--sans);font-size:1.0625rem;font-weight:600;line-height:1.5}.faq-item>p{color:#172f33}.panel{box-shadow:var(--shadow);border-radius:16px}.field label{text-transform:none;letter-spacing:0;font-size:.875rem;line-height:1.5}.field input,.field select,.field textarea{background:var(--cream);border-radius:10px;min-height:50px;font-size:1rem}.mobile-book{bottom:max(14px,env(safe-area-inset-bottom))}.booking-gift-welcome{color:var(--ink);background:#fffaf0;border-left:3px solid #f2a3b6;border-radius:0 10px 10px 0;margin:0 0 24px;padding:18px 22px;font-size:.875rem;line-height:1.65}.booking-gift-welcome p{margin:4px 0 0}.stripe-wallets{visibility:hidden;pointer-events:none;width:100%;min-width:0;max-width:100%;margin:22px 0 0;padding-inline:14px;position:absolute}.stripe-wallets.is-ready{visibility:visible;pointer-events:auto;position:static}.stripe-wallets-heading{gap:4px;margin:0 0 14px;line-height:1.45;display:grid}.stripe-wallets-heading strong{color:#172f33;font-size:.875rem;font-weight:700}.stripe-wallets-heading span{color:#172f33;font-size:.75rem}.stripe-wallets>p{color:#172f33;text-align:center;margin:10px 0 0;font-size:.75rem;line-height:1.45}.payment-divider{color:#172f33;text-align:center;align-items:center;gap:12px;margin:18px 0;font-size:.75rem;display:flex}.payment-divider:before,.payment-divider:after{content:"";background:var(--line);flex:1;height:1px}.payment-divider span{white-space:nowrap}.booking-experience{--wine:#52c6d2;--sky:#52c6d2;color:var(--ink);width:100%;scroll-margin-top:100px}.booking-experience h2,.booking-experience h3,.booking-experience legend{color:var(--ink);font-family:var(--sans);letter-spacing:-.025em;line-height:1.25}.booking-experience h2{margin:0 0 24px;font-size:1.65rem}.booking-experience h3{margin:0 0 20px;font-size:1.25rem}.booking-intro{padding:16px 0 24px}.booking-intro .display{font-size:clamp(2.5rem,5vw,4rem)}.booking-intro>p:last-child{color:#172f33;line-height:1.6}.booking-progress{flex-wrap:wrap;gap:16px 28px;margin:0 0 28px;padding:0;list-style:none;display:flex}.booking-progress li{color:#172f33;align-items:center;gap:10px;font-size:.875rem;display:flex}.booking-progress li>span{border:1px solid #52c6d2;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.booking-progress li[aria-current]{color:var(--ink);font-weight:700}.booking-progress li[aria-current]>span{background:var(--wine);border-color:var(--wine);color:var(--ink)}.booking-panels{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;display:grid}.with-session .booking-panels{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.booking-plan,.booking-details-panel{background:var(--cream);border:1px solid var(--line);border-radius:16px;min-width:0;padding:32px}.booking-plan{background:#fffaf0;border-color:#52c6d2}.booking-plan>h2{color:#172f33}.studio-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;display:grid}.studio-choices button{text-align:left;width:100%;height:clamp(220px,20vw,280px);min-height:clamp(220px,20vw,280px);box-shadow:none;color:#fffaf0;background:#52c6d2;border:2px solid #0000;border-radius:12px;padding:18px;position:relative;overflow:hidden;transform:none}.studio-choices:has(button[aria-pressed=true]) button{height:144px;min-height:144px}.studio-choices:has(button[aria-pressed=true]) .studio-name{max-width:calc(100% - 24px);padding:6px 10px;bottom:12px;left:12px}.studio-choices img{object-fit:cover}.studio-shade{display:none}.studio-name{color:#172f33;background:#fffaf0;border-radius:8px;gap:4px;width:max-content;max-width:calc(100% - 36px);padding:8px 12px;display:grid;position:absolute;bottom:18px;left:18px}.studio-name small{letter-spacing:.1em;font-size:.6875rem;font-weight:700}.studio-name strong{font-family:var(--sans);font-size:1.375rem;line-height:1.2}.studio-check{color:#52c6d2;border:1px solid #fffaf0;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:12px;right:12px}.studio-choices button[aria-pressed=true]{border-color:var(--wine);outline:2px solid var(--wine);outline-offset:2px}.studio-choices button[aria-pressed=true] .studio-check{background:#fffaf0}.studio-directions{gap:10px;margin-top:18px;font-size:.875rem;line-height:1.6;display:flex}.studio-directions svg{flex-shrink:0;margin-top:3px}.studio-directions small{color:#172f33;text-underline-offset:3px;font-size:.875rem;text-decoration:underline;display:block}.booking-dates{border-top:1px solid var(--line);margin-top:24px;padding-top:28px}.booking-month{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.booking-month strong{text-transform:capitalize;font-size:.9375rem}.booking-month button,.booking-count button{cursor:pointer;background:0 0;border:1px solid #52c6d2;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.booking-month button:disabled,.booking-count button:disabled{opacity:.45;cursor:default}.booking-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.booking-calendar-grid .weekday{text-align:center;color:#172f33;padding-bottom:8px;font-size:.6875rem}.booking-calendar-grid button{background:0 0;border:1px solid #0000;border-radius:10px;min-width:0;height:46px;font-size:.9375rem}.booking-calendar-grid button:disabled{color:#172f33}.booking-calendar-grid button.available{background:var(--lime);color:var(--ink);cursor:pointer;border-color:#e8f5f3;font-weight:600}.booking-calendar-grid button.selected{color:#fffaf0;background:#52c6d2;border-color:#52c6d2}.booking-times button[aria-pressed=true]{background:var(--wine);border-color:var(--wine);color:#fffaf0}.booking-status{text-align:center;color:#172f33;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:280px;display:flex}.booking-times{margin-top:0}.booking-people{border-top:1px solid var(--line);margin-top:28px;padding-top:28px}.birth-date-fields{grid-template-columns:1fr 1fr 1.4fr;gap:12px;display:grid}.birth-date-fields>div{min-width:0}.birth-date-fields label{margin-bottom:8px;font-size:.875rem;display:block}.birth-date-label{font-weight:600}.booking-times>p{align-items:center;gap:10px;font-size:.9375rem;font-weight:600;line-height:1.5;display:flex}.booking-times>div{flex-wrap:wrap;gap:10px;display:flex}.booking-times button{cursor:pointer;background:0 0;border:1px solid #52c6d2;border-radius:10px;gap:4px;min-height:52px;padding:12px 18px;display:grid}.booking-times small{font-size:.75rem}.booking-count{justify-content:space-between;align-items:center;gap:12px;display:flex}.booking-count>span{font-size:.9375rem}.booking-count>div{align-items:center;gap:18px;display:flex}.booking-count strong{font-size:1.375rem}.booking-insurance-choice{border:0;min-width:0;margin:24px 0 0;padding:0}.booking-insurance-choice legend{align-items:center;gap:8px;width:100%;margin:0 0 10px;font-size:.9375rem;font-weight:700;display:flex}.booking-insurance-choice legend small{background:var(--lime);color:#172f33;letter-spacing:0;border-radius:999px;padding:3px 8px;font-size:.6875rem;font-weight:600}.booking-insurance-options{grid-template-rows:auto auto auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 10px;display:grid}.booking-insurance-options label{grid-template-columns:18px minmax(0,1fr);grid-template-rows:subgrid;background:var(--cream);cursor:pointer;border:1px solid #52c6d2;border-radius:12px;grid-row:span 3;column-gap:10px;min-width:0;padding:14px;transition:border-color .2s,background-color .2s,box-shadow .2s;display:grid}.booking-insurance-options label.is-selected{background:#e8f5f3;border-color:#52c6d2;box-shadow:inset 0 0 0 1px #52c6d2}.booking-insurance-options input{appearance:none;cursor:pointer;background:#fffaf0;border:1.5px solid #52c6d2;border-radius:50%;grid-area:1/1;place-items:center;width:18px;height:18px;margin:2px 0 0;padding:0;display:grid}.booking-insurance-options input:before{content:"";visibility:hidden;background:#52c6d2;border-radius:50%;width:6px;height:6px}.booking-insurance-options input:checked:before{visibility:visible}.booking-insurance-options input:focus-visible{outline-offset:3px;outline:2px solid #52c6d2}.booking-insurance-options input:disabled{cursor:default}.booking-insurance-options label:has(input:disabled){cursor:default;opacity:.65}.booking-insurance-options label>span{grid-area:1/2/span 3;grid-template-rows:subgrid;min-width:0;font-size:.8125rem;line-height:1.4;display:grid}.booking-insurance-options label>span>strong:first-child{grid-row:1}.booking-insurance-options strong,.booking-insurance-options b{font-size:.875rem}.booking-insurance-options .booking-insurance-price{color:#172f33;grid-row:2;font-size:.8125rem}.booking-insurance-options .booking-insurance-outcome{color:#172f33;background:#fffaf0;border-radius:7px;grid-row:3;align-self:stretch;max-width:100%;padding:5px 7px;font-size:.8125rem;font-weight:800;line-height:1.35}.booking-insurance-options .booking-insurance-outcome--refund{color:#172f33;background:#e8f5f3}.booking-insurance-options small{color:#172f33;font-size:.75rem;line-height:1.45}.booking-policy,.booking-note{color:#172f33;font-size:.875rem;line-height:1.6}.booking-review{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0;padding:20px 0}.booking-review>span{font-size:.875rem;line-height:1.5}.booking-review>div{justify-content:space-between;align-items:center;gap:16px;margin-top:14px;display:flex}.booking-review small{color:#172f33;margin-top:4px;font-size:.875rem;display:block}.booking-review strong{white-space:nowrap;font-size:1.75rem}.booking-contact fieldset{border:0;min-width:0;margin:0;padding:0}.booking-contact legend{margin:0 0 12px;font-size:1.25rem;font-weight:700}.booking-fields{gap:16px;margin:20px 0;display:grid}.booking-fields input,.booking-fields select{width:100%}.booking-contact .field.has-error input,.booking-contact .field.has-error select,.booking-contact .field.has-error .birth-date-fields input{background:#fffaf0;border:2px solid #f2a3b6}.booking-contact .field.has-error>label,.booking-contact .field.has-error .birth-date-label,.booking-contact .check.has-error{color:#172f33}.booking-contact .check.has-error{background:#fffaf0;border:2px solid #f2a3b6;border-radius:10px;padding:10px}.booking-contact .booking-field-error{color:#172f33;font-size:.875rem;font-weight:700;line-height:1.4;display:block}.booking-contact .booking-field-error:before{content:"!";color:#172f33;background:#f2a3b6;border-radius:50%;place-items:center;width:1.1em;height:1.1em;margin-right:.4em;font-size:.8em;display:inline-grid}.booking-contact .check{align-items:flex-start;margin:20px 0;font-size:.875rem;line-height:1.6}.booking-contact .check input{width:20px;height:20px;accent-color:var(--wine);flex-shrink:0}.booking-edit{text-underline-offset:3px;min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.booking-experience button:focus-visible,.booking-experience a:focus-visible{outline:3px solid var(--wine);outline-offset:4px}@media (prefers-reduced-motion:no-preference){.booking-state-enter,.booking-step-transition{animation:.52s cubic-bezier(.16,1,.3,1) both booking-state-in}.booking-progress li,.booking-progress li>span,.studio-choices button,.booking-calendar-grid button,.booking-times button,.booking-month button,.booking-count button{transition:transform .24s cubic-bezier(.16,1,.3,1),background-color .24s,border-color .24s,color .24s,opacity .24s}.studio-choices button:hover,.booking-times button:hover:not(:disabled),.booking-calendar-grid button.available:hover,.booking-month button:hover:not(:disabled),.booking-count button:hover:not(:disabled){transform:translateY(-2px)}.booking-progress li[aria-current]>span{transform:scale(1.08)}}@media (max-width:420px){.booking-insurance-options{gap:3px 7px}.booking-insurance-options label{grid-template-columns:16px minmax(0,1fr);column-gap:7px;padding:10px 8px}.booking-insurance-options input{width:16px;height:16px}.booking-insurance-options strong,.booking-insurance-options b{font-size:.78rem}.booking-insurance-options .booking-insurance-outcome{padding:4px 5px;font-size:.68rem}.booking-insurance-options small{font-size:.68rem;line-height:1.35}}@keyframes booking-state-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.with-session .booking-panels{grid-template-columns:minmax(0,1fr)}.booking-details-panel{scroll-margin-top:90px}.studio-choices button{height:200px;min-height:200px}}@media (max-width:620px){body:has(.mobile-book) .footer{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.page-hero{padding:36px 0}.booking-plan,.booking-details-panel{padding:20px 16px}.booking-progress{justify-content:space-between;gap:12px;margin-bottom:20px}.booking-progress li{gap:6px;font-size:.75rem}.booking-progress li>span{width:26px;height:26px}.booking-experience h2{font-size:1.375rem}.studio-choices{gap:10px}.studio-choices button{height:160px;min-height:160px}.studio-choices:has(button[aria-pressed=true]) button{height:112px;min-height:112px}.studio-choices:has(button[aria-pressed=true]) .studio-name{max-width:calc(100% - 20px);padding:6px 8px;bottom:10px;left:10px}.studio-name{max-width:calc(100% - 20px);padding:6px 8px;bottom:12px;left:10px}.studio-name strong{font-size:1.0625rem}.studio-name small{font-size:.5625rem}.booking-calendar-grid{gap:4px}.booking-calendar-grid button{height:44px;font-size:.875rem}.booking-count{flex-wrap:wrap}.booking-policy{font-size:.875rem}.booking-review strong{font-size:1.5rem}}@media (max-width:420px){.booking-insurance-options{gap:3px 7px}.booking-insurance-options label{grid-template-columns:16px minmax(0,1fr);column-gap:7px;padding:10px 8px}.booking-insurance-options input{width:16px;height:16px}.booking-insurance-options strong,.booking-insurance-options b{font-size:.78rem}.booking-insurance-options .booking-insurance-outcome{padding:4px 5px;font-size:.68rem}.booking-insurance-options small{font-size:.68rem;line-height:1.35}}
