.public-app.client-reservation,.public-app.client-reservations{color:var(--ink);background:var(--paper);font-size:1rem;font-family:var(--font-sans);font-variant-numeric:tabular-nums}.client-reservation :is(input,select,textarea),.client-reservations :is(input,select,textarea){min-height:3rem;font-size:1rem}.client-reservation :is(h1,h2,h3),.client-reservations :is(h1,h2,h3){font-family:var(--font-display)}.client-reservation :is(a,button,input):focus-visible,.client-reservations :is(a,button,input):focus-visible{outline:.1875rem solid var(--brand-focus);outline-offset:.1875rem}.client-reservation .public-header,.client-reservations .public-header{background:var(--surface);gap:1rem;width:100%;max-width:70rem;height:auto;min-height:5rem;padding:1rem}.client-reservation .public-wordmark,.client-reservations .public-wordmark{min-width:0;min-height:3rem}.client-reservation .public-wordmark strong,.client-reservations .public-wordmark strong{overflow-wrap:anywhere;font-size:1rem}.client-reservation .public-wordmark>span,.client-reservations .public-wordmark>span{background:var(--surface);color:var(--ink);font:600 1.25rem/1 var(--font-sans);flex-shrink:0}.client-reservation .public-header nav,.client-reservations .public-header nav{flex-shrink:0;gap:.5rem}.client-reservation .public-header,.client-reservations .public-header{padding-top:calc(1rem + env(safe-area-inset-top,0px));padding-left:max(1rem, env(safe-area-inset-left,0px));padding-right:max(1rem, env(safe-area-inset-right,0px))}.client-reservation :is(input,textarea,select),.client-reservations :is(input,textarea,select){scroll-margin-block:6rem}.client-reservation :is(.booking-service,.professional-choice,.slot-grid>button,.client-date-strip>button):active:not(:focus-visible){opacity:.85}.client-reservation .public-header nav>a,.client-reservations .public-header nav>a{color:var(--ink);min-height:3rem;padding:.5rem;font-size:.875rem}.client-reservation .public-header .text-button{color:var(--ink);min-height:3rem;font-size:.875rem}.client-reservation .booking-main{background:var(--paper);max-width:54rem;min-height:60svh;padding:1.5rem 1rem 3rem}.client-reservation .booking-options{min-width:0}.client-reservation .client-step-heading{margin-bottom:2rem}.client-reservation .client-step-heading>p:first-child{margin-bottom:.5rem;font-size:.875rem}.client-reservation .client-step-heading h1,.client-reservation .business-profile h1,.client-reservation .booking-result h1{letter-spacing:-.02em;margin:0 0 1rem;font-size:2.125rem;font-weight:650;line-height:1.1}.client-reservation .client-step-heading>p,.client-reservation .business-profile>p{color:var(--muted);font-size:1rem;line-height:1.5}.client-reservation .business-profile{max-width:48rem;margin-inline:auto}.client-reservation .business-cover{aspect-ratio:16/9;object-fit:cover;border-radius:1rem;width:100%;margin-bottom:2rem;display:block}.client-reservation .business-description{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:1rem}.client-reservation .business-contact{gap:1rem;margin-top:2rem;display:grid}.client-reservation .business-contact a{background:var(--surface);overflow-wrap:anywhere;border-radius:.5rem;align-items:center;gap:1rem;min-height:3rem;padding:1rem;display:flex}.client-reservation .business-contact a>span{flex:1}.client-reservation .business-contact svg{flex-shrink:0}.client-reservation .business-contact small{color:var(--brand-link);font-size:.875rem;display:block}.client-reservation .booking-service{background:var(--surface);width:100%;min-height:5rem;color:var(--ink);text-align:left;box-shadow:none;border:0;border-radius:.5rem;gap:1rem;margin-bottom:.5rem;padding:1.5rem;display:flex;transform:none}.client-reservation .booking-service>div:first-child{flex:1;min-width:0}.client-reservation .booking-service>div:last-child{flex-shrink:0;align-items:flex-end;gap:.5rem}.client-reservation .booking-service strong{font-size:1rem;line-height:1.5;font-family:var(--font-sans)}.client-reservation .booking-service p{color:var(--muted);margin:.5rem 0;font-size:1rem;line-height:1.5}.client-reservation .booking-service span{color:var(--muted);font-size:.875rem;line-height:1.5}.client-reservation .booking-service.selected,.client-reservation .professional-choice.selected{background:var(--brand-selected);color:var(--on-brand-selected)}.client-reservation .professional-choices{grid-template-columns:1fr;gap:.5rem;display:grid}.client-reservation .professional-choice{background:var(--surface);min-height:6rem;color:var(--ink);text-align:left;box-shadow:none;border:0;border-radius:.5rem;grid-template-columns:3rem 1fr;gap:.25rem 1rem;padding:1.5rem;display:grid;transform:none}.client-reservation .professional-choice>:first-child{grid-row:1/3;place-self:center}.client-reservation .professional-choice>strong{font-size:1rem;font-family:var(--font-sans)}.client-reservation .professional-choice>span:last-child{color:var(--muted);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.client-reservation .professional-choice .staff-avatar{background:var(--paper);width:3rem;height:3rem;color:var(--ink);font:600 1rem/1 var(--font-sans)}.client-reservation .public-section-header{margin:0 0 1rem}.client-reservation .public-section-header h2{font-size:1.25rem;font-family:var(--font-sans)}.client-date-strip{scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;gap:.5rem;margin-bottom:1.5rem;padding:.25rem .25rem 1rem;display:flex;overflow-x:auto}.client-date-strip>button{scroll-snap-align:start;background:var(--surface);min-height:6rem;color:var(--ink);font-variant-numeric:tabular-nums;border:0;border-radius:.5rem;flex:0 0 4rem;justify-items:center;gap:.25rem;padding:.75rem .5rem;display:grid}.client-date-strip>button span{font-size:.75rem}.client-date-strip>button strong{font-size:1.25rem}.client-date-strip>button.chosen{background:var(--brand);color:var(--on-brand)}.client-reservation .client-day-step>.field{max-width:22rem}.client-reservation .slot-grid,.public-reschedule .slot-grid{grid-template-columns:repeat(auto-fill,minmax(5rem,1fr));gap:.5rem;margin:0;display:grid}.client-reservation .slot-grid button,.public-reschedule .slot-grid button{background:var(--surface);min-height:3rem;color:var(--ink);font-variant-numeric:tabular-nums;box-shadow:none;border:0;border-radius:.5rem;padding:.75rem;font-size:1rem}.client-reservation .slot-grid button.selected,.public-reschedule .slot-grid button.selected{background:var(--brand);color:var(--on-brand)}.client-reservation .selected-professional{margin-top:1.5rem;font-size:1rem;line-height:1.5}.client-reservation .contact-step{max-width:38rem;padding:0}.client-reservation .contact-step .field>span,.client-reservation .contact-step .checkbox-row,.client-reservation .contact-step .policy-summary p{font-size:1rem;line-height:1.5}.client-reservation .policy-summary{background:var(--surface);color:var(--ink);border:0;border-radius:1rem;margin-top:1rem;padding:1.5rem}.client-reservation .policy-summary h2{font-family:var(--font-sans);margin-bottom:1rem;font-size:1.25rem}.client-reservation .policy-summary p{color:var(--muted);margin-bottom:1rem}.client-reservation .policy-summary a{color:var(--brand-link);text-decoration:underline}.client-payment-choice{background:var(--surface);border:0;border-radius:1rem;margin:0;padding:1.5rem}.client-payment-choice legend{padding:0;font-size:1rem;font-weight:600}.client-payment-choice>label{background:var(--paper);cursor:pointer;border-radius:.5rem;align-items:center;gap:1rem;min-height:3rem;margin-top:.5rem;padding:1rem;display:flex}.client-payment-choice>label:has(input:checked){background:var(--brand-selected);color:var(--on-brand-selected)}.client-reservation .client-payment-choice input[type=radio]{width:1.25rem;height:1.25rem;min-height:1.25rem;accent-color:var(--brand);flex-shrink:0;margin:0}.client-payment-choice small{margin-top:.25rem;font-size:.875rem;line-height:1.5;display:block}.client-payment-choice>p{margin-top:1rem;font-size:.875rem}.client-payment-summary{gap:.5rem;width:100%;margin:1rem 0 0;font-size:.875rem;line-height:1.5;display:grid}.client-payment-summary>div{text-align:left;justify-content:space-between;gap:1rem;display:flex}.client-payment-summary dt{color:var(--muted)}.client-payment-summary dd{white-space:nowrap;margin:0;font-weight:600}.client-reservations .my-booking>.client-payment-summary{grid-column:2/-1;max-width:32rem}.client-reservation .checkbox-row{align-items:flex-start}.client-reservation .checkbox-row input{flex-shrink:0;min-height:1.5rem;margin-top:.125rem}.client-reservation .otp-input{letter-spacing:.25em;font-size:1.25rem}.client-reservation .field-error{color:var(--error);font-size:.875rem}.client-reservation-bar{z-index:30;background:var(--surface);padding:1rem max(1rem, env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));position:fixed;inset:auto 0 0}.client-reservation-bar-inner{justify-content:space-between;align-items:center;gap:1rem;max-width:66rem;margin-inline:auto;display:flex}.client-reservation-summary{gap:.25rem;min-width:0;display:grid}.client-reservation-summary strong{white-space:nowrap;text-overflow:ellipsis;font-size:1rem;line-height:1.5;overflow:hidden}.client-reservation-summary span{color:var(--muted);font-size:.875rem;line-height:1.5}.client-action-hint{color:var(--muted);font-size:.875rem}.client-reservation-bar .button{white-space:nowrap;border-radius:.5rem;min-height:3rem;padding:.75rem 1.5rem;font-size:1rem}.client-reservation .public-footer{background:var(--paper);border:0;max-width:66rem;margin-inline:auto;padding:2rem 1rem 12rem}.client-reservation .public-footer :is(a,span),.client-reservations .public-footer :is(a,span){color:var(--muted);font-size:.875rem;line-height:1.5}.client-reservation .public-footer a{align-items:center;min-height:2.75rem;display:inline-flex}.client-reservation .booking-result{max-width:42rem;padding:1rem 0 2rem}.client-reservation .booking-result>p{color:var(--muted);font-size:1rem;line-height:1.5}.client-reservation .booking-receipt{background:var(--surface);border:0;border-radius:1rem;margin-block:2rem;padding:2rem 1.5rem}.client-reservation .booking-receipt h2{font-size:1.25rem}.client-reservation .booking-receipt>strong{font-size:1.75rem;font-family:var(--font-sans)}.client-reservation .booking-receipt>span{font-size:1rem}.client-reservation .booking-result .inline-actions{justify-content:center;gap:.5rem}.client-reservation .booking-result .inline-actions .button{min-height:3rem;font-size:1rem}.client-reservation .booking-result>.text-link{min-height:3rem;color:var(--brand-link);align-items:center;margin-top:1rem;display:inline-flex}.client-reservation .result-symbol{background:var(--surface);width:4rem;height:4rem;color:var(--ink)}.client-reservation .result-symbol.success{background:var(--surface);color:var(--ink)}.client-reservation .result-symbol.success svg{stroke-dasharray:48;stroke-dashoffset:0;animation:reservation-confirm .24s var(--ease-out) both}@keyframes reservation-confirm{0%{stroke-dashoffset:48px}to{stroke-dashoffset:0}}.client-skeleton{gap:.5rem;display:grid}.client-skeleton i{background:var(--surface);border-radius:.5rem;height:6rem;display:block}.client-slot-skeleton{grid-template-columns:repeat(3,1fr)}.client-slot-skeleton i{height:3rem}.public-reschedule{width:100%}.public-reschedule .form-stack{background:var(--paper);border-radius:1rem;padding:1rem}.public-reschedule .slot-grid{max-height:18rem;overflow-y:auto}.public-reschedule .form-note{font-size:.875rem}.public-reschedule .inline-actions .button{min-height:3rem}.client-reservations .my-bookings-main{background:var(--paper);padding:2rem 1rem}.client-reservations .my-bookings-main>h1{letter-spacing:-.02em;font-size:2.125rem;line-height:1.1}.client-reservations .my-bookings-main>p,.client-reservations .guest-access>p{font-size:1rem}.client-reservations .my-booking{background:var(--surface);border:0;border-radius:1rem}.appearance-layout .phone-preview{background:var(--paper);color:var(--ink)}.appearance-layout :is(.logo-preview,.phone-business-mark){background:var(--surface);color:var(--ink)}.appearance-layout .preview-cta{background:var(--brand);color:var(--on-brand)}.appearance-layout .preview-cover{object-fit:cover;border-radius:.5rem;width:100%;height:8rem;margin-bottom:1rem}.appearance-cover-editor{background:var(--paper);border-radius:.5rem;margin-bottom:1.5rem;padding:1rem}.appearance-cover-editor>img{object-fit:cover;border-radius:.5rem;width:100%;max-height:12rem;margin-bottom:1rem;display:block}.appearance-cover-editor p{margin:.5rem 0 1rem}.virtual-list{overflow-anchor:none;contain:layout paint;max-height:36rem;overflow:auto}.virtual-list .service-row{min-height:7rem}.virtual-list .service-name strong,.virtual-list .service-name p{overflow-wrap:anywhere;white-space:normal;max-width:100%}.virtual-client-table td{height:5.5rem}.virtual-client-table .virtual-spacer td{border:0;height:auto;padding:0}.virtual-client-table .data-table{table-layout:fixed;width:100%;min-width:44rem}.virtual-client-table td{overflow-wrap:anywhere;white-space:normal}.local-inbox-message{background:var(--surface);margin-top:1rem;padding:1.5rem 0}.inline-field-error{color:var(--error);font-size:.875rem}.client-undo-toast{z-index:60;inset:auto 1rem calc(1rem + env(safe-area-inset-bottom));background:var(--surface-raised);max-width:36rem;color:var(--ink);border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;margin-inline:auto;padding:1rem;display:flex;position:fixed}.client-undo-toast .button{min-height:3rem}.client-reservations .calendar-download{min-height:3rem;color:var(--brand-link);align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}@media (min-width:48rem){.client-reservation .public-header,.client-reservations .public-header{padding-left:max(2rem, env(safe-area-inset-left,0px));padding-right:max(2rem, env(safe-area-inset-right,0px))}.client-reservation .booking-main{padding:3rem 2rem 4rem}.client-reservation .professional-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:47.99rem){.client-reservations .my-booking>.client-payment-summary{grid-column:1/-1}.client-reservation-bar-inner{flex-wrap:wrap;gap:.75rem}.client-reservation-summary{flex:100%}.client-reservation-bar .button{justify-content:center;width:100%}.client-reservation .public-header nav>a span{display:none}.client-reservation .public-header nav>a{justify-content:center;width:3rem}.client-reservation .booking-service{padding:1rem}.client-reservation .booking-service>div:last-child>strong{font-size:1rem}.client-reservation .booking-result .inline-actions{flex-direction:column}.client-reservation .booking-result .inline-actions .button{width:100%}.virtual-list .service-row{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto auto;gap:.25rem 1rem;padding:.75rem}.virtual-list .service-name{grid-area:1/1/3}.virtual-list .service-duration{grid-area:2/2}.virtual-list .service-price{grid-area:1/2}.virtual-list .service-row>.icon-button{grid-area:1/3/3}}@media (prefers-reduced-motion:reduce){.client-reservation .result-symbol.success svg{animation:none}.client-date-strip{scroll-behavior:auto}}.client-reservation.client-establishment .booking-main{background:var(--paper);width:100%;max-width:none;min-height:100svh;padding:0}.establishment-shell{min-height:100svh;padding-bottom:calc(5rem + env(safe-area-inset-bottom,0px));background:var(--paper)}.establishment-shell :is(button,a){touch-action:manipulation;-webkit-tap-highlight-color:transparent}.establishment-shell button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.establishment-hero{isolation:isolate;min-height:calc(100svh - 5rem - env(safe-area-inset-bottom,0px));color:#fff;background:#181a1b;flex-direction:column;display:flex;position:relative}.establishment-cover{z-index:-2;object-fit:cover;object-position:50% 38%;width:100%;height:100%;position:absolute;inset:0}.establishment-hero.has-cover:after{content:"";z-index:-1;background:linear-gradient(#0006 0%,#0000001f 22%,#0009 51%,#000000eb 100%);position:absolute;inset:0}.establishment-concept-label{z-index:1;color:#ffffffe6;font-size:.75rem;line-height:1.5;position:absolute;inset:auto 1.5rem .5rem auto}.establishment-topbar{width:100%;max-width:80rem;min-height:4.5rem;padding:max(.75rem, env(safe-area-inset-top,0px)) max(1.5rem, env(safe-area-inset-right,0px)) .75rem max(1.5rem, env(safe-area-inset-left,0px));background:#0f1111c2;justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;display:flex}.establishment-topbar-name{color:#fff;overflow-wrap:anywhere;max-width:32rem;font-size:.875rem;font-weight:500}.establishment-topbar>a{color:#fff;border:1px solid #ffffff5c;border-radius:50%;place-items:center;width:2.75rem;min-width:2.75rem;height:2.75rem;display:grid}.establishment-topbar>a:focus-visible,.establishment-actions>button:focus-visible{outline-color:#fff}.establishment-hero-content{width:100%;max-width:80rem;padding:3rem max(1.5rem, env(safe-area-inset-right,0px)) 2rem max(1.5rem, env(safe-area-inset-left,0px));margin:auto auto 0}.establishment-identity{max-width:42rem}.establishment-logo{object-fit:contain;object-position:left center;width:6rem;height:6rem;margin-bottom:1.75rem;display:block}.establishment-monogram{letter-spacing:-.04em;color:#fff;border-bottom:1px solid #ffffff70;align-items:center;width:fit-content;min-width:4rem;min-height:4rem;margin-bottom:1.5rem;font-size:2.125rem;font-weight:400;display:flex}.client-reservation .establishment-identity h1{color:#fff;max-width:18ch;font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;overflow-wrap:anywhere;margin:0 0 1rem;font-size:clamp(2.125rem,8.5vw,4.5rem);font-weight:500;line-height:1.05}.establishment-identity>p{color:#ffffffe6;white-space:pre-wrap;overflow-wrap:anywhere;max-width:42ch;margin:0 0 1rem;font-size:1rem;line-height:1.5}.establishment-location{color:#ffffffe6;overflow-wrap:anywhere;align-items:center;gap:.5rem;max-width:48ch;font-size:.75rem;line-height:1.5;display:flex}.establishment-location svg{flex-shrink:0}.establishment-actions{gap:0;width:100%;max-width:28rem;margin-top:2rem;display:grid}.establishment-actions>button{color:#fff;text-align:left;background:#0d0f0fc2;border:0;border-bottom:1px solid #ffffff2b;align-items:center;gap:1rem;width:100%;min-height:3.5rem;padding:.875rem 1rem;font-size:1rem;display:flex}.establishment-actions>button span{flex:1}.establishment-actions>.establishment-reserve{background:var(--brand);min-height:3.75rem;color:var(--on-brand);border:0;border-radius:.5rem;margin-bottom:.5rem;padding:1rem;font-weight:600}.establishment-actions>button:last-child{border:0;border-radius:0 0 .5rem .5rem}.establishment-actions>button:disabled{color:#fff;opacity:1;cursor:not-allowed;background:#4b4d4b}.establishment-status{max-width:72rem;margin:0 auto;padding:1.5rem}.establishment-status:empty{display:none}.establishment-tabbar{z-index:40;padding:.5rem max(.5rem, env(safe-area-inset-right,0px)) calc(.5rem + env(safe-area-inset-bottom,0px)) max(.5rem, env(safe-area-inset-left,0px));background:var(--surface);border-top:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));gap:.25rem;display:grid;position:fixed;inset:auto 0 0}.establishment-tabbar>:is(button,a){min-width:0;min-height:3.5rem;color:var(--muted);background:0 0;border:0;border-radius:.5rem;flex-direction:column;justify-content:center;align-items:center;gap:.375rem;padding:.25rem 0;font-size:.75rem;font-weight:400;text-decoration:none;display:flex}.establishment-tabbar [aria-current=page]{background:var(--brand-selected);color:var(--on-brand-selected);font-weight:600}.establishment-tabbar svg{stroke-width:1.6px;flex-shrink:0}.establishment-page-header{z-index:20;width:100%;max-width:72rem;min-height:4.5rem;padding:max(.75rem, env(safe-area-inset-top,0px)) 1rem .75rem;background:var(--header);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;display:flex;position:sticky;top:0}.establishment-page-header>:is(button,a){width:2.75rem;min-width:2.75rem;height:2.75rem;color:var(--ink);background:0 0;border:0;border-radius:.5rem;place-items:center;display:grid}.establishment-page-header>span{overflow-wrap:anywhere;text-align:center;font-size:.875rem;font-weight:600}.establishment-page{width:100%;max-width:68rem;margin:0 auto;padding:2rem 1.5rem 3rem}.establishment-page-intro{max-width:42rem;margin-bottom:2rem}.client-reservation .establishment-page-intro h1,.client-reservation .establishment-profile-photo h1{font-family:var(--font-display);letter-spacing:-.025em;overflow-wrap:anywhere;margin:0 0 1rem;font-size:2.125rem;font-weight:500;line-height:1.1}.establishment-page-intro>p,.establishment-profile-content>p{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:1rem;line-height:1.5}.establishment-catalog{gap:.5rem;display:grid}.establishment-service{background:var(--surface);width:100%;color:var(--ink);text-align:left;font-variant-numeric:tabular-nums;border:0;border-radius:1rem;align-items:flex-start;gap:1.5rem;padding:1.5rem;display:flex}.establishment-service>div:first-child{flex:1;min-width:0}.establishment-service strong{overflow-wrap:anywhere;font-size:1.25rem;font-weight:500;line-height:1.4;display:block}.establishment-service p{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:.75rem 0;font-size:1rem;line-height:1.5}.establishment-service span{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.375rem;margin-top:.75rem;font-size:.75rem;line-height:1.5;display:flex}.establishment-service>div:last-child{flex-shrink:0;justify-items:end;gap:1.5rem;display:grid}.establishment-service>div:last-child strong{white-space:nowrap;font-size:1rem;font-weight:600}.establishment-service>div:last-child svg{color:var(--brand-link)}.establishment-service:disabled{cursor:not-allowed}.establishment-team{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1rem;display:grid}.establishment-professional{text-align:left;min-width:0;color:var(--ink);background:0 0;border:0;border-radius:0;padding:0;display:block}.establishment-professional-photo{aspect-ratio:4/5;background:var(--surface-raised);border-radius:1rem;place-items:center;width:100%;display:grid;overflow:hidden}.establishment-professional-photo>span{letter-spacing:-.03em;color:var(--muted);font-size:2.125rem;font-weight:400}.establishment-professional-photo>img{object-fit:cover;object-position:center 25%;width:100%;height:100%}.establishment-professional>div:last-child{gap:.375rem;margin-top:1rem;display:grid}.establishment-professional strong{overflow-wrap:anywhere;font-size:1rem;font-weight:600;line-height:1.4}.establishment-professional>div:last-child>span{color:var(--brand-link);align-items:center;gap:.5rem;font-size:.75rem;display:flex}.establishment-team-loading{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.establishment-team-loading>i{aspect-ratio:4/5;background:var(--surface-raised);border-radius:1rem}.establishment-empty{max-width:42ch;color:var(--muted);line-height:1.5}.establishment-profile{max-width:68rem;margin:0 auto}.establishment-profile-photo{isolation:isolate;background:var(--surface-raised);flex-direction:column;justify-content:space-between;gap:2rem;min-height:18rem;padding:2rem 1.5rem;display:flex;position:relative;overflow:hidden}.establishment-profile-photo>span{border:1px solid var(--line);width:5rem;height:5rem;color:var(--muted);letter-spacing:-.04em;border-radius:1.25rem;place-items:center;font-size:2.125rem;font-weight:400;display:grid}.establishment-profile-photo>img{z-index:-2;object-fit:cover;object-position:center 25%;width:100%;height:100%;position:absolute;inset:0}.establishment-profile-photo.has-photo{color:#fff;min-height:34rem}.establishment-profile-photo.has-photo:after{content:"";z-index:-1;background:linear-gradient(#0000 25%,#000000d9 100%);position:absolute;inset:0}.establishment-profile-photo>div{margin-top:auto}.establishment-profile-photo>div>span{color:var(--muted);font-size:.875rem;display:block}.establishment-profile-photo.has-photo>div>span{color:#ffffffe6}.establishment-profile-content{padding:2rem 1.5rem 3rem}.establishment-profile-content>h2{margin:0 0 1.5rem;font-size:1.25rem;font-weight:500}.establishment-profile-content>.button{min-height:3rem;margin-top:1.5rem}.establishment-contact{border-bottom:1px solid var(--line);color:var(--ink);align-items:flex-start;gap:1rem;padding:1.5rem 0;display:flex}.establishment-contact>svg{flex-shrink:0}.establishment-contact>div{flex:1;min-width:0}.establishment-contact strong{overflow-wrap:anywhere;font-size:1rem;font-weight:500;line-height:1.5;display:block}.establishment-contact span{color:var(--brand-link);margin-top:.5rem;font-size:.875rem;display:block}.establishment-install{color:var(--brand-link);margin-top:2rem}.establishment-install summary{min-height:3rem;padding-block:.75rem;font-size:.875rem}.establishment-legal{color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;font-size:.75rem;display:flex}.establishment-legal a{text-underline-offset:.25rem;align-items:center;min-height:2.75rem;text-decoration:underline;display:inline-flex}.client-booking .public-header{z-index:20;background:var(--header);max-width:68rem;min-height:4.5rem;padding-block:.75rem;position:sticky;top:0}.client-booking .public-wordmark>span{background:var(--surface-raised);border-radius:.5rem;width:2.5rem;height:2.5rem}.client-booking .public-wordmark>img{width:2.5rem;height:2.5rem}.client-booking .booking-main{max-width:54rem;padding-top:1.5rem}.client-step-progress{background:var(--surface-raised);width:100%;height:.1875rem;margin-bottom:1.5rem;overflow:hidden}.client-step-progress>span{background:var(--brand);height:100%;display:block}.client-booking .client-step-heading{margin-bottom:2rem}.client-booking .client-step-heading>p:first-of-type{color:var(--muted);font-variant-numeric:tabular-nums;margin-bottom:.75rem;font-size:.75rem}.client-booking .client-step-heading h1{margin-bottom:1rem;font-weight:500}.client-booking .booking-service{border-radius:1rem;gap:1.5rem;padding:1.5rem}.client-booking .booking-service strong{font-size:1.25rem;font-weight:500;line-height:1.4}.client-booking .booking-service>div:last-child>strong{white-space:nowrap;font-size:1rem;font-weight:600}.client-booking .booking-service p{font-size:.875rem;line-height:1.5}.client-booking .booking-service>div:first-child>span{font-size:.75rem}.booking-professional-photo{aspect-ratio:4/3;background:var(--surface-raised);width:100%;color:var(--muted);border-radius:.75rem;place-items:center;font-size:2.125rem;font-weight:400;display:grid;overflow:hidden}.booking-professional-photo img{object-fit:cover;object-position:center 25%;width:100%;height:100%}.client-booking .professional-choice{background:var(--surface);width:100%;min-width:0;max-width:none;color:var(--ink);border:0;border-radius:1rem;padding:.75rem}.client-booking .professional-choice>strong{margin-top:.25rem;font-size:1rem;font-weight:500}.client-booking .professional-choice>span:last-child{color:var(--brand-link);margin-top:0;font-size:.75rem}.client-booking .client-reservation-bar{border-top:1px solid var(--line)}.client-booking .client-reservation-summary strong,.client-booking .client-reservation-bar .button{font-weight:500}.client-booking .booking-receipt{border-radius:1rem}.client-booking .booking-result h1{font-weight:500}.client-reservations{padding-bottom:calc(5rem + env(safe-area-inset-bottom,0px))}.client-reservations .client-undo-toast{bottom:calc(6rem + env(safe-area-inset-bottom,0px))}@media (hover:hover) and (pointer:fine){.establishment-actions>button:not(:disabled):hover{text-underline-offset:.25rem;text-decoration:underline}.establishment-service:not(:disabled):hover,.establishment-professional:hover,.establishment-tabbar>:is(button,a):hover{color:var(--brand-link)}}@media (pointer:coarse){.establishment-actions>button:active,.establishment-service:active,.establishment-professional:active{transform:scale(.985)}}@media (min-width:48rem){.establishment-hero{min-height:min(48rem,100svh - 6rem)}.establishment-topbar{min-height:5rem;padding-inline:3rem}.establishment-hero-content{grid-template-columns:minmax(0,1fr) minmax(18rem,25rem);align-items:end;gap:5rem;padding:6rem 3rem 4rem;display:grid}.establishment-actions{margin-top:0}.establishment-tabbar{border:1px solid var(--line);border-radius:1rem;width:min(100% - 2rem,36rem);padding:.5rem;inset:auto 50% 1rem auto;transform:translate(50%)}.establishment-page{padding:3rem 3rem 5rem}.establishment-team{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.establishment-profile{grid-template-columns:1fr 1fr;display:grid}.establishment-profile-photo{min-height:26rem;padding:3rem}.establishment-profile-photo.has-photo{min-height:40rem}.establishment-profile-content{padding:3rem}.client-booking .booking-main{padding-top:3rem}}@media (max-width:23rem){.establishment-tabbar>:is(button,a){font-size:.6875rem}.establishment-service{gap:1rem;padding:1rem}}@media (prefers-reduced-motion:reduce){.establishment-shell :is(button,a),.client-booking .professional-choice{transition:none;animation:none}.establishment-actions>button:active,.establishment-service:active,.establishment-professional:active{transform:none}}
