/* A dedicated booking flow: no marketing navigation or competing call to action. */
body.page-booking{background:#f7f6f2;color:#161616;padding:0!important;font-family:var(--sans);overflow-x:hidden}body.page-booking main{padding:0;margin:0}body.page-booking [hidden]{display:none!important}.booking-header{height:76px;border-bottom:1px solid #e4e1dc;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1160px)/2));position:relative;z-index:5}.booking-brand{display:flex;align-items:center;gap:14px;font-size:15px;letter-spacing:.055em;font-weight:500}.booking-brand img{width:48px;height:48px}.booking-close{font-size:14px;border-bottom:1px solid #bbb;padding:8px 0}.booking-page{max-width:1160px;margin:0 auto;padding:30px 24px 70px}.booking-title{margin-bottom:28px}.booking-title h1{font-size:32px;letter-spacing:-.035em;line-height:1.15;font-weight:500}.booking-title>p{font-size:14px;color:#6b6862;margin:9px 0 0}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:30px;align-items:start}.booking-panel{background:#fff;padding:26px 30px!important;border:1px solid #e4e1dc;min-width:0;min-height:370px}.booking-steps{display:flex;gap:28px;list-style:none;padding:0;margin:0 0 28px;border-bottom:1px solid #e5e2dc;font-size:14px!important;color:#77736c}.booking-steps li{padding:0 0 14px;position:relative;white-space:nowrap}.booking-steps li[aria-current]{color:#161616;font-weight:600}.booking-steps li[aria-current]::after{content:'';position:absolute;height:2px;bottom:-1px;left:0;right:0;background:#171717}.booking-stage-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px}.booking-stage-heading h2,.booking-panel section>h2{font-family:var(--sans);font-size:23px!important;letter-spacing:-.035em;line-height:1.3;font-weight:500;margin:0}.booking-text-button{font-size:13px;line-height:1.5;padding:7px 0;border:0;background:none;text-decoration:underline;text-underline-offset:4px;flex-shrink:0}.booking-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.booking-category{background:#f7f6f2;color:#171717;border:1px solid #e5e2db;min-height:80px;padding:18px!important;text-align:left;font-size:16px;line-height:1.35;transition:background .2s,border-color .2s}.booking-category:hover,.booking-category:focus-visible{background:#e9e2d8;border-color:#92877a}.booking-options{display:flex;flex-direction:column;gap:0}.booking-option{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0!important;border:0;border-top:1px solid #e9e5df;background:#fff;text-align:left;border-radius:0;font-size:15px;line-height:1.45;width:100%;transition:background .2s}.booking-option:last-child{border-bottom:1px solid #e9e5df}.booking-option:hover,.booking-option:focus-visible{background:#f7f6f2}.booking-option>span:first-child{min-width:0}.booking-option strong{font-size:16px;font-weight:500;display:block}.booking-option small{display:block;font-size:13px;color:#68645f;line-height:1.5;margin-top:5px}.booking-option .option-price{min-width:94px;text-align:right;font-size:15px;font-weight:500;white-space:nowrap}.option-price small{text-decoration:underline;text-underline-offset:4px;color:#161616}.booking-help{font-size:13px;color:#68645f;margin:24px 0 0}.booking-help a{text-decoration:underline;text-underline-offset:4px}.selected-service-bar{background:#f1ece4;padding:14px 16px;border:1px solid #e5dfd6}.selected-service-bar strong{font-size:16px;font-weight:500}.selected-service-bar p{font-size:13px;color:#666059;margin-top:5px}.field-help{font-size:13px;line-height:1.6;color:#69645d;margin:12px 0}#service-description{margin:12px 0 5px}.check-field{display:flex!important;gap:10px;align-items:flex-start;font-size:13px!important;margin:15px 0!important;line-height:1.5}.check-field input{width:18px;height:18px;accent-color:#333;appearance:auto;margin:1px 0 0;flex-shrink:0}.check-field small{display:inline;font-size:12px;margin-left:4px;color:#69645d}.check-field a{text-decoration:underline;text-underline-offset:3px}.date-toolbar{display:flex;align-items:center;gap:12px;margin:24px 0 14px}.date-page{height:36px;width:36px;border:1px solid #dad5cc;font-size:24px;line-height:1;background:#fff;flex-shrink:0}.date-page:disabled{opacity:.25;cursor:default}#dates-month{font-size:15px;text-transform:capitalize}.date-direct{font-size:13px;position:relative;margin-left:auto;cursor:pointer;text-decoration:underline;text-underline-offset:4px;padding:9px 0}.date-direct input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;max-width:130px}.date-direct input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}.date-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.date-tile{min-height:85px;border:1px solid #e0dcd5;padding:10px 4px;background:#fff;display:flex;flex-direction:column;align-items:center;gap:2px}.date-tile span,.date-tile small{font-size:12px;text-transform:capitalize}.date-tile strong{font-size:24px;font-weight:400;line-height:1.2}.date-tile[aria-pressed=true]{background:#d8cbbc;border-color:#b1a494;color:#161616}.date-tile:hover:not(:disabled){border-color:#5c554d}.date-tile:disabled{opacity:.28;cursor:default}.time-filters{display:flex;gap:7px;margin:22px 0}.time-filters button{font-size:13px;border:1px solid #dad5cc;padding:10px 12px;white-space:nowrap;background:#fff}.time-filters button[aria-pressed=true]{background:#171717;color:#fff;border-color:#171717}.slot-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin:0 0 12px}.slot-heading h3{font-size:15px;line-height:1.4;font-weight:500}.slot-heading>span{font-size:12px;color:#69645d;white-space:nowrap}.time-slots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;min-height:45px}.time-slots button{min-height:44px;border:1px solid #d6d0c8;background:white;font-size:15px;padding:10px 4px;border-radius:0}.time-slots button:hover,.time-slots button:focus-visible{background:#e9e2d8;border-color:#918476}.time-slots button[aria-pressed=true]{background:#171717;color:#fff}.time-slots>p{grid-column:1/-1;font-size:14px;line-height:1.6;color:#69645d;margin:8px 0 15px}.booking-summary{position:sticky;top:26px;background:#ebe4db;padding:24px;min-width:0}.booking-summary .eyebrow{font-size:12px;letter-spacing:.09em}.booking-summary h2{font-size:23px;font-family:var(--sans);line-height:1.25;letter-spacing:-.03em;margin:14px 0 10px;font-weight:500}.booking-summary>p{font-size:13px;color:#665f57;line-height:1.6}#summary-selection{border-top:1px solid #d2c8bc;border-bottom:1px solid #d2c8bc;padding:20px 0;margin:24px 0}#summary-selection>span{font-size:12px;color:#665f57}#summary-selection strong{display:block;font-size:15px;line-height:1.5;font-weight:500;margin-top:9px}#summary-selection p{font-size:13px;line-height:1.6;margin-top:9px}.summary-footnote a{color:#171717;text-decoration:underline;text-underline-offset:4px}.booking-status{font-size:14px;margin:0 0 20px}.booking-status:empty{display:none}.booking-error{font-size:14px;line-height:1.5;padding:13px 16px;background:#f7e9e4;border-left:3px solid #a64e37;margin:0 0 20px;color:#792d1b}.details-recap{display:grid;gap:6px;padding:16px;background:#f1ece4;margin:0 0 24px;font-size:15px;line-height:1.4}.details-recap strong{font-weight:500}.details-recap small{font-size:13px;color:#69645d}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field-wide{grid-column:1/-1}.field label{display:block;font-size:14px;margin-bottom:8px}.field label>span{color:#777;font-size:12px;margin-left:5px}.field input,.field select,.field textarea{width:100%;border:1px solid #cec7bd;background:#fff;border-radius:0;padding:12px;font-size:16px;min-height:46px;color:#171717;font-family:inherit}.field textarea{resize:vertical}.honey-field{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.booking-actionbar{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #dcd5cb;z-index:30;padding:16px max(24px,calc((100vw - 1112px)/2));display:flex;gap:30px;align-items:center;justify-content:space-between;box-shadow:0 -8px 22px #00000004}.booking-actionbar>div{display:grid;gap:5px;font-size:14px;line-height:1.4}.booking-actionbar strong{font-weight:500}.booking-actionbar span{color:#686158;font-size:13px}.booking-actionbar .button{white-space:nowrap;font-size:14px;min-height:50px;margin:0}.booking-layout[data-step="3"]{padding-bottom:80px}.page-booking :focus-visible{outline:2px solid #806e5a;outline-offset:4px}.page-booking button:disabled{cursor:default}.success-symbol{font-size:28px;display:block;margin-bottom:20px;color:#3a5133}#booking-success h2,#booking-cancel h2{font-family:var(--sans);font-size:32px!important;line-height:1.15;margin:14px 0 24px;letter-spacing:-.03em}#booking-success p,#booking-cancel p{font-size:15px;line-height:1.65;margin:18px 0}#success-details{margin:24px 0}#success-details>div{display:grid;grid-template-columns:120px 1fr;gap:16px;border-bottom:1px solid #e4ddd4;padding:12px 0;font-size:14px;line-height:1.5}#success-details dt{color:#69645d}#success-details dd{margin:0;text-align:right}#booking-success .button-row{gap:18px;flex-wrap:wrap;margin-top:25px}#booking-success .text-link{font-size:13px}#booking-success .success-home{display:inline-block;margin-top:26px}#booking-cancel a{text-decoration:underline}
@media(max-width:950px){.booking-layout{grid-template-columns:minmax(0,1fr) 235px;gap:20px}.booking-panel{padding:22px!important}.time-slots{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-summary{padding:22px}.booking-summary h2{font-size:21px}.date-strip{gap:5px}.booking-stage-heading{flex-wrap:wrap;gap:10px}.time-filters{gap:5px}.time-filters button{padding:9px 10px;font-size:12px}}
@media(max-width:750px){.booking-header{height:65px;padding:0 18px}.booking-brand{font-size:12px;letter-spacing:.035em;gap:8px}.booking-brand img{width:38px;height:38px}.booking-close{font-size:12px}.booking-page{padding:22px 18px 35px;max-width:600px}.booking-title{margin-bottom:23px}.booking-title h1{font-size:27px}.booking-title>p{font-size:12px}.booking-layout{display:block}.booking-summary{display:none}.booking-panel{padding:0!important;border:0;background:transparent;min-height:320px}.booking-steps{font-size:13px!important;gap:24px;margin-bottom:24px}.booking-stage-heading h2{font-size:21px!important}.booking-picker{gap:10px}.booking-category{min-height:79px;font-size:15px;padding:16px!important;background:#fff}.booking-options{background:#fff;padding:0 14px}.booking-option{gap:14px;padding:17px 0!important}.booking-option strong{font-size:15px}.booking-option small{font-size:12px}.booking-option .option-price{font-size:14px;min-width:82px}.booking-text-button{font-size:12px}.selected-service-bar{padding:13px 14px}.selected-service-bar strong{font-size:15px}.date-toolbar{gap:8px;margin-top:20px}#dates-month{font-size:14px}.date-page{width:31px;height:33px}.date-direct{font-size:12px}.date-strip{gap:5px;display:flex;overflow-x:auto;scrollbar-width:thin;padding-bottom:7px;scroll-snap-type:x mandatory}.date-tile{flex:0 0 calc((100% - 25px)/6);min-width:47px;min-height:80px;scroll-snap-align:start}.date-tile strong{font-size:23px}.time-filters{gap:6px;overflow-x:auto;margin:17px 0 19px;padding-bottom:3px}.time-filters button{font-size:12px;padding:10px 11px;flex:1}.slot-heading{gap:10px}.slot-heading h3{font-size:14px}.slot-heading>span{font-size:11px}.time-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.time-slots button{font-size:15px;min-height:45px}.field-grid{gap:17px;grid-template-columns:1fr 1fr}.field-wide{grid-column:1/-1}.field label{font-size:13px}.field input,.field select,.field textarea{font-size:16px}.details-recap{font-size:14px}.booking-actionbar{padding:13px 18px calc(13px + env(safe-area-inset-bottom));gap:9px;display:block}.booking-actionbar>div{display:none}.booking-actionbar .button{width:100%;display:flex;justify-content:center;min-height:51px;font-size:15px}.booking-layout[data-step="3"]{padding-bottom:80px}.booking-title,.booking-header{background:transparent}.booking-header{background:#fff}.field-help{font-size:12px}.check-field{font-size:12px!important}#success-details>div{grid-template-columns:85px 1fr;font-size:13px}.booking-help{font-size:12px}}
@media(max-width:370px){.booking-brand img{display:none}.booking-steps{gap:18px}.booking-category{font-size:14px}.field-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.time-filters button{padding:9px 8px}}
