*{box-sizing:border-box}.booking-page{justify-content:center;align-items:flex-start;min-height:100vh;padding:36px;display:flex;overflow:hidden auto}.booking-shell{background:#fff;border-radius:22px;align-items:stretch;width:min(1170px,100%);height:auto;min-height:620px;display:flex;overflow:hidden;box-shadow:0 12px 40px #00000012}.booking-info-panel{background:#fff;border-right:1px solid #dedede;flex:0 0 320px;width:320px;padding:38px 36px}.profile-image-wrapper{width:82px;height:82px;margin-bottom:12px}.profile-image{object-fit:cover;background:#ddd;border-radius:50%;width:100%;height:100%;box-shadow:0 2px 7px #00000026}.booking-info-panel h1{letter-spacing:-.5px;margin:0 0 25px;font-size:24px;font-weight:700;line-height:1.35}.booking-meta{flex-direction:column;gap:17px;display:flex}.meta-row svg{fill:none;stroke:#1769ff;stroke-width:1.8px;flex-shrink:0;width:20px;height:20px}.timezone-row{white-space:nowrap;overflow:hidden}.small-chevron{margin-left:auto;stroke:#60708b!important;width:14px!important;height:14px!important}.selected-card{background:#fff;border:1px solid #dedede;border-radius:13px;margin-top:32px;padding:20px 18px;box-shadow:0 2px 6px #00000014}.selected-label{color:#6c7a91;margin-bottom:10px;font-size:14px}.selected-date{margin-bottom:5px;font-size:16px;font-weight:700}.selected-time{color:#1769ff;margin-bottom:9px;font-size:16px}.selected-zone{color:#68768d;font-size:14px}.booking-content{align-items:stretch;width:calc(100% - 320px);min-height:620px;transition:height .35s;display:flex;position:relative;overflow:hidden}.calendar-panel,.times-panel,.booking-form-panel{flex:0 0 100%;width:100%;min-height:620px;transition:transform .55s cubic-bezier(.22,1,.36,1)}.calendar-panel{border-right:1px solid #dedede;flex-basis:65%;width:65%;padding:40px 36px}.times-panel{flex-basis:35%;width:35%;padding:28px 23px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.calendar-header h2{letter-spacing:-.4px;margin:0 0 6px;font-size:22px}.calendar-header p{color:#71809a;margin:0;font-size:16px}.month-selector{border:1px solid #dedede;border-radius:28px;justify-content:space-between;align-items:center;min-width:218px;height:48px;padding:0 10px;display:flex;box-shadow:0 2px 6px #0000000f}.month-selector span{font-size:16px;font-weight:700}.month-arrow{cursor:pointer;color:#6d7c94;background:0 0;border:0;place-items:center;width:32px;height:32px;display:grid}.month-arrow svg{fill:none;stroke:currentColor;stroke-width:2px;width:18px;height:18px}.month-arrow.disabled,.month-arrow:disabled{opacity:.3;cursor:not-allowed}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:9px;display:grid}.weekday{text-align:center;color:#71809a;padding-bottom:13px;font-size:14px;font-weight:600}.empty-day{height:53px}.calendar-day{cursor:default;color:#b7c0cf;background:0 0;border:0;border-radius:50%;justify-self:center;width:53px;height:53px;font-size:16px}.calendar-day.available{color:#1769ff;cursor:pointer;background:#edf3ff;transition:all .15s}.calendar-day.available:hover{background:#dce9ff;transform:scale(1.04)}.calendar-day.available.selected{color:#fff;background:#1769ff;box-shadow:0 8px 18px #1769ff38}.times-header{justify-content:space-between;align-items:flex-start;margin-bottom:23px;display:flex}.times-header strong{margin-top:4px;font-size:18px;display:block}.times-header span{color:#71809a;font-size:15px;display:block}.format-badge{color:#65748c;border:1px solid #ddd;border-radius:20px;padding:7px 12px;font-size:14px;display:none}.time-slots{flex-direction:column;gap:9px;display:flex}.time-slot{color:#172033;cursor:pointer;background:#edf3ff;border:1px solid #cbdcff;border-radius:13px;justify-content:center;align-items:center;gap:11px;width:100%;height:56px;font-size:17px;font-weight:600;transition:background .15s,border-color .15s,transform .15s;display:flex}.time-slot:hover{background:#f7faff;border-color:#1769ff;transform:translateY(-1px)}.time-slot.active{background:#eef4ff;border-color:#1769ff}.availability-dot{background:#15c39a;border-radius:50%;width:9px;height:9px}.booking-form-panel{opacity:0;pointer-events:none;box-sizing:border-box;background:#fff;width:100%;min-height:100%;padding:34px 52px;position:absolute;top:0;left:100%;transform:translate(0)}.booking-content.form-active .calendar-panel,.booking-content.form-active .times-panel{transform:translate(-100%)}.booking-content.form-active .booking-form-panel{opacity:1;pointer-events:auto;transform:translate(-100%)}.form-topbar{justify-content:space-between;align-items:center;margin-bottom:38px;display:flex}.form-back{color:#60708b;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:5px;font-size:15px;display:flex}.form-back svg{fill:none;stroke:currentColor;stroke-width:2px;width:18px;height:18px}.form-step{color:#7a879b;font-size:14px}.form-heading{margin-bottom:30px}.form-heading h2{letter-spacing:-.5px;margin:0 0 8px;font-size:26px}.form-heading p{color:#71809a;margin:0;font-size:15px}.booking-form{flex-direction:column;width:100%;max-width:620px;min-height:0;display:flex}.input-group{flex-direction:column;gap:8px;margin-bottom:19px;display:flex}.input-group label{color:#29364c;font-size:14px;font-weight:600}.input-group input,.input-group textarea{color:#172033;background:#fff;border:1px solid #d6dce5;border-radius:10px;outline:none;width:100%;padding:13px 14px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}.input-group input{height:48px}.input-group textarea{resize:vertical;min-height:110px}.input-group input::placeholder,.input-group textarea::placeholder{color:#a4adba}.input-group input:focus,.input-group textarea:focus{border-color:#1769ff;box-shadow:0 0 0 3px #1769ff1a}.proceed-button{color:#fff;cursor:pointer;background:#1769ff;border:0;border-radius:11px;width:100%;height:53px;margin-top:18px;font-size:16px;font-weight:700;transition:transform .15s,background .15s,box-shadow .15s}.proceed-button:hover{background:#0759e9;transform:translateY(-1px);box-shadow:0 7px 18px #1769ff33}.mobile-back-button{display:none}@media (width<=900px){.booking-page{padding:15px}.booking-shell{border-top-right-radius:22px;border-bottom-right-radius:22px;flex-direction:column;height:auto;min-height:650px}.booking-info-panel{border-bottom:1px solid #dedede;border-right:0;flex-basis:auto;width:100%;padding:25px}.profile-image-wrapper{width:65px;height:65px}.booking-content{width:100%;min-height:620px}.calendar-panel,.times-panel{padding:25px 18px}.calendar-day{width:42px;height:42px}.booking-form-panel{padding:28px 22px}}@media (width<=650px){.calendar-header{flex-direction:column;align-items:flex-start;gap:20px}.month-selector{width:100%}.calendar-grid{gap:5px}.weekday{font-size:11px}.booking-info-panel h1{font-size:21px}.format-badge{color:#65748c;border:1px solid #ddd;border-radius:20px;padding:7px 12px;font-size:14px}.booking-page{align-items:flex-start;width:100%;min-height:100vh;padding:12px;overflow:hidden auto}.booking-shell{border-radius:0 0 22px 22px;flex-direction:column;width:100%;height:auto;min-height:0;display:flex;overflow:hidden}.booking-info-panel{border-bottom:1px solid #dedede;border-right:0;flex:none;width:100%;padding:24px 20px}.mobile-center{flex-direction:column;align-items:center;display:flex}.profile-image-wrapper{width:64px;height:64px;margin-bottom:6px}.booking-info-panel h1{margin-bottom:20px;font-size:21px}.booking-meta{gap:13px}.meta-row{font-size:14px}.selected-card{margin-top:22px}.booking-content{width:100%;min-height:560px;transition:height .35s;display:block;position:relative;overflow:hidden}.calendar-panel,.times-panel,.booking-form-panel{box-sizing:border-box;width:100%;min-height:560px;transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .3s;position:absolute;top:0}.calendar-panel{opacity:1;border-right:0;flex-basis:auto;width:100%;padding:26px 16px;left:0;transform:translate(0)}.times-panel{opacity:1;flex-basis:auto;width:100%;padding:26px 16px;left:100%;transform:translate(0)}.booking-content.date-selected .calendar-panel,.booking-content.date-selected .times-panel{transform:translate(-100%)}.booking-form-panel{box-sizing:border-box;opacity:1;pointer-events:none;width:100%;min-height:100%;padding:26px 10px;left:200%;transform:translate(0)}.booking-content.form-active .calendar-panel,.booking-content.form-active .times-panel{transform:translate(-200%)}.booking-content.form-active .booking-form-panel{opacity:1;pointer-events:auto;transform:translate(-200%)}.calendar-header{flex-direction:column;align-items:stretch;gap:18px;margin-bottom:24px}.calendar-header h2{font-size:21px}.calendar-header p{font-size:14px}.month-selector{width:100%;min-width:0}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;width:100%}.weekday{padding-bottom:10px;font-size:10px}.calendar-day{width:39px;height:39px;font-size:14px}.empty-day{height:39px}.times-header{margin-bottom:8px}.times-header strong{font-size:15px}.time-slot{border-radius:11px;height:56px;font-size:16px}.form-topbar{margin-bottom:28px}.form-heading{margin-bottom:25px}.form-heading h2{font-size:14px}.form-heading p{font-size:14px;line-height:1.5}.booking-form{width:100%;max-width:none;min-height:0}.input-group{margin-bottom:18px}.input-group input{height:50px}.input-group textarea{min-height:130px}.proceed-button{height:54px;margin-top:10px;margin-bottom:20px}.mobile-back-button{cursor:pointer;color:#60708b;background:0 0;border:0;align-items:center;gap:7px;padding:5px;font-size:15px;display:flex}.mobile-back-button svg{fill:none;stroke:currentColor;stroke-width:2px;width:17px;height:17px}.booking-shell.form-active{display:block}.booking-shell.form-active .booking-info-panel{display:none}.booking-shell.form-active .booking-content{width:100%;min-height:0}}.mobile-form-container{box-sizing:border-box;width:100%;max-width:720px;margin:0 auto}.mobile-form-header{align-items:flex-start;gap:14px;margin-bottom:30px;display:flex}.mobile-form-back{color:#60708b;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:flex}.mobile-form-back:hover{background:#f3f6fa}.mobile-form-back svg{fill:none;stroke:currentColor;stroke-width:2px;width:22px;height:22px}.mobile-form-title{min-width:0}.mobile-form-title h2{color:#101828;letter-spacing:-.4px;margin:0;font-size:20px;font-weight:700;line-height:1.2}.mobile-form-title p{color:#526781;margin:6px 0 0;font-size:16px;line-height:1.45}.mobile-form-title p span{color:#8b98a9}.mobile-appointment-card{box-sizing:border-box;background:#f9fbfd;border:1px solid #d9dfe7;border-radius:16px;width:100%;margin-bottom:30px;padding:20px}.mobile-appointment-card h3{color:#172033;margin:0 0 18px;font-size:18px;font-weight:650;line-height:1.35}.appointment-detail{color:#526781;align-items:center;gap:11px;margin-top:12px;font-size:15px;line-height:1.4;display:flex}.appointment-detail svg{fill:none;stroke:#1769ff;stroke-width:1.8px;flex:0 0 20px;width:20px;height:20px}.mobile-booking-form{flex-direction:column;gap:22px;width:100%;display:flex}.mobile-field{width:100%}.mobile-field input[type=text],.mobile-field input[type=email],.mobile-field input[type=tel]{box-sizing:border-box;color:#101828;background:#fff;border:1px solid #cfd6df;border-radius:4px;outline:none;width:100%;height:48px;padding:0 14px;font-family:inherit;font-size:15px}.mobile-field input:hover{border-color:#98a2b3}.mobile-field input:focus{border-color:#1769ff;box-shadow:0 0 0 3px #1769ff1a}.mobile-field input::placeholder{color:#98a2b3}.mobile-field textarea{box-sizing:border-box;resize:vertical;color:#101828;background:#fff;border:1px solid #cfd6df;border-radius:4px;outline:none;width:100%;min-height:110px;padding:13px 14px;font-family:inherit;font-size:15px;line-height:1.5}.mobile-field textarea:focus{border-color:#1769ff;box-shadow:0 0 0 3px #1769ff1a}.mobile-field textarea::placeholder{color:#98a2b3}.mobile-radio-group{flex-direction:column;gap:9px;display:flex}.mobile-radio-option{box-sizing:border-box;color:#344054;cursor:pointer;background:#fff;border:1px solid #cfd6df;border-radius:4px;align-items:center;gap:11px;min-height:48px;padding:11px 14px;font-size:15px;line-height:1.4;display:flex;position:relative}.mobile-radio-option:hover{background:#fafcff;border-color:#98a2b3}.mobile-radio-option input{opacity:0;pointer-events:none;position:absolute}.radio-circle{box-sizing:border-box;border:1.5px solid #98a2b3;border-radius:50%;flex:0 0 20px;width:20px;height:20px;position:relative}.mobile-radio-option:has(input:checked){background:#f7faff;border-color:#1769ff}.mobile-radio-option:has(input:checked) .radio-circle{border-color:#1769ff}.mobile-radio-option:has(input:checked) .radio-circle:after{content:"";background:#1769ff;border-radius:50%;width:10px;height:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mobile-proceed-button{color:#fff;cursor:pointer;background:#1769ff;border:0;border-radius:10px;width:100%;min-height:50px;margin-top:4px;padding:0 20px;font-family:inherit;font-size:16px;font-weight:600}.mobile-proceed-button:hover{background:#0759e9;box-shadow:0 5px 14px #1769ff2e}@media (width<=650px){.mobile-form-container{box-sizing:border-box;width:100%;padding:0 10px 32px}.mobile-form-header{align-items:flex-start;gap:14px;margin-bottom:28px;display:flex}.mobile-form-back{color:#526781;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:0 0 20px;justify-content:center;align-items:center;width:40px;height:40px;margin-top:-4px;padding:0;display:flex}.mobile-form-back:focus-visible{outline-offset:2px;outline:3px solid #1769ff33}.mobile-form-back svg{fill:none;stroke:currentColor;stroke-width:2px;width:22px;height:22px}.mobile-form-title{min-width:0}.mobile-form-title h2{color:#101828;letter-spacing:-.5px;margin:0;font-size:20px;font-weight:700;line-height:1.2}.mobile-form-title p{color:#526781;margin:6px 0 0;font-size:16px;font-weight:400;line-height:1.45}.mobile-form-title p span{color:#8b98a9}.mobile-appointment-card{box-sizing:border-box;background:#f9fbfd;border:1px solid #d9dfe7;border-radius:16px;width:100%;margin-bottom:32px;padding:20px}.mobile-appointment-card h3{color:#172033;margin:0 0 18px;font-size:18px;font-weight:650;line-height:1.35}.appointment-detail{color:#526781;align-items:center;gap:11px;margin-top:12px;font-size:15px;line-height:1.4;display:flex}.appointment-detail svg{fill:none;stroke:#1769ff;stroke-width:1.8px;flex:0 0 20px;width:20px;height:20px}.mobile-booking-form{flex-direction:column;gap:24px;width:100%;display:flex}.mobile-field{width:100%}.mobile-field>label{color:#344054;margin-bottom:8px;font-size:17px;font-weight:600;line-height:1.4;display:block}.mobile-field>label span{color:#344054}.mobile-field input[type=text],.mobile-field input[type=email],.mobile-field input[type=tel]{box-sizing:border-box;color:#101828;background:#fff;border:1px solid #cfd6df;border-radius:4px;outline:none;width:100%;height:52px;padding:0 15px;font-family:inherit;font-size:16px;line-height:1.4;transition:border-color .15s,box-shadow .15s,background .15s}.mobile-field input:hover{border-color:#98a2b3}.mobile-field input:focus{border-color:#1769ff;box-shadow:0 0 0 3px #1769ff1f}.mobile-field input::placeholder{color:#98a2b3;opacity:1}.mobile-field textarea{box-sizing:border-box;resize:vertical;color:#101828;background:#fff;border:1px solid #cfd6df;border-radius:10px;outline:none;width:100%;min-height:128px;padding:13px 15px;font-family:inherit;font-size:16px;line-height:1.5}.mobile-field textarea:hover{border-color:#98a2b3}.mobile-field textarea:focus{border-color:#1769ff;box-shadow:0 0 0 3px #1769ff1f}.mobile-field textarea::placeholder{color:#98a2b3}.mobile-radio-group{flex-direction:column;gap:10px;display:flex}.mobile-radio-option{box-sizing:border-box;color:#344054;cursor:pointer;background:#fff;border:1px solid #cfd6df;border-radius:4px;align-items:center;gap:12px;min-height:52px;padding:12px 14px;font-size:16px;line-height:1.4;transition:border-color .15s,background .15s;display:flex;position:relative}.mobile-radio-option:hover{background:#fafcff;border-color:#98a2b3}.mobile-radio-option input{opacity:0;pointer-events:none;position:absolute}.radio-circle{box-sizing:border-box;border:1.5px solid #98a2b3;border-radius:50%;flex:0 0 20px;width:20px;height:20px;position:relative}.mobile-radio-option:has(input:checked){background:#f7faff;border-color:#1769ff}.mobile-radio-option:has(input:checked) .radio-circle{border-color:#1769ff}.mobile-radio-option:has(input:checked) .radio-circle:after{content:"";background:#1769ff;border-radius:50%;width:10px;height:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.field-helper{color:#667085;margin-top:6px;font-size:13px;line-height:1.4}.field-error{color:#d92d20;margin-top:6px;font-size:13px;line-height:1.4}.mobile-proceed-button{color:#fff;cursor:pointer;background:#1769ff;border:0;border-radius:10px;width:100%;min-height:52px;margin-top:4px;padding:0 20px;font-family:inherit;font-size:16px;font-weight:600;line-height:1.4;transition:background .15s,transform .1s,box-shadow .15s}.mobile-proceed-button:hover{background:#155eef;box-shadow:0 2px 6px #1769ff33}.mobile-proceed-button:active{transform:translateY(1px)}.mobile-proceed-button:focus-visible{outline-offset:2px;outline:3px solid #1769ff40}}@media (width<=380px){.mobile-form-container{padding-left:14px;padding-right:14px}.mobile-form-title h2{font-size:18px}.mobile-form-title p{font-size:15px}.mobile-appointment-card{padding:17px}.mobile-appointment-card h3{font-size:17px}}.time-slots{grid-template-columns:1fr;gap:10px;display:grid}@media (width<=900px){.times-panel{width:100%;height:auto;min-height:0}.time-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;display:grid}.time-slot{box-sizing:border-box;white-space:nowrap;width:100%;min-width:0;height:auto;min-height:52px;padding:12px 14px}}.checkbox-square{border:1.5px solid #999;border-radius:4px;width:18px;min-width:18px;height:18px;display:inline-block;position:relative}.mobile-radio-option input[type=checkbox]{opacity:0;pointer-events:none;position:absolute}.mobile-radio-option input[type=checkbox]:checked+.checkbox-square{background:#1669ff;border-color:#1669ff}.mobile-radio-option input[type=checkbox]:checked+.checkbox-square:after{content:"✓";color:#fff;font-size:12px;position:absolute;top:-1px;left:2px}.mobile-field>label{color:var(--foreground);margin-bottom:5px;font-size:17px;font-weight:600;line-height:1.45;display:block}.mobile-field>label span{color:#e85d75}.field-description{color:var(--muted-foreground);margin:0 0 10px;font-size:12px;font-weight:400;line-height:1.5}.mobile-radio-option>span:last-child{font-size:14px;line-height:1.45}.mobile-form-action{flex-direction:column;align-items:center;width:100%;margin-top:28px;display:flex}.mobile-proceed-button{letter-spacing:.01em;cursor:pointer;border:0;border-radius:10px;width:min(100%,320px);height:48px;padding:0 24px;font-size:14px;font-weight:600;transition:transform .15s,opacity .15s,box-shadow .15s}.mobile-proceed-button:hover{transform:translateY(-1px)}.mobile-proceed-button:active{transform:translateY(0)}.mobile-proceed-button:focus-visible{outline-offset:3px;outline:2px solid}.payment-note{color:var(--muted-foreground);text-align:center;margin:8px 0 0;font-size:11px;line-height:1.4}@media (width<=640px){.mobile-proceed-button{border-radius:10px;width:100%;height:50px}.mobile-form-action{margin-top:24px}}.booking-shell{position:relative;overflow:hidden}.calendly-ribbon{z-index:100;color:#fff;pointer-events:none;background:#59636d;flex-direction:column;justify-content:flex-end;align-items:center;width:235px;height:46px;padding-bottom:11px;display:flex;position:absolute;top:6px;right:-70px;transform:rotate(45deg);box-shadow:0 2px 6px #0000001f}.calendly-powered{letter-spacing:.04em;opacity:.9;margin-left:22px;font-size:8px;font-weight:600;line-height:1}.calendly-brand{letter-spacing:-.02em;margin-top:2px;margin-left:26px;font-size:12px;font-weight:700;line-height:1}.availability-loader{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10;color:#172033;background:#ffffffb8;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex;position:absolute;inset:0}.loader-spinner{border:3px solid #dce2e5;border-top-color:#1669ff;border-radius:50%;width:26px;height:26px;animation:.7s linear infinite availability-spin}@keyframes availability-spin{to{transform:rotate(360deg)}}.booking-processing-overlay,.booking-success-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.booking-processing-card,.booking-success-card{text-align:center;background:#fff;border-radius:20px;width:min(420px,100%);padding:40px 32px;box-shadow:0 20px 60px #0003}.booking-loader{border:4px solid #e5e7eb;border-top-color:#476788;border-radius:50%;width:46px;height:46px;margin:0 auto 24px;animation:.8s linear infinite booking-spin}.booking-processing-card h2,.booking-success-card h1{color:#1f2937;margin:0 0 12px}.booking-processing-card p,.booking-success-card p{color:#6b7280;margin:0;line-height:1.6}@keyframes booking-spin{to{transform:rotate(360deg)}}.success-icon{color:#2e7d32;background:#e8f5e9;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 20px;font-size:32px;font-weight:700;display:flex}.success-details{color:#374151;background:#f7f8fa;border-radius:12px;flex-direction:column;gap:6px;margin:24px 0;padding:18px;display:flex}.success-email-message{font-size:14px;margin-bottom:24px!important}.booking-description{margin-top:24px;font-family:Montserrat}.description-text{color:#444;line-height:1.6}.description-text p{margin:0}.description-collapsed{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.read-more-button{color:#111;cursor:pointer;background:0 0;border:0;margin-top:8px;padding:0;font-size:14px;font-weight:600}.booking-meta{border-top:1px solid #eee;flex-direction:column;gap:14px;margin-top:24px;padding-top:20px;display:flex}.meta-row{color:#555;align-items:center;gap:10px;font-size:14px;display:flex}.meta-row svg{flex-shrink:0;width:18px;height:18px}.timezone-row{align-items:flex-start}
