@font-face{font-family:Inter;font-style:normal;font-weight:400 750;font-display:swap;src:url(/inter-latin.woff2) format("woff2")}
/* Shared interaction and viewport fixes for the public site and owner workspace. */
.public-ui,.workspace-ui{overflow-wrap:break-word}
.public-ui :is(input,select,textarea),.workspace-ui :is(input,select,textarea){min-width:0;max-width:100%}
.public-ui :is(img,video,canvas){max-width:100%}
.public-ui :is(button,a,input,select,textarea),.workspace-ui :is(button,a,input,select,textarea){touch-action:manipulation}
.public-ui :is(button,a,input,select,textarea):focus-visible,.workspace-ui :is(button,a,input,select,textarea):focus-visible{outline:2px solid #315cea;outline-offset:3px}
.public-ui dialog,.workspace-ui dialog{overscroll-behavior:contain}
.public-ui.navigation-open{overflow:hidden}
.public-ui #navigation-dialog{inset:0;width:min(360px,calc(100% - 24px));max-width:100%;height:100dvh;max-height:100dvh;margin:0 0 0 auto;padding:24px 20px;border:0;border-left:1px solid var(--line);border-radius:20px 0 0 20px;background:#fff;color:var(--ink);overflow-y:auto;box-shadow:-16px 0 60px #1111111a}
.public-ui #navigation-dialog[open]{display:flex;flex-direction:column;gap:24px}
.public-ui #navigation-dialog::backdrop{background:#11111166;backdrop-filter:blur(4px)}
.public-ui .mobile-nav-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.public-ui .mobile-nav-heading h2{font-size:24px;font-weight:550;letter-spacing:-.6px;line-height:1.3}
.public-ui .mobile-nav-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
.public-ui .mobile-nav-close .icon{width:18px;height:18px}
.public-ui #navigation-dialog #mobile-nav{display:grid;gap:8px;width:100%;max-height:none;margin:0;padding:0;background:none;overflow:visible}
.public-ui #navigation-dialog #mobile-nav :is(a,button){display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:56px;margin:0;padding:14px 16px;border:0;border-radius:12px;background:transparent;color:var(--ink);font:500 16px/1.5 var(--font);text-align:left}
.public-ui #navigation-dialog #mobile-nav [aria-current=page]{background:var(--blue);color:#fff}
.public-ui #navigation-dialog #mobile-nav :is(a,button):hover:not([aria-current=page]){background:var(--blue-soft)}
.public-ui #navigation-dialog #mobile-nav .coming-soon-badge{position:static;inset:auto;flex:none;transform:none;min-height:22px;padding:3px 7px;border:1px solid var(--line);border-radius:6px;background:var(--blue-soft);color:var(--blue);font-size:10px;font-weight:550;line-height:1.4;letter-spacing:0}
.creator-home #booking-time :is(#calendar-grid,#time-slots) button[aria-pressed=true]{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:none}
/* Keep the scheduler compact, with its action outside the scrolling picker. */
.creator-home #booking-dialog[data-step=time]{width:800px;max-width:calc(100% - 32px);height:fit-content;max-height:calc(100dvh - 32px);overflow:hidden}
.creator-home #booking-dialog[data-step=time][open]{display:flex;flex-direction:column}
.creator-home #booking-dialog[data-step=time] .booking-aside{display:flex;flex:none;align-items:center;justify-content:space-between;gap:16px;padding:14px 68px 14px 24px;border:0;border-bottom:1px solid var(--line)}
.creator-home #booking-dialog[data-step=time] #booking-title{margin:0;font-size:20px;line-height:1.3}
.creator-home #booking-dialog[data-step=time] .session-price{margin:0;gap:6px;flex-direction:row;align-items:baseline}
.creator-home #booking-dialog[data-step=time] .session-price>strong{font-size:22px;line-height:1.2}
.creator-home #booking-dialog[data-step=time] .session-price>span{font-size:12px;white-space:nowrap}
.creator-home #booking-dialog[data-step=time] :is(.booking-recap,.preview-label){display:none}
.creator-home #booking-dialog[data-step=time] .booking-main{display:flex;flex:0 1 auto;flex-direction:column;min-height:0;padding:16px 24px 20px;overflow:hidden}
.creator-home #booking-dialog[data-step=time] .steps{flex:none;margin:0 0 12px;padding:0 0 8px;gap:8px}
.creator-home #booking-dialog[data-step=time] #booking-time{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}
.creator-home #booking-dialog[data-step=time] #booking-time h3{flex:none;font-size:23px;line-height:1.3}
.creator-home #booking-time .schedule-grid{flex:0 1 auto;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;min-height:0;margin-top:12px;gap:0;overflow:auto;overscroll-behavior:contain}
.creator-home #booking-time :is(.calendar-panel,.slots-panel){min-width:0;padding:12px}
.creator-home #booking-time .slots-panel{border-left:1px solid var(--line);border-top:0}
.creator-home #booking-time .calendar-toolbar{margin-bottom:8px}
.creator-home #booking-time .calendar-weekdays{margin-bottom:6px}
.creator-home #booking-time .calendar-grid{gap:4px}
.creator-home #booking-time .calendar-grid button{height:32px;min-height:32px;max-height:32px;aspect-ratio:auto;font-size:12px}
.creator-home #booking-time .timezone{margin-top:10px;font-size:11px;line-height:1.5}
.creator-home #booking-time .slots-panel>strong{padding:0 0 8px;font-size:13px;line-height:1.5}
.creator-home #booking-time .time-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:300px;padding:2px;overflow-y:auto;align-content:start;overscroll-behavior:contain}
.creator-home #booking-time #time-slots button{min-height:40px;padding:8px 10px;gap:8px;font-size:13px;line-height:20px}
.creator-home #booking-time .time-period-label{margin:2px 0 0;line-height:1.4}
.creator-home #booking-time .booking-step-footer{display:flex;flex:none;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding-top:12px}
.creator-home #booking-time .booking-step-footer .button{width:auto;min-width:190px}
@media(max-width:650px){
  .public-ui.creator-home #booking-dialog[data-step=time]{inset:auto 0 0;width:100%;max-width:100%;max-height:calc(100dvh - 12px);margin:0;border-radius:20px 20px 0 0;border-bottom:0}
  .creator-home #booking-dialog[data-step=time] .booking-aside{padding:14px 54px 12px 16px}
  .creator-home #booking-dialog[data-step=time] #booking-title{font-size:18px}
  .creator-home #booking-dialog[data-step=time] .session-price>strong{font-size:20px}
  .creator-home #booking-dialog[data-step=time] .booking-main{padding:12px 16px max(16px,env(safe-area-inset-bottom))}
  .creator-home #booking-dialog[data-step=time] #booking-time h3{font-size:21px}
  .creator-home #booking-time .schedule-grid{grid-template-columns:minmax(0,1fr)}
  .creator-home #booking-time .slots-panel{border-left:0;border-top:1px solid var(--line)}
  .creator-home #booking-time .calendar-grid button{height:34px;min-height:34px;max-height:34px}
  .creator-home #booking-time .time-slots{max-height:none;overflow:visible}
  .creator-home #booking-time #time-slots button{min-height:44px}
  .creator-home #booking-time .booking-step-footer{display:block}
  .creator-home #booking-time .booking-step-footer .field-help{display:none}
  .creator-home #booking-time .booking-step-footer .button{width:100%;min-width:0}
}
@media(max-height:500px){.creator-home #booking-dialog[data-step=time] .steps{display:none}}
.public-ui .mobile-nav{max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}
.public-ui :is(.hero-main,.service-card,.expertise-card,.brand-path,.creator-copy),.workspace-ui :is(.main-shell,.panel,.form-grid>div){min-width:0}
.public-ui :is(.hero-actions,.payment-meeting-actions,.paid-sessions-heading){flex-wrap:wrap}
@media(hover:none){
  .public-ui :is(.service-art,.expertise-card,.brand-path,.button),.workspace-ui .button{transform:none!important}
}
@media(max-width:900px){
  .public-ui :is(input,select,textarea),.workspace-ui :is(input,select,textarea){font-size:16px}
  .public-ui :is(.menu-toggle,.dialog-close,.icon-button),.workspace-ui :is(.sidebar-toggle,.dialog-close){min-width:44px;min-height:44px}
  .public-ui :is(.mobile-nav a,.mobile-nav button){min-height:44px}
  .workspace-ui :is(.form-footer,.page-heading,.panel-heading){flex-wrap:wrap;gap:14px}
}
@media(max-width:650px){
  .workspace-ui .topbar{height:auto;min-height:64px;flex-wrap:wrap;gap:8px;padding:12px 16px}
  .workspace-ui .topbar>div{min-width:0;max-width:100%;flex-wrap:wrap}
  .workspace-ui .topbar>div:last-child{margin-left:auto}
  .public-ui :is(.site-header,.site-footer){padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
  .public-ui :is(.booking-main,.enquiry-main){scroll-padding-block:16px;scrollbar-width:thin}
  .public-ui #booking-time .calendar-toolbar .icon-button{width:44px;height:44px}
  .public-ui #booking-time .calendar-toolbar{margin-bottom:10px}
  .public-ui .calendar-grid button{min-height:34px;max-height:44px;aspect-ratio:auto}
  .public-ui :is(.calendar-grid,.calendar-weekdays){gap:3px}
  .public-ui #time-slots button{min-height:48px}
  .public-ui :is(.checkout-finish,.payment-text-action,.checkout-retry,.booking-step>.next){min-height:44px}
  .public-ui .contact-dialog{scroll-padding-bottom:max(20px,env(safe-area-inset-bottom))}
  .public-ui #booking-payment .payment-success-details dd{max-width:68%}
  .public-ui #booking-payment .payment-meeting-actions>*{flex:1 1 120px}
  .workspace-ui .form-footer>*{max-width:100%}
  .workspace-ui .form-footer .button{width:100%;justify-content:center}
  .workspace-ui .table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
}
@media(max-width:360px){
  .public-ui #booking-dialog:not([data-step=payment]){width:calc(100% - 16px);max-width:420px;max-height:calc(100dvh - 16px);margin:auto;border-radius:20px;border:1px solid var(--studio-line)}
  .public-ui #booking-dialog .booking-main .steps{gap:2px}
  .public-ui #booking-dialog .booking-main .steps .step-label{font-size:11px}
  .public-ui :is(.review-summary,.checkout-recipient){overflow-wrap:anywhere}
  .public-ui .payment-flow-steps button{font-size:11px}
}
@media(max-height:540px) and (orientation:landscape){
  .public-ui #booking-dialog:not([data-step=payment]):not([data-step=time]),.public-ui #contact-dialog{height:100dvh;max-height:100dvh;margin:0 auto;border-radius:0}
  .public-ui #booking-dialog:not([data-step=payment]) .booking-aside{padding-block:10px}
}
/* The mobile review opens from the bottom, with its content scrolling on short screens. */
@media(max-width:360px){
  #booking-payment .payment-flow-steps button:not([aria-current=step]){justify-content:center;gap:0;font-size:0}
  #booking-payment .payment-order-summary>div>span{display:none}
}
@media(max-width:650px){
  .creator-home #booking-dialog[data-step=review]{inset:auto 0 0;width:100%;max-width:100%;height:fit-content;max-height:calc(100dvh - 12px);margin:0;border-radius:20px 20px 0 0;border-bottom:0}
}
@media(prefers-reduced-motion:reduce){
  .public-ui,.public-ui *,.workspace-ui,.workspace-ui *{scroll-behavior:auto!important}
}
