.booking-page{min-height:100svh}.booking-page .header{padding-bottom:20px}.booking-back{font-size:13px;display:flex;gap:18px;align-items:center}.booking-back span{font-size:23px}.booking-main{padding:45px var(--gutter) 70px;max-width:1570px;margin:auto}.booking-intro{display:flex;flex-direction:column;position:relative;margin-bottom:45px}.booking-intro h1{font-size:clamp(48px,5.6vw,83px);line-height:1.04;margin-top:22px;letter-spacing:-.065em;font-weight:500}.booking-intro h1 span{color:#77786f}.booking-intro>p{position:absolute;right:2%;bottom:4px;font-size:17px;line-height:1.8;letter-spacing:-.025em}.booking-shell{display:grid;grid-template-columns:minmax(220px,.78fr) minmax(0,2fr);border:1px solid #cac7bf;background:#f6f3ed;min-height:650px}.booking-context{position:relative;display:flex;flex-direction:column;padding:38px 32px;background:#22241f;color:#e9e5de;overflow:hidden}.context-label{font-size:10px;letter-spacing:.11em;color:#b9bcb0}.booking-context h2{font-size:clamp(26px,2.6vw,36px);line-height:1.15;letter-spacing:-.045em;margin-top:36px}.booking-context>p{font-size:14px;color:#b9bcb0;line-height:1.8;margin-top:22px;max-width:230px}.booking-context dl{margin:35px 0 0;font-size:13px}.booking-context dl>div{display:flex;justify-content:space-between;border-top:1px solid #46483f;padding:16px 0;gap:12px}.booking-context dt{color:#b9bcb0}.booking-context dd{margin:0}.context-foot{font-size:12px;line-height:1.8;color:#b9bcb0;margin-top:auto}.conversation-art{position:relative;margin:25px -32px 30px;height:74px;overflow:hidden}.conversation-art span{height:1px;width:100%;position:absolute;top:50%;background:#616557}.conversation-art span:first-child{transform:rotate(13deg)}.conversation-art span:nth-child(3){transform:rotate(-13deg)}.conversation-art i{width:9px;height:9px;background:#ed5734;border-radius:50%;position:absolute;left:50%;top:calc(50% - 4px);box-shadow:0 0 20px #ed573445}.booking-content{min-width:0;padding:34px 36px 30px}.booking-progress{display:flex;list-style:none;gap:30px;margin:0 0 34px;padding:0;border-bottom:1px solid #d8d5cd}.booking-progress li{padding-bottom:18px;font-size:12px;color:#7e8077;position:relative}.booking-progress li span{font-size:10px;margin-right:6px}.booking-progress li[aria-current]{color:#191a18}.booking-progress li[aria-current]:after{content:'';position:absolute;height:2px;background:#ed5734;bottom:-1px;left:0;right:0}.step-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:30px}.step-heading h2{font-size:27px;letter-spacing:-.045em}.step-heading>span{font-size:11px;color:#6b6e62}.calendar-layout{display:grid;grid-template-columns:1.32fr 1fr;gap:30px}.month-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.month-nav h3,.time-panel h3{font-size:14px;font-weight:600;letter-spacing:-.025em}.month-nav>div{display:flex;gap:3px}.arrow-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid transparent;cursor:pointer;color:var(--ink)}.arrow-button svg{width:20px;height:20px}.arrow-button:hover:not(:disabled){border-color:#cac7bf}.arrow-button:disabled{opacity:.25;cursor:default}.calendar-days,.weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.weekdays{font-size:10px;color:#77786f;text-align:center;margin-bottom:10px}.date-button{aspect-ratio:1;min-height:36px;border:0;border-radius:50%;background:transparent;color:#191a18;font-size:13px;font-weight:500;cursor:pointer;position:relative}.date-button:disabled{color:#b9b8b0;cursor:default}.date-button:not(:disabled):hover{background:#e9e5de}.date-button[aria-pressed=true],.date-button[aria-pressed=true]:hover{background:#191a18;color:#f6f3ed}.date-button.available:after{content:'';width:3px;height:3px;position:absolute;bottom:4px;left:calc(50% - 1.5px);border-radius:50%;background:#ed5734}.date-button[aria-current=date]:not([aria-pressed=true]){box-shadow:inset 0 0 0 1px #a9aaa0}.zone-control{border-top:1px solid #d8d5cd;margin-top:23px;padding-top:17px}.zone-control label{display:block;font-size:10px;color:#73766a;margin-bottom:7px}.zone-control select{font:inherit;font-size:11px;color:#45483e;max-width:100%;width:100%;border:none;background:transparent;padding:5px 0;cursor:pointer}.time-panel{border-left:1px solid #d8d5cd;padding-left:26px;min-width:0}.time-panel h3{margin-top:9px}.time-panel>p{font-size:11px;line-height:1.6;color:#73766a;margin-top:8px}.time-slots{display:grid;grid-template-columns:1fr;gap:8px;margin-top:18px;max-height:285px;overflow-y:auto;padding:2px 5px 4px 2px;scrollbar-width:thin;scrollbar-color:#b9b8b0 transparent}.slot-button{border:1px solid #c7c4bc;color:#22241f;background:transparent;border-radius:2px;min-height:43px;font-size:13px;font-weight:500;cursor:pointer}.slot-button:hover{border-color:#191a18}.slot-button[aria-pressed=true]{background:#ed5734;border-color:#ed5734;color:#191a18}.selection-bar{margin-top:30px;padding-top:23px;border-top:1px solid #d8d5cd;display:flex;align-items:center;justify-content:space-between;gap:20px}.selection-bar p{font-size:11px;line-height:1.7;color:#606456;max-width:230px}.booking-content .button{min-height:49px;padding:13px 19px;font-size:13px;gap:25px}.booking-content button:disabled{opacity:.35;cursor:default;transform:none}.booking-status{font-size:14px;line-height:1.7;color:#6b6e62}.booking-error{padding:13px 16px;margin-bottom:22px;background:#f8e4db;border-left:2px solid #c24728;font-size:13px;line-height:1.7}.booking-fallback h2{font-size:32px}.booking-fallback>p{line-height:1.8;font-size:15px;margin:20px 0;max-width:420px}.booking-fallback .text-link{display:table;margin-top:20px}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}.booking-field{margin-bottom:23px}.booking-field label{display:block;font-size:12px;margin-bottom:10px}.booking-field label span{color:#77786f;font-size:10px;margin-left:5px}.booking-field input,.booking-field textarea{width:100%;padding:10px 0;font:inherit;font-size:15px;border:0;border-bottom:1px solid #bfbfb4;border-radius:0;color:#191a18;background:transparent;min-height:43px}.booking-field textarea{resize:vertical;line-height:1.7}.booking-field input:focus,.booking-field textarea:focus{outline-offset:2px}.booking-field textarea::placeholder{font-size:13px;color:#77786f}.chosen-time{font-size:13px;line-height:1.8;border-left:2px solid #ed5734;padding-left:15px;margin:-7px 0 30px}.quiet-button{font:inherit;font-size:12px;background:transparent;border:0;border-bottom:1px solid #babbb0;padding:6px 0;color:#45483e;cursor:pointer}.quiet-button:hover{color:#b34329;border-color:currentColor}.details-actions{display:flex;align-items:center;gap:20px;margin-top:24px}.details-actions>p{font-size:11px;line-height:1.7;color:#73766a}.booking-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.confirmation-mark{width:54px;height:54px;border:1px solid #ed5734;border-radius:50%;display:grid;place-items:center;color:#d84b2b;margin-bottom:30px}.confirmation-mark svg{width:30px;height:30px}#confirmed-step h2{font-size:clamp(34px,3.5vw,52px);margin:17px 0;letter-spacing:-.06em}#confirmed-step>p{font-size:14px;color:#606456;line-height:1.8;max-width:450px}.confirmation-summary{padding:23px 0;margin:22px 0;border-top:1px solid #d8d5cd;border-bottom:1px solid #d8d5cd;font-size:15px;line-height:1.9}.confirmation-summary span{display:block;font-size:12px;color:#73766a}.manage-actions{display:flex;gap:24px;flex-wrap:wrap;margin-top:25px}.cancel-confirmation{margin-top:25px;background:#e9e5de;padding:20px;font-size:13px;line-height:1.7}.cancel-confirmation button{margin:15px 18px 0 0}.booking-afterword{font-size:13px;text-align:center;color:#73766a;margin:28px 0 0}.booking-page .footer{border-top:1px solid #c7c4bc}.demo-notice{background:#f4dace;border-left:2px solid #ed5734;padding:12px 18px;font-size:12px;line-height:1.6;margin-bottom:18px}[hidden]{display:none!important}
@media(max-width:1100px){.booking-main{padding-top:35px}.booking-context{padding:30px 25px}.booking-content{padding:30px 25px}.calendar-layout{gap:20px}.time-panel{padding-left:18px}.booking-intro>p{right:0;font-size:15px}.step-heading>span{display:none}}
@media(max-width:850px){.booking-shell{grid-template-columns:1fr}.booking-context{display:grid;grid-template-columns:1fr 1fr;gap:12px 35px;padding:27px 30px}.context-label{grid-column:1/-1}.booking-context h2{margin-top:12px;font-size:29px;grid-row:2/4}.booking-context>p,.conversation-art,.context-foot{display:none}.booking-context dl{margin:0;grid-column:2;grid-row:2/4}.booking-context dl>div{padding:11px 0}.booking-context dl>div:first-child{border:0}.booking-content{padding:30px}.booking-intro>p{position:static;margin-top:23px}.booking-intro{margin-bottom:30px}.booking-intro h1{font-size:58px}.calendar-layout{grid-template-columns:1.3fr 1fr;gap:30px}.time-panel{padding-left:28px}.time-slots{max-height:300px}}
@media(max-width:520px){.booking-page .header{display:flex;align-items:center;gap:15px}.booking-back{font-size:11px;max-width:130px;gap:9px;line-height:1.5}.booking-back span{display:none}.booking-main{padding-top:25px}.booking-intro h1{font-size:53px}.booking-intro>p{font-size:14px;line-height:1.8}.booking-shell{margin:0 -10px}.booking-context{padding:24px 20px;gap:10px 14px}.context-label{font-size:9px}.booking-context h2{font-size:23px;margin-top:7px}.booking-context dl{font-size:11px}.booking-context dl>div{gap:8px}.booking-content{padding:25px 18px}.booking-progress{gap:22px;margin-bottom:26px}.booking-progress li{font-size:11px}.step-heading{margin-bottom:20px}.step-heading h2{font-size:25px}.calendar-layout{grid-template-columns:1fr;gap:20px}.date-button{min-height:40px;font-size:14px}.calendar-panel{max-width:380px;width:100%;margin:auto}.time-panel{border-left:0;border-top:1px solid #d8d5cd;padding:16px 0 0}.time-panel h3{margin-top:0}.time-slots{grid-template-columns:repeat(3,minmax(0,1fr));max-height:200px;margin-top:14px;gap:7px}.slot-button{font-size:12px;min-height:43px}.zone-control{margin-top:18px;padding-top:13px}.selection-bar{gap:15px;margin-top:24px}.selection-bar p{max-width:170px;font-size:11px}.selection-bar .button{gap:12px;padding:12px 15px}.booking-fields{grid-template-columns:1fr;gap:0}.booking-field input,.booking-field textarea{font-size:16px}.details-actions{align-items:flex-start;flex-direction:column;gap:13px}.details-actions>p br{display:none}.details-actions .button{width:100%;justify-content:center}.chosen-time{font-size:12px}.booking-afterword{font-size:11px;margin-top:23px}.manage-actions{gap:16px}.booking-page .footer .wordmark{width:auto}.booking-page .footer{gap:18px}.booking-page .footer>a:last-child{margin-left:0}.booking-page .footer>span{font-size:11px}}

.booking-back svg{width:20px;height:20px;flex:none}@media(max-width:520px){.booking-back svg{display:none}}
