:root{--cla-ink:#211f1c;--cla-muted:#6b655e;--cla-line:#e4ded5;--cla-warm:#f7f4ef;--cla-white:#fff;--cla-green:#24372f;--cla-gold:#b58b52;--cla-gold-text:#8a642f;--cla-berry:#7b5c6e;--cla-danger:#9d4038;--cla-shadow:0 24px 70px rgba(33,31,28,.09)}
.cla-booking-root,.cla-booking-root *,.cla-booking-root *:before,.cla-booking-root *:after{box-sizing:border-box}.cla-public-main{min-height:100vh}.cla-booking-root{min-height:100vh;background:var(--cla-warm);color:var(--cla-ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}.cla-booking-root button,.cla-booking-root input,.cla-booking-root select,.cla-booking-root textarea{font:inherit}.cla-booking-root button,.cla-booking-root a{-webkit-tap-highlight-color:transparent}.cla-public-shell{min-height:100vh;display:flex;flex-direction:column}.cla-public-header{height:88px;padding:0 clamp(20px,4vw,68px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(228,222,213,.8);background:rgba(247,244,239,.88);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}.cla-brand{display:flex;align-items:center;gap:14px;border:0;background:none;color:var(--cla-ink);cursor:pointer;text-align:left;padding:0}.cla-monogram{width:46px;height:46px;border:1px solid var(--cla-gold);border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:14px;letter-spacing:.12em}.cla-brand strong{display:block;font-family:Georgia,serif;font-size:19px;font-weight:500}.cla-brand small{display:block;color:var(--cla-muted);font-size:11px;margin-top:2px;letter-spacing:.04em}.cla-header-actions{display:flex;align-items:center;gap:18px}.cla-help,.cla-link-button{font-weight:650;color:var(--cla-green);text-decoration:none;border:0;background:none;cursor:pointer;padding:11px 0}.cla-link-button{border-bottom:1px solid currentColor}.cla-stepper{width:min(770px,calc(100% - 40px));margin:34px auto 0;display:grid;grid-template-columns:repeat(4,1fr);position:relative}.cla-stepper:before{content:"";height:1px;background:var(--cla-line);position:absolute;left:12%;right:12%;top:18px}.cla-stepper button{border:0;background:none;color:#a49d94;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0;cursor:pointer}.cla-stepper button:disabled{cursor:default}.cla-stepper span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--cla-warm);border:1px solid var(--cla-line);font-size:13px}.cla-stepper em{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.cla-stepper .is-current,.cla-stepper .is-done{color:var(--cla-green)}.cla-stepper .is-current span{background:var(--cla-green);border-color:var(--cla-green);color:#fff;box-shadow:0 5px 16px rgba(36,55,47,.25)}.cla-stepper .is-done span{background:#dfe8e2;border-color:#cbd8cf}.cla-booking-stage{width:min(1120px,calc(100% - 40px));margin:46px auto 80px;flex:1}.cla-stage-heading{max-width:680px;margin-bottom:30px}.cla-stage-heading.with-back{display:flex;gap:18px;max-width:760px}.cla-stage-heading.with-back>button{width:46px;height:46px;border:1px solid var(--cla-line);border-radius:50%;background:#fff;cursor:pointer;flex:0 0 auto;font-size:22px}.cla-eyebrow{font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--cla-gold);display:block;margin-bottom:11px}.cla-stage-heading h1,.cla-centered h1,.cla-success-screen h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(35px,5vw,58px);letter-spacing:-.035em;line-height:1.08;margin:0}.cla-stage-heading p,.cla-centered p,.cla-success-screen>p{color:var(--cla-muted);font-size:17px;line-height:1.6;margin:14px 0 0}.cla-search{height:58px;max-width:620px;background:#fff;border:1px solid var(--cla-line);border-radius:16px;display:flex;align-items:center;padding:0 18px;gap:12px;box-shadow:0 10px 30px rgba(33,31,28,.035)}.cla-search span{position:absolute;width:1px;height:1px;overflow:hidden}.cla-search input{flex:1;border:0;outline:0;background:transparent;font-size:16px;min-width:0}.cla-search i{font-style:normal;font-size:24px;color:var(--cla-muted)}.cla-category-rail{display:flex;gap:8px;margin:20px 0 28px;overflow:auto;padding-bottom:4px;scrollbar-width:none}.cla-category-rail::-webkit-scrollbar{display:none}.cla-category-rail button{border:1px solid var(--cla-line);background:transparent;color:var(--cla-muted);border-radius:999px;padding:10px 16px;white-space:nowrap;cursor:pointer;font-weight:650}.cla-category-rail button.is-active{background:var(--cla-green);border-color:var(--cla-green);color:#fff}.cla-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cla-service-card{min-height:174px;display:grid;grid-template-columns:48px 1fr;grid-template-rows:1fr auto;gap:10px 14px;text-align:left;padding:22px;border:1px solid var(--cla-line);border-radius:20px;background:rgba(255,255,255,.66);color:var(--cla-ink);cursor:pointer;transition:.2s ease}.cla-service-card:hover,.cla-service-card.is-selected{transform:translateY(-2px);background:#fff;border-color:#cbb9a4;box-shadow:0 18px 40px rgba(33,31,28,.08)}.cla-service-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#eee8df;color:var(--cla-gold);font-family:Georgia,serif;font-size:25px}.cla-service-copy{min-width:0}.cla-service-copy small{display:block;color:var(--cla-gold);font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;margin:2px 0 7px}.cla-service-copy strong{display:block;font-family:Georgia,serif;font-size:20px;line-height:1.18;font-weight:500}.cla-service-copy em{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--cla-muted);font-style:normal;font-size:13px;line-height:1.45;margin-top:8px}.cla-service-meta{grid-column:2;display:flex;align-items:center;justify-content:space-between;color:var(--cla-muted);font-size:12px}.cla-service-meta b{font-weight:650}.cla-service-meta i{font-style:normal;font-size:20px;color:var(--cla-green)}.cla-selection-drawer{position:fixed;right:24px;bottom:24px;top:112px;width:min(430px,calc(100% - 48px));background:#fff;border:1px solid var(--cla-line);border-radius:26px;padding:30px;box-shadow:var(--cla-shadow);z-index:30;overflow:auto;animation:claSlide .22s ease}.cla-drawer-close,.cla-modal-close{position:absolute;right:18px;top:16px;width:38px;height:38px;border:0;border-radius:50%;background:var(--cla-warm);font-size:23px;cursor:pointer}.cla-selection-drawer h2,.cla-modal h2{font-family:Georgia,serif;font-size:31px;line-height:1.14;font-weight:500;margin:0 32px 12px 0}.cla-selection-drawer p,.cla-modal p{color:var(--cla-muted);line-height:1.55}.cla-facts{display:grid;grid-template-columns:1fr 1fr;margin:24px 0;border:1px solid var(--cla-line);border-radius:16px}.cla-facts span{padding:16px}.cla-facts span+span{border-left:1px solid var(--cla-line)}.cla-facts small,.cla-sticky-summary small{display:block;color:var(--cla-muted);font-size:11px}.cla-facts strong{font-size:15px}.cla-zone-fieldset{border:0;padding:0;margin:24px 0}.cla-zone-fieldset legend{font-weight:750;margin-bottom:12px}.cla-zone-grid{display:flex;flex-wrap:wrap;gap:8px}.cla-zone-grid input{position:absolute;opacity:0}.cla-zone-grid span{display:block;border:1px solid var(--cla-line);border-radius:999px;padding:9px 12px;font-size:13px;cursor:pointer}.cla-zone-grid input:checked+span{background:#dfe8e2;color:var(--cla-green);border-color:#9eb5a7;font-weight:700}.cla-zone-fieldset>small{display:block;color:var(--cla-muted);line-height:1.45;margin-top:11px}.cla-note,.cla-policy{background:#faf4f6;border:1px solid #eadde2;color:#654e57;padding:15px;border-radius:13px;line-height:1.5;font-size:13px;margin:18px 0}.cla-primary,.cla-secondary{min-height:52px;border-radius:14px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:16px;text-decoration:none;font-weight:750;cursor:pointer}.cla-primary{border:1px solid var(--cla-green);background:var(--cla-green);color:#fff}.cla-primary:hover{background:#192820}.cla-primary:disabled{opacity:.45;cursor:not-allowed}.cla-secondary{border:1px solid var(--cla-line);background:#fff;color:var(--cla-green)}.cla-selection-drawer>.cla-primary{width:100%;margin-top:10px}.cla-section-title{display:flex;align-items:end;justify-content:space-between;margin:0 0 14px}.cla-section-title h2{font-family:Georgia,serif;font-size:27px;font-weight:500;margin:0}.cla-section-title span{color:var(--cla-muted);font-size:12px}.cla-recommended-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cla-slot{position:relative;min-height:122px;padding:20px;text-align:left;border:1px solid var(--cla-line);background:#fff;border-radius:18px;cursor:pointer;color:var(--cla-ink);transition:.18s ease}.cla-slot:hover,.cla-slot.is-selected{border-color:var(--cla-green);box-shadow:0 12px 30px rgba(36,55,47,.10)}.cla-slot>span{display:block;color:var(--cla-muted);font-size:12px;text-transform:capitalize}.cla-slot>strong{display:block;font-family:Georgia,serif;font-size:28px;margin:6px 0 10px}.cla-slot>em{display:flex;align-items:center;gap:7px;font-style:normal;font-size:12px}.cla-slot>em i{width:8px;height:8px;background:var(--staff,var(--cla-green));border-radius:50%}.cla-slot-badge{position:absolute;right:12px;top:12px;background:#edf4ef;color:var(--cla-green);border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.cla-all-slots{margin-top:40px}.cla-date-rail{display:flex;gap:8px;overflow:auto;padding-bottom:8px;scrollbar-width:none}.cla-date-rail button{min-height:46px;border:1px solid var(--cla-line);background:transparent;border-radius:13px;padding:0 14px;white-space:nowrap;cursor:pointer;color:var(--cla-muted);text-transform:capitalize}.cla-date-rail button.is-active{background:var(--cla-green);border-color:var(--cla-green);color:#fff}.cla-time-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:10px}.cla-time-grid .cla-slot{min-height:105px;padding:15px}.cla-time-grid .cla-slot>strong{font-size:23px}.cla-inline-help{margin:30px 0 0;padding:22px;border:1px dashed #cbb9a4;border-radius:18px;display:flex;justify-content:space-between;align-items:center}.cla-inline-help strong,.cla-inline-help span{display:block}.cla-inline-help span{color:var(--cla-muted);font-size:13px;margin-top:4px}.cla-inline-help button{border:0;background:none;color:var(--cla-green);font-weight:750;cursor:pointer;text-decoration:underline}.cla-sticky-summary{position:sticky;bottom:16px;margin-top:28px;background:rgba(255,255,255,.94);border:1px solid var(--cla-line);box-shadow:0 18px 45px rgba(33,31,28,.11);backdrop-filter:blur(18px);border-radius:20px;padding:14px 14px 14px 22px;display:flex;align-items:center;justify-content:space-between;z-index:15}.cla-sticky-summary strong,.cla-sticky-summary span{display:block}.cla-sticky-summary span{color:var(--cla-muted);font-size:12px;margin-top:3px}.cla-empty{grid-column:1/-1;padding:60px 20px;text-align:center;border:1px dashed var(--cla-line);border-radius:20px}.cla-empty h1,.cla-empty h2{font-family:Georgia,serif;font-weight:500}.cla-empty p{color:var(--cla-muted)}.cla-no-slots>span{font-size:42px;color:var(--cla-gold)}.cla-no-slots>div{display:flex;justify-content:center;gap:10px;margin-top:20px}.cla-form-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:28px;align-items:start}.cla-client-form,.cla-mini-summary,.cla-review-card{background:#fff;border:1px solid var(--cla-line);border-radius:24px;padding:clamp(22px,4vw,38px);box-shadow:0 18px 50px rgba(33,31,28,.055)}.cla-client-form{display:grid;gap:18px}.cla-client-form label:not(.cla-check),.cla-modal form label{display:grid;gap:7px}.cla-client-form label>span,.cla-modal form label>span{font-size:13px;font-weight:750}.cla-client-form label em{font-style:normal;font-weight:400;color:var(--cla-muted)}.cla-client-form input,.cla-client-form textarea,.cla-modal input,.cla-modal textarea,.cla-modal select{width:100%;border:1px solid var(--cla-line);border-radius:13px;padding:14px;background:#fff;outline:0;color:var(--cla-ink)}.cla-client-form input:focus,.cla-client-form textarea:focus,.cla-modal input:focus,.cla-modal textarea:focus,.cla-modal select:focus{border-color:var(--cla-green);box-shadow:0 0 0 3px rgba(36,55,47,.10)}.cla-client-form label small{color:var(--cla-muted);font-size:11px}.cla-phone{display:flex;border:1px solid var(--cla-line);border-radius:13px;overflow:hidden;background:#fff}.cla-phone:focus-within{border-color:var(--cla-green);box-shadow:0 0 0 3px rgba(36,55,47,.10)}.cla-phone b{display:flex;align-items:center;padding:0 13px;background:var(--cla-warm);border-right:1px solid var(--cla-line);font-size:13px}.cla-phone input{border:0!important;box-shadow:none!important;border-radius:0!important}.cla-check{display:flex;align-items:flex-start;gap:11px;color:var(--cla-muted);font-size:12px;line-height:1.45}.cla-check input{width:19px;height:19px;margin-top:1px}.cla-client-form>.cla-primary{width:100%}.cla-mini-summary{position:sticky;top:116px}.cla-mini-summary h2{font-family:Georgia,serif;font-size:25px;font-weight:500;margin:0}.cla-mini-summary>p{color:var(--cla-muted);line-height:1.5}.cla-mini-summary dl{margin:24px 0 0}.cla-mini-summary dl div{display:flex;justify-content:space-between;border-top:1px solid var(--cla-line);padding:13px 0}.cla-mini-summary dt{color:var(--cla-muted)}.cla-mini-summary dd{margin:0;font-weight:700}.cla-review-card{max-width:760px;margin:0 auto}.cla-review-hero{display:flex;align-items:center;gap:16px;padding-bottom:22px;border-bottom:1px solid var(--cla-line)}.cla-review-hero small{font-size:10px;color:var(--cla-gold);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.cla-review-hero h2{font-family:Georgia,serif;font-size:29px;font-weight:500;margin:4px 0}.cla-review-hero p{margin:5px 0 0;color:var(--cla-muted)}.cla-review-card dl{display:grid;grid-template-columns:repeat(2,1fr);margin:0}.cla-review-card dl>div{padding:20px;border-bottom:1px solid var(--cla-line)}.cla-review-card dl>div:nth-child(odd){border-right:1px solid var(--cla-line);padding-left:0}.cla-review-card dt{font-size:11px;color:var(--cla-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:750}.cla-review-card dd{font-size:15px;margin:7px 0 0;line-height:1.45}.cla-review-card .cla-policy{margin:24px 0}.cla-policy strong,.cla-policy p{display:block;margin:0}.cla-policy p{margin-top:5px}.cla-confirm{width:100%}.cla-microcopy{text-align:center;color:var(--cla-muted);font-size:10px;line-height:1.5}.cla-success-screen{max-width:650px;margin:20px auto;text-align:center}.cla-success-mark{width:68px;height:68px;background:#dfe8e2;color:var(--cla-green);border-radius:50%;display:grid;place-items:center;font-size:30px;margin:0 auto 20px}.cla-confirmation-ticket{background:#fff;border:1px solid var(--cla-line);border-radius:24px;padding:30px;margin:30px auto;box-shadow:var(--cla-shadow);display:grid;gap:8px}.cla-confirmation-ticket small{color:var(--cla-gold);font-weight:800;letter-spacing:.12em}.cla-confirmation-ticket h2{font-family:Georgia,serif;font-size:28px;font-weight:500;margin:8px 0}.cla-confirmation-ticket strong{font-size:18px}.cla-confirmation-ticket span{color:var(--cla-muted)}.cla-success-actions{display:flex;gap:10px;justify-content:center;margin-bottom:16px}.cla-modal-backdrop{position:fixed;inset:0;background:rgba(20,24,22,.48);backdrop-filter:blur(7px);z-index:100;display:grid;place-items:center;padding:20px}.cla-modal{position:relative;background:#fff;border-radius:24px;padding:32px;width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 35px 100px rgba(0,0,0,.22);animation:claUp .22s ease}.cla-modal form{display:grid;gap:14px;margin-top:22px}.cla-modal form .cla-primary{width:100%;margin-top:4px}.cla-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cla-gift-modal{width:min(860px,100%);display:grid;grid-template-columns:1fr 1fr;gap:30px}.cla-gift-modal>form,.cla-gift-modal>h2,.cla-gift-modal>p,.cla-gift-modal>.cla-eyebrow{grid-column:2}.cla-gift-preview{grid-column:1;grid-row:1/6;min-height:380px;border-radius:22px;background:linear-gradient(140deg,#283b33,#17251f);color:#f8f3e9;padding:32px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}.cla-gift-preview small{letter-spacing:.18em}.cla-gift-preview strong{font-family:Georgia,serif;font-size:44px;font-weight:400}.cla-gift-preview span{color:#d7be95}.cla-modal-success{text-align:center}.cla-error{background:#fff1ef;border:1px solid #f2ccc7;color:var(--cla-danger);border-radius:12px;padding:13px;line-height:1.45}.cla-centered{display:grid;place-items:center;text-align:center;min-height:420px}.cla-spinner{width:40px;height:40px;border:2px solid var(--cla-line);border-top-color:var(--cla-green);border-radius:50%;animation:claSpin .8s linear infinite}.cla-public-footer{display:flex;justify-content:space-between;gap:20px;padding:24px clamp(20px,4vw,68px);border-top:1px solid var(--cla-line);color:var(--cla-muted);font-size:11px}.cla-public-footer a{color:inherit}.cla-loading{min-height:100vh;display:grid;place-items:center;align-content:center;gap:12px}.cla-loading span{font-family:Georgia,serif;font-size:30px}.cla-loading p{color:var(--cla-muted)}
@keyframes claSpin{to{transform:rotate(360deg)}}@keyframes claSlide{from{opacity:0;transform:translateX(20px)}}@keyframes claUp{from{opacity:0;transform:translateY(14px)}}
@media(max-width:900px){.cla-service-grid{grid-template-columns:repeat(2,1fr)}.cla-time-grid{grid-template-columns:repeat(4,1fr)}.cla-gift-modal{grid-template-columns:1fr}.cla-gift-modal>form,.cla-gift-modal>h2,.cla-gift-modal>p,.cla-gift-modal>.cla-eyebrow{grid-column:1}.cla-gift-preview{grid-column:1;grid-row:auto;min-height:230px}.cla-form-layout{grid-template-columns:1fr}.cla-mini-summary{position:static;order:-1}.cla-recommended-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.cla-public-header{height:70px;padding:0 16px}.cla-monogram{width:40px;height:40px}.cla-brand strong{font-size:17px}.cla-brand small{display:none}.cla-header-actions{gap:12px}.cla-help{display:none}.cla-link-button{font-size:13px}.cla-stepper{width:calc(100% - 28px);margin-top:20px}.cla-stepper:before{left:10%;right:10%;top:15px}.cla-stepper span{width:30px;height:30px}.cla-stepper em{font-size:9px}.cla-booking-stage{width:calc(100% - 28px);margin:30px auto 98px}.cla-stage-heading{margin-bottom:22px}.cla-stage-heading.with-back{gap:11px}.cla-stage-heading.with-back>button{width:40px;height:40px}.cla-stage-heading h1,.cla-centered h1,.cla-success-screen h1{font-size:36px}.cla-stage-heading p{font-size:15px}.cla-service-grid{grid-template-columns:1fr;gap:10px}.cla-service-card{min-height:126px;padding:17px;grid-template-columns:42px 1fr}.cla-service-icon{width:42px;height:42px}.cla-service-copy strong{font-size:19px}.cla-service-copy em{-webkit-line-clamp:1}.cla-selection-drawer{inset:auto 0 0;width:100%;max-height:86vh;border-radius:24px 24px 0 0;padding:26px 20px calc(20px + env(safe-area-inset-bottom));animation:claUp .22s ease}.cla-recommended-grid{display:flex;overflow:auto;margin:0 -14px;padding:0 14px 8px;scroll-snap-type:x mandatory}.cla-recommended-grid .cla-slot{min-width:78vw;scroll-snap-align:start}.cla-section-title{align-items:start;flex-direction:column;gap:4px}.cla-all-slots{margin-top:30px}.cla-time-grid{grid-template-columns:repeat(2,1fr)}.cla-inline-help{align-items:flex-start;flex-direction:column;gap:15px}.cla-sticky-summary{bottom:10px;padding:12px 12px 12px 16px;gap:10px}.cla-sticky-summary strong{font-size:13px}.cla-sticky-summary .cla-primary{min-height:48px;padding:0 15px}.cla-client-form,.cla-mini-summary,.cla-review-card{border-radius:20px;padding:20px}.cla-mini-summary{display:none}.cla-review-card dl{grid-template-columns:1fr 1fr}.cla-review-card dl>div{padding:16px 10px}.cla-review-card dl>div:nth-child(odd){padding-left:0}.cla-no-slots>div,.cla-success-actions{flex-direction:column}.cla-success-actions>*{width:100%}.cla-modal-backdrop{align-items:end;padding:0}.cla-modal{width:100%;max-height:92vh;border-radius:24px 24px 0 0;padding:28px 18px calc(24px + env(safe-area-inset-bottom))}.cla-gift-preview{min-height:185px;padding:22px}.cla-gift-preview strong{font-size:34px}.cla-two{grid-template-columns:1fr}.cla-public-footer{padding:20px 16px;flex-direction:column;gap:7px}.cla-confirmation-ticket{padding:22px}}
@media(prefers-reduced-motion:reduce){.cla-booking-root,.cla-booking-root *,.cla-booking-root *:before,.cla-booking-root *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:640px){.cla-selection-drawer{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}
.cla-booking-page.cla-has-overlay{overflow:hidden}.cla-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.cla-booking-root :where(button,a){touch-action:manipulation}.cla-booking-root :where(button,a,input,select,textarea):focus-visible{outline:3px solid var(--cla-gold-text);outline-offset:3px}.cla-search:focus-within{border-color:var(--cla-green);box-shadow:0 0 0 3px rgba(36,55,47,.12)}.cla-zone-grid input:focus-visible+span{outline:3px solid var(--cla-gold-text);outline-offset:2px}.cla-brand,.cla-help,.cla-link-button,.cla-category-rail button,.cla-inline-help button{min-height:44px}.cla-help,.cla-inline-help button{display:inline-flex;align-items:center}.cla-stage-heading.with-back>button,.cla-drawer-close,.cla-modal-close{min-width:44px;min-height:44px}.cla-zone-grid span{min-height:44px;display:flex;align-items:center}.cla-selection-drawer,.cla-modal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.cla-stepper button{color:#746e67}.cla-eyebrow,.cla-service-copy small,.cla-review-hero small,.cla-confirmation-ticket small{color:var(--cla-gold-text)}.cla-slot-badge{font-size:10px}.cla-microcopy{font-size:11px}.cla-modal[tabindex="-1"]:focus,.cla-stage-heading h1[tabindex="-1"]:focus,.cla-success-screen h1[tabindex="-1"]:focus,.cla-empty h1[tabindex="-1"]:focus,.cla-empty h2[tabindex="-1"]:focus,.cla-selection-drawer h2[tabindex="-1"]:focus{outline:none}
@media(max-width:640px){.cla-stepper em{font-size:10px}.cla-stage-heading.with-back>button{width:44px;height:44px}.cla-modal-close,.cla-drawer-close{right:14px;top:12px}}
.cla-form-error{margin:0;outline:none}
.cla-js-required{display:grid;place-items:center;padding:20px}.cla-js-required .cla-empty{width:min(620px,100%);background:#fff}.cla-js-required .cla-secondary{margin-top:12px}
body.cla-booking-page{margin:0;background:var(--cla-warm,#f7f4ef)}.admin-bar .cla-public-header{top:32px}.admin-bar .cla-selection-drawer{top:144px}@media(max-width:782px){.admin-bar .cla-public-header{top:46px}}@media(max-width:640px){.admin-bar .cla-selection-drawer{top:auto}}
@supports(height:100dvh){.cla-booking-root,.cla-public-shell{min-height:100dvh}.cla-modal{max-height:calc(100dvh - 40px)}@media(max-width:640px){.cla-selection-drawer{max-height:86dvh}.cla-modal{max-height:92dvh}}}
.cla-check a{color:var(--cla-green);font-weight:700}.cla-modal .cla-check{display:flex}.cla-modal .cla-check input{width:19px;flex:0 0 auto}.cla-modal .cla-check span{font-weight:400}

/*
 * CLA visual system · 0.2.4
 *
 * A quieter, editorial layer over the original component styles. The rules are
 * intentionally kept at the end of the file so upgrades from 0.2.2 preserve
 * every interaction while the public experience receives the new art direction.
 */
:root {
	--cla-ink: #17231e;
	--cla-muted: #68716c;
	--cla-line: #dedfd9;
	--cla-line-strong: #c9cdc5;
	--cla-warm: #f4f2ed;
	--cla-paper: #fbfaf7;
	--cla-white: #ffffff;
	--cla-green: #18382d;
	--cla-green-soft: #e7eee9;
	--cla-gold: #b18a55;
	--cla-gold-text: #806039;
	--cla-berry: #785e6c;
	--cla-danger: #923f37;
	--cla-display: "Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;
	--cla-body: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--cla-shadow: 0 24px 70px rgba(23, 35, 30, .10);
	--cla-shadow-soft: 0 12px 34px rgba(23, 35, 30, .055);
}

body.cla-booking-page {
	background: var(--cla-warm);
}

.cla-booking-root {
	position: relative;
	isolation: isolate;
	overflow-x: clip;
	background:
		radial-gradient(circle at 92% 0%, rgba(177, 138, 85, .08), transparent 25rem),
		linear-gradient(180deg, #f8f6f2 0, var(--cla-warm) 28rem);
	font-family: var(--cla-body);
	font-size: 16px;
	line-height: 1.5;
	font-feature-settings: "kern" 1, "liga" 1;
}

.cla-booking-root *,
.cla-booking-root *::before,
.cla-booking-root *::after {
	box-sizing: border-box;
}

.cla-public-header {
	height: auto;
	min-height: 78px;
	padding-block: 10px;
	padding-left: max(clamp(24px, 5vw, 76px), env(safe-area-inset-left));
	padding-right: max(clamp(24px, 5vw, 76px), env(safe-area-inset-right));
	border-color: rgba(23, 35, 30, .075);
	background: rgba(248, 246, 242, .82);
	backdrop-filter: blur(22px) saturate(130%);
	-webkit-backdrop-filter: blur(22px) saturate(130%);
}

.cla-brand {
	gap: 12px;
}

.cla-monogram {
	width: 40px;
	height: 40px;
	border-color: rgba(128, 96, 57, .72);
	background: rgba(255, 255, 255, .42);
	font-family: Iowan Old Style, Baskerville, "Times New Roman", serif;
	font-size: 12px;
	letter-spacing: .14em;
}

.cla-brand strong {
	font-family: var(--cla-display);
	font-size: 16px;
	font-weight: 620;
	letter-spacing: -.02em;
}

.cla-brand small {
	margin-top: 0;
	font-size: 10px;
	letter-spacing: .075em;
	text-transform: uppercase;
}

.cla-header-actions {
	gap: 10px;
}

.cla-help,
.cla-link-button {
	min-height: 44px;
	padding: 0 4px;
	border-bottom: 0;
	font-size: 13px;
	font-weight: 650;
	letter-spacing: -.01em;
}

.cla-help {
	gap: 6px;
	padding: 0 15px;
	border: 1px solid var(--cla-line-strong);
	border-radius: 999px;
	background: rgba(255, 255, 255, .5);
}

.cla-link-button:hover,
.cla-help:hover {
	color: var(--cla-gold-text);
}

.cla-stepper {
	width: min(720px, calc(100% - 48px));
	margin-top: 32px;
	gap: 8px;
}

.cla-stepper::before {
	display: none;
}

.cla-stepper button {
	align-items: flex-start;
	gap: 3px;
	padding: 11px 0 0;
	border-top: 2px solid var(--cla-line);
	color: #68716c;
	text-align: left;
	transition: border-color .18s ease, color .18s ease;
}

.cla-stepper button.is-current,
.cla-stepper button.is-done {
	border-color: var(--cla-green);
}

.cla-stepper span,
.cla-stepper .is-current span,
.cla-stepper .is-done span {
	display: block;
	width: auto;
	height: auto;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: currentColor;
	font-size: 10px;
	font-weight: 750;
	line-height: 1.25;
}

.cla-stepper em {
	font-size: 10px;
	font-weight: 650;
	letter-spacing: .09em;
}

.cla-booking-stage {
	width: min(1160px, calc(100% - 56px));
	margin: clamp(54px, 7vw, 84px) auto 100px;
}

.cla-stage-heading {
	max-width: 740px;
	margin-bottom: 36px;
}

.cla-stage-heading.with-back {
	max-width: 820px;
	gap: 20px;
}

.cla-stage-heading.with-back > button {
	width: 44px;
	height: 44px;
	border-color: var(--cla-line-strong);
	background: rgba(255, 255, 255, .54);
	font-size: 19px;
	transition: background .18s ease, transform .18s ease;
}

.cla-stage-heading.with-back > button:hover {
	background: #fff;
	transform: translateX(-2px);
}

.cla-eyebrow {
	margin-bottom: 14px;
	font-size: 10px;
	font-weight: 750;
	letter-spacing: .22em;
}

.cla-stage-heading h1,
.cla-centered h1,
.cla-success-screen h1 {
	max-width: 760px;
	font-family: var(--cla-display);
	font-size: clamp(42px, 5.2vw, 68px);
	font-weight: 520;
	letter-spacing: -.055em;
	line-height: .98;
}

.cla-stage-heading p,
.cla-centered p,
.cla-success-screen > p {
	max-width: 610px;
	margin-top: 18px;
	color: var(--cla-muted);
	font-size: 16px;
	line-height: 1.7;
}

.cla-search {
	height: 62px;
	max-width: 700px;
	padding: 0 20px;
	border-color: rgba(23, 35, 30, .13);
	border-radius: 18px;
	background: rgba(255, 255, 255, .82);
	box-shadow: var(--cla-shadow-soft);
}

.cla-search input {
	font-size: 16px;
	letter-spacing: -.01em;
}

.cla-search input::placeholder {
	color: #68716c;
}

.cla-booking-root input::placeholder,
.cla-booking-root textarea::placeholder {
	color: #68716c;
	opacity: 1;
}

.cla-search i {
	font-family: var(--cla-display);
	font-size: 20px;
}

.cla-category-rail {
	gap: 7px;
	margin: 22px 0 38px;
	padding-bottom: 3px;
}

.cla-category-rail button {
	min-height: 42px;
	padding: 0 17px;
	border-color: transparent;
	background: rgba(231, 232, 227, .75);
	color: #606863;
	font-size: 13px;
	font-weight: 620;
	transition: color .18s ease, background .18s ease, transform .18s ease;
}

.cla-category-rail button:hover {
	background: #e1e4de;
	color: var(--cla-ink);
}

.cla-category-rail button.is-active {
	background: var(--cla-green);
	box-shadow: 0 8px 18px rgba(24, 56, 45, .15);
}

.cla-service-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.cla-service-card {
	min-height: 160px;
	grid-template-columns: 42px minmax(0, 1fr);
	grid-template-rows: 1fr auto;
	gap: 13px 17px;
	padding: 25px;
	border-color: rgba(23, 35, 30, .105);
	border-radius: 22px;
	background: rgba(255, 255, 255, .66);
	box-shadow: 0 1px 0 rgba(255, 255, 255, .7);
	transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.cla-service-card:hover,
.cla-service-card.is-selected {
	transform: translateY(-3px);
	border-color: rgba(128, 96, 57, .34);
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 18px 42px rgba(23, 35, 30, .08);
}

.cla-service-icon {
	width: 42px;
	height: 42px;
	background: var(--cla-green-soft);
	color: var(--cla-gold-text);
	font-family: Iowan Old Style, Baskerville, "Times New Roman", serif;
	font-size: 20px;
}

.cla-service-copy small {
	margin: 1px 0 8px;
	font-size: 9px;
	font-weight: 750;
	letter-spacing: .18em;
}

.cla-service-copy strong {
	font-family: var(--cla-display);
	font-size: 18px;
	font-weight: 620;
	letter-spacing: -.025em;
	line-height: 1.22;
}

.cla-service-copy em {
	margin-top: 9px;
	font-size: 13px;
	line-height: 1.55;
}

.cla-service-meta {
	color: #59625d;
	font-size: 11px;
}

.cla-service-meta b {
	font-weight: 650;
	letter-spacing: .01em;
}

.cla-service-meta i {
	width: 30px;
	height: 30px;
	display: grid;
	place-items: center;
	border: 1px solid var(--cla-line);
	border-radius: 50%;
	font-size: 16px;
}

.cla-selection-drawer {
	top: 98px;
	right: 28px;
	bottom: 28px;
	width: min(470px, calc(100% - 56px));
	padding: 38px;
	border-color: rgba(23, 35, 30, .12);
	border-radius: 28px;
	box-shadow: 0 36px 100px rgba(23, 35, 30, .18);
}

.cla-drawer-backdrop {
	position: fixed;
	inset: 0;
	z-index: 29;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: rgba(19, 29, 25, .32);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	cursor: default;
}

.cla-drawer-close,
.cla-modal-close {
	right: 20px;
	top: 18px;
	background: #f0f1ed;
	color: var(--cla-green);
}

.cla-selection-drawer h2,
.cla-modal h2 {
	font-family: var(--cla-display);
	font-size: 30px;
	font-weight: 560;
	letter-spacing: -.04em;
	line-height: 1.1;
}

.cla-selection-drawer p,
.cla-modal p {
	font-size: 14px;
	line-height: 1.7;
}

.cla-facts {
	margin: 28px 0;
	border-color: var(--cla-line);
	border-radius: 18px;
	background: var(--cla-paper);
}

.cla-facts span {
	padding: 18px;
}

.cla-facts small,
.cla-sticky-summary small {
	font-size: 10px;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.cla-primary,
.cla-secondary {
	min-height: 54px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 680;
	transition: background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.cla-primary:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 25px rgba(24, 56, 45, .17);
}

.cla-secondary:hover {
	border-color: var(--cla-green);
}

.cla-section-title {
	margin-bottom: 18px;
}

.cla-section-title h2,
.cla-mini-summary h2,
.cla-review-hero h2,
.cla-confirmation-ticket h2 {
	font-family: var(--cla-display);
	font-weight: 580;
	letter-spacing: -.035em;
}

.cla-section-title h2 {
	font-size: 25px;
}

.cla-recommended-grid {
	gap: 14px;
}

.cla-slot {
	min-height: 124px;
	padding: 21px;
	border-color: rgba(23, 35, 30, .12);
	border-radius: 20px;
	background: rgba(255, 255, 255, .78);
}

.cla-slot:hover,
.cla-slot.is-selected {
	transform: translateY(-2px);
	border-color: var(--cla-green);
	box-shadow: var(--cla-shadow-soft);
}

.cla-slot > strong {
	font-family: var(--cla-display);
	font-size: 27px;
	font-weight: 560;
	letter-spacing: -.04em;
}

.cla-date-rail {
	gap: 7px;
}

.cla-date-rail button {
	min-height: 44px;
	border-color: transparent;
	border-radius: 999px;
	background: rgba(231, 232, 227, .75);
	font-size: 13px;
}

.cla-inline-help {
	margin-top: 38px;
	padding: 24px 26px;
	border: 1px solid rgba(128, 96, 57, .25);
	border-radius: 20px;
	background: rgba(255, 255, 255, .42);
}

.cla-sticky-summary {
	bottom: 20px;
	padding: 15px 15px 15px 24px;
	border-color: rgba(23, 35, 30, .12);
	border-radius: 24px;
	box-shadow: 0 24px 64px rgba(23, 35, 30, .15);
}

.cla-client-form,
.cla-mini-summary,
.cla-review-card,
.cla-confirmation-ticket {
	border-color: rgba(23, 35, 30, .105);
	border-radius: 26px;
	box-shadow: var(--cla-shadow-soft);
}

.cla-client-form {
	gap: 21px;
}

.cla-client-form input,
.cla-client-form textarea,
.cla-modal input,
.cla-modal textarea,
.cla-modal select {
	border-radius: 14px;
	background: var(--cla-paper);
}

.cla-phone {
	border-radius: 14px;
}

.cla-note,
.cla-policy {
	border-color: rgba(120, 94, 108, .17);
	border-radius: 15px;
	background: #f7f2f4;
}

.cla-modal-backdrop {
	background: rgba(19, 29, 25, .54);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.cla-modal {
	padding: 38px;
	border: 1px solid rgba(255, 255, 255, .7);
	border-radius: 28px;
	box-shadow: 0 38px 110px rgba(8, 19, 14, .28);
}

.cla-gift-preview {
	background:
		radial-gradient(circle at 85% 12%, rgba(209, 180, 132, .2), transparent 14rem),
		linear-gradient(145deg, #234337, #13271f);
}

.cla-public-footer {
	padding: 28px max(clamp(24px, 5vw, 76px), env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(clamp(24px, 5vw, 76px), env(safe-area-inset-left));
	border-color: rgba(23, 35, 30, .08);
	font-size: 10px;
	letter-spacing: .035em;
}

@media (max-width: 900px) {
	.cla-booking-stage {
		width: min(100% - 48px, 760px);
	}

	.cla-service-card {
		min-height: 146px;
	}
}

@media (max-width: 640px) {
	.cla-booking-root {
		background:
			radial-gradient(circle at 110% 0%, rgba(177, 138, 85, .09), transparent 21rem),
			linear-gradient(180deg, #f8f6f2 0, var(--cla-warm) 23rem);
	}

	.cla-public-header {
		height: auto;
		min-height: 72px;
		padding: max(10px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) 10px max(20px, env(safe-area-inset-left));
	}

	.cla-brand {
		gap: 9px;
	}

	.cla-monogram {
		width: 36px;
		height: 36px;
		font-size: 10px;
	}

	.cla-brand strong {
		font-size: 14px;
	}

	.cla-brand small {
		display: none;
	}

	.cla-header-actions {
		gap: 5px;
	}

	.cla-help,
	.cla-link-button {
		display: inline-flex;
		min-height: 44px;
		padding: 0 7px;
		font-size: 12px;
	}

	.cla-help {
		width: 44px;
		padding: 0;
		justify-content: center;
	}

	.cla-help-label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.cla-stepper {
		width: calc(100% - 40px);
		margin-top: 25px;
		gap: 5px;
	}

	.cla-stepper button {
		min-width: 0;
		min-height: 44px;
		padding-top: 9px;
	}

	.cla-stepper span,
	.cla-stepper .is-current span,
	.cla-stepper .is-done span {
		font-size: 9px;
	}

	.cla-stepper em {
		max-width: 100%;
		overflow: hidden;
		font-size: 10px;
		letter-spacing: .075em;
		text-overflow: ellipsis;
	}

	.cla-booking-stage {
		width: calc(100% - 40px);
		margin: 46px auto 104px;
	}

	.cla-stage-heading {
		margin-bottom: 30px;
	}

	.cla-stage-heading.with-back {
		gap: 13px;
	}

	.cla-stage-heading.with-back > button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.cla-eyebrow {
		margin-bottom: 12px;
		font-size: 10px;
		letter-spacing: .2em;
	}

	.cla-stage-heading h1,
	.cla-centered h1,
	.cla-success-screen h1 {
		font-size: clamp(34px, 10.5vw, 43px);
		line-height: 1.02;
	}

	.cla-stage-heading p,
	.cla-centered p,
	.cla-success-screen > p {
		margin-top: 15px;
		font-size: 14px;
		line-height: 1.65;
	}

	.cla-search {
		height: 58px;
		padding: 0 17px;
		border-radius: 16px;
	}

	.cla-category-rail {
		margin: 18px -20px 32px;
		padding: 0 20px 4px;
		scroll-padding-inline: 20px;
	}

	.cla-category-rail button {
		min-height: 44px;
		padding: 0 15px;
		font-size: 12px;
	}

	.cla-service-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.cla-service-card {
		min-height: 144px;
		grid-template-columns: minmax(0, 1fr);
		gap: 12px 14px;
		padding: 22px;
		border-radius: 20px;
	}

	.cla-service-icon {
		display: none;
	}

	.cla-service-copy strong {
		font-size: 17px;
	}

	.cla-service-copy em {
		-webkit-line-clamp: 2;
		font-size: 12px;
	}

	.cla-service-meta i {
		width: 28px;
		height: 28px;
	}

	.cla-service-meta {
		grid-column: 1;
	}

	.cla-selection-drawer {
		inset: auto 0 0;
		width: 100%;
		max-height: 88dvh;
		padding: 34px 22px calc(24px + env(safe-area-inset-bottom));
		border-radius: 28px 28px 0 0;
	}

	.cla-selection-drawer h2,
	.cla-modal h2 {
		font-size: 28px;
	}

	.cla-facts span {
		padding: 15px;
	}

	.cla-recommended-grid {
		margin-inline: -20px;
		padding-inline: 20px;
	}

	.cla-recommended-grid .cla-slot {
		min-width: 82vw;
	}

	.cla-time-grid {
		gap: 8px;
	}

	.cla-time-grid .cla-slot {
		min-height: 100px;
		padding: 15px;
	}

	.cla-inline-help {
		padding: 21px;
	}

	.cla-sticky-summary {
		bottom: calc(12px + env(safe-area-inset-bottom));
		padding: 12px 12px 12px 17px;
		border-radius: 20px;
	}

	.cla-client-form,
	.cla-mini-summary,
	.cla-review-card,
	.cla-confirmation-ticket {
		padding: 22px;
		border-radius: 22px;
	}

	.cla-mini-summary {
		display: block;
		padding: 19px 20px;
		background: rgba(255, 255, 255, .62);
		box-shadow: none;
	}

	.cla-mini-summary .cla-eyebrow {
		margin-bottom: 7px;
	}

	.cla-mini-summary h2 {
		font-size: 19px;
	}

	.cla-mini-summary > p {
		margin: 5px 0 0;
		font-size: 13px;
	}

	.cla-mini-summary dl {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 12px;
		margin-top: 16px;
	}

	.cla-mini-summary dl div {
		display: grid;
		gap: 3px;
		justify-content: start;
		padding: 11px 0 0;
	}

	.cla-mini-summary dt {
		font-size: 10px;
	}

	.cla-mini-summary dd {
		font-size: 12px;
	}

	.cla-modal {
		padding: 34px 22px calc(26px + env(safe-area-inset-bottom));
		border-radius: 28px 28px 0 0;
	}

	.cla-public-footer {
		padding: 24px max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
	}
}

@media (max-width: 370px) {
	.cla-public-header {
		padding-inline: 15px;
	}

	.cla-header-actions {
		gap: 2px;
	}

	.cla-brand > span:last-child {
		display: none;
	}

	.cla-help,
	.cla-link-button {
		font-size: 11px;
	}

	.cla-stepper,
	.cla-booking-stage {
		width: calc(100% - 30px);
	}

	.cla-category-rail {
		margin-inline: -15px;
		padding-inline: 15px;
		scroll-padding-inline: 15px;
	}

	.cla-recommended-grid {
		margin-inline: -15px;
		padding-inline: 15px;
	}

	.cla-mini-summary dl {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cla-mini-summary dl div:last-child {
		grid-column: 1 / -1;
	}

	.cla-stage-heading h1,
	.cla-centered h1,
	.cla-success-screen h1 {
		font-size: 33px;
	}
}

.cla-public-footer a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

@media (hover: none) {
	.cla-service-card:hover,
	.cla-slot:hover,
	.cla-primary:hover {
		transform: none;
	}
}

.cla-success-mark.is-pending {
	background: var(--cla-paper-soft);
	color: var(--cla-gold-text);
	animation: claPendingPulse 1.8s ease-in-out infinite;
}

@keyframes claPendingPulse {
	50% { transform: scale(.94); opacity: .72; }
}

@media (prefers-reduced-motion: reduce) {
	.cla-success-mark.is-pending { animation: none; }
}

@media (prefers-contrast: more) {
	.cla-booking-root {
		--cla-muted: #4f5752;
		--cla-line: #b9beb7;
	}

	.cla-service-card,
	.cla-search,
	.cla-slot {
		background: #fff;
	}
}

.cla-preview-note {
	margin: 12px 0 0;
	padding: 12px 14px;
	border: 1px solid var(--cla-line);
	border-radius: 12px;
	background: #f7f5f1;
	color: var(--cla-muted);
	font-size: 12px;
	line-height: 1.5;
	text-align: center;
}

/*
 * CLA visual system · 0.2.5 — Atelier
 *
 * The public flow uses an editorial rhythm instead of a stack of UI cards:
 * quieter navigation, typographic hierarchy and generous separators keep the
 * treatment catalogue easy to scan on a phone without making it feel dense.
 */
:root {
	--cla-ink: #18211d;
	--cla-muted: #66706a;
	--cla-line: #dedfd9;
	--cla-line-strong: #c8ccc5;
	--cla-warm: #f7f5f0;
	--cla-paper: #fcfbf8;
	--cla-green: #17382d;
	--cla-green-soft: #e7eee9;
	--cla-gold: #ad8652;
	--cla-gold-text: #7d5d35;
	--cla-editorial: "Bodoni 72", Didot, "Hoefler Text", "Iowan Old Style", "Bodoni MT", Baskerville, Georgia, serif;
	--cla-body: "Avenir Next", Avenir, Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--cla-shadow-soft: 0 18px 50px rgba(24, 33, 29, .055);
}

.cla-booking-root {
	background:
		radial-gradient(circle at 100% -5%, rgba(173, 134, 82, .065), transparent 28rem),
		linear-gradient(180deg, #faf9f6 0, var(--cla-warm) 32rem);
	font-family: var(--cla-body);
	letter-spacing: -.008em;
}

.cla-public-header {
	min-height: 70px;
	padding-block: 9px;
	border-bottom-color: rgba(24, 33, 29, .07);
	background: rgba(250, 249, 246, .9);
	box-shadow: 0 1px 0 rgba(255, 255, 255, .75);
}

.cla-brand {
	gap: 11px;
}

.cla-monogram {
	width: 36px;
	height: 36px;
	border-color: rgba(125, 93, 53, .68);
	background: transparent;
	font-family: var(--cla-editorial);
	font-size: 11px;
}

.cla-brand strong {
	font-family: var(--cla-body);
	font-size: 15px;
	font-weight: 640;
	letter-spacing: -.025em;
}

.cla-brand small {
	font-size: 9px;
	font-weight: 560;
	letter-spacing: .12em;
}

.cla-header-actions {
	gap: 14px;
}

.cla-help,
.cla-link-button {
	padding-inline: 2px;
	background: transparent;
	font-size: 12px;
	font-weight: 620;
}

.cla-help {
	gap: 7px;
	border: 0;
	border-radius: 0;
}

.cla-help > span:last-child {
	display: grid;
	width: 26px;
	height: 26px;
	place-items: center;
	border: 1px solid var(--cla-line-strong);
	border-radius: 50%;
	font-size: 11px;
}

.cla-progress-copy {
	display: none;
}

.cla-stepper {
	width: min(680px, calc(100% - 56px));
	margin-top: 30px;
	gap: 12px;
}

.cla-stepper button {
	min-height: 44px;
	padding-top: 10px;
	border-top-width: 1px;
	color: var(--cla-muted);
}

.cla-stepper button.is-current,
.cla-stepper button.is-done {
	border-color: var(--cla-green);
}

.cla-stepper span,
.cla-stepper .is-current span,
.cla-stepper .is-done span {
	font-size: 10px;
	font-variant-numeric: tabular-nums;
}

.cla-stepper em {
	font-size: 10px;
	letter-spacing: .12em;
}

.cla-booking-stage {
	width: min(1080px, calc(100% - 64px));
	margin-top: clamp(64px, 7vw, 92px);
}

.cla-stage-heading {
	max-width: 680px;
	margin-bottom: 42px;
}

.cla-eyebrow {
	margin-bottom: 16px;
	font-size: 9px;
	font-weight: 720;
	letter-spacing: .235em;
}

.cla-stage-heading h1,
.cla-centered h1,
.cla-success-screen h1 {
	font-family: var(--cla-editorial);
	font-size: clamp(46px, 5.5vw, 70px);
	font-weight: 400;
	letter-spacing: -.045em;
	line-height: .96;
	text-wrap: balance;
}

.cla-stage-heading h1 {
	max-width: 15ch;
}

.cla-centered h1,
.cla-success-screen h1 {
	max-width: 16ch;
	margin-inline: auto;
}

.cla-stage-heading p,
.cla-centered p,
.cla-success-screen > p {
	max-width: 570px;
	margin-top: 20px;
	font-size: 15px;
	line-height: 1.75;
	text-wrap: pretty;
}

.cla-stage-heading.with-back > button {
	border: 0;
	background: transparent;
	font-size: 21px;
}

.cla-stage-heading.with-back > button:hover {
	background: transparent;
}

.cla-search {
	height: 58px;
	max-width: 680px;
	padding-inline: 1px;
	border: 0;
	border-bottom: 1px solid var(--cla-line-strong);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.cla-search:focus-within {
	border-bottom-color: var(--cla-green);
	box-shadow: 0 1px 0 var(--cla-green);
}

.cla-search input {
	font-size: 15px;
}

.cla-search i {
	font-family: var(--cla-body);
	font-size: 17px;
}

.cla-category-rail {
	gap: 28px;
	margin: 19px 0 46px;
	padding: 0;
	overscroll-behavior-inline: contain;
	scroll-snap-type: x proximity;
	-webkit-overflow-scrolling: touch;
}

.cla-category-rail button,
.cla-category-rail button:hover,
.cla-category-rail button.is-active {
	min-height: 44px;
	padding: 0 1px;
	border: 0;
	border-bottom: 1px solid transparent;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--cla-muted);
	font-size: 12px;
	font-weight: 590;
	scroll-snap-align: start;
}

.cla-category-rail button:hover {
	color: var(--cla-ink);
}

.cla-category-rail button.is-active {
	border-bottom-color: var(--cla-gold-text);
	color: var(--cla-ink);
}

.cla-service-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 64px;
}

.cla-service-card,
.cla-service-card:hover,
.cla-service-card.is-selected {
	min-height: 0;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: auto;
	gap: 18px;
	align-items: end;
	padding: 28px 4px 29px;
	border: 0;
	border-top: 1px solid rgba(24, 33, 29, .13);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	transform: none;
}

.cla-service-card:hover,
.cla-service-card.is-selected {
	border-top-color: rgba(125, 93, 53, .52);
	background: linear-gradient(180deg, rgba(255, 255, 255, .42), rgba(255, 255, 255, 0));
}

.cla-service-card:focus-visible {
	outline-offset: 5px;
	background: linear-gradient(180deg, rgba(255, 255, 255, .5), rgba(255, 255, 255, 0));
}

.cla-service-card .cla-service-icon {
	display: none;
}

.cla-service-copy {
	grid-column: 1;
}

.cla-service-copy small {
	margin: 0 0 10px;
	font-size: 8px;
	letter-spacing: .2em;
}

.cla-service-copy strong {
	font-family: var(--cla-editorial);
	font-size: 22px;
	font-weight: 400;
	letter-spacing: -.025em;
	line-height: 1.18;
}

.cla-service-copy em {
	max-width: 44ch;
	margin-top: 9px;
	font-size: 12px;
	line-height: 1.55;
}

.cla-service-meta {
	grid-column: 2;
	gap: 15px;
	align-self: end;
	justify-content: end;
	padding-bottom: 1px;
	white-space: nowrap;
}

.cla-service-meta i {
	width: 32px;
	height: 32px;
	border: 0;
	border-radius: 0;
	font-size: 17px;
}

.cla-primary,
.cla-secondary {
	min-height: 52px;
	padding-inline: 22px;
	font-size: 13px;
	font-weight: 660;
}

.cla-section-title h2,
.cla-selection-drawer h2,
.cla-modal h2,
.cla-mini-summary h2,
.cla-review-hero h2,
.cla-confirmation-ticket h2 {
	font-family: var(--cla-editorial);
	font-weight: 400;
	letter-spacing: -.035em;
}

.cla-section-title h2 {
	font-size: 29px;
}

.cla-slot {
	border-color: rgba(24, 33, 29, .12);
	background: rgba(255, 255, 255, .55);
	box-shadow: none;
}

.cla-slot > strong {
	font-family: var(--cla-editorial);
	font-weight: 400;
}

.cla-inline-help {
	border-style: solid;
	background: transparent;
}

.cla-client-form,
.cla-mini-summary,
.cla-review-card,
.cla-confirmation-ticket {
	box-shadow: none;
}

.cla-selection-drawer,
.cla-modal {
	background: var(--cla-paper);
}

@media (max-width: 900px) {
	.cla-booking-stage {
		width: min(100% - 48px, 760px);
	}

	.cla-service-grid {
		gap-inline: 36px;
	}

	.cla-service-card {
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
	}

	.cla-service-meta {
		grid-column: 1;
		justify-content: space-between;
	}
}

@media (max-width: 640px) {
	.cla-booking-root {
		background:
			radial-gradient(circle at 110% -2%, rgba(173, 134, 82, .075), transparent 19rem),
			linear-gradient(180deg, #faf9f6 0, var(--cla-warm) 25rem);
	}

	.cla-public-header {
		min-height: 64px;
		padding: max(8px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) 8px max(18px, env(safe-area-inset-left));
		background: rgba(250, 249, 246, .97);
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}

	.cla-monogram {
		width: 34px;
		height: 34px;
	}

	.cla-brand strong {
		font-size: 13px;
	}

	.cla-header-actions {
		gap: 9px;
	}

	.cla-help,
	.cla-link-button {
		padding-inline: 3px;
		font-size: 11px;
	}

	.cla-help {
		width: 44px;
		min-width: 44px;
	}

	.cla-help > span:last-child {
		width: 28px;
		height: 28px;
	}

	.cla-stepper {
		width: calc(100% - 36px);
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 6px;
		margin-top: 17px;
	}

	.cla-progress-copy {
		grid-column: 1 / -1;
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		margin: 0 0 2px;
		color: var(--cla-muted);
		font-size: 10px;
		font-weight: 650;
		letter-spacing: .11em;
		text-transform: uppercase;
	}

	.cla-progress-copy strong {
		color: var(--cla-green);
		font-size: 10px;
		font-weight: 720;
		letter-spacing: .13em;
	}

	.cla-stepper button {
		position: relative;
		min-height: 44px;
		padding: 0;
		border: 0;
	}

	.cla-stepper button::before {
		content: "";
		position: absolute;
		inset: 19px 0 auto;
		height: 2px;
		border-radius: 999px;
		background: var(--cla-line);
	}

	.cla-stepper button.is-current::before,
	.cla-stepper button.is-done::before {
		background: var(--cla-green);
	}

	.cla-stepper button span,
	.cla-stepper button em {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.cla-booking-stage {
		width: calc(100% - 36px);
		margin: 31px auto 96px;
	}

	.cla-stage-heading {
		margin-bottom: 32px;
	}

	.cla-eyebrow {
		margin-bottom: 12px;
		font-size: 8px;
		letter-spacing: .23em;
	}

	.cla-stage-heading h1,
	.cla-centered h1,
	.cla-success-screen h1 {
		font-size: clamp(38px, 11.5vw, 46px);
		letter-spacing: -.045em;
		line-height: .98;
	}

	.cla-stage-heading p,
	.cla-centered p,
	.cla-success-screen > p {
		margin-top: 16px;
		font-size: 13px;
		line-height: 1.7;
	}

	.cla-stage-heading.with-back {
		gap: 8px;
	}

	.cla-stage-heading.with-back > button {
		margin-left: -11px;
	}

	.cla-search {
		height: 55px;
		padding-inline: 1px;
	}

	.cla-search input {
		font-size: 16px;
	}

	.cla-category-rail {
		gap: 23px;
		margin: 15px -18px 40px;
		padding-inline: 18px;
		scroll-padding-inline: 18px;
	}

	.cla-category-rail button,
	.cla-category-rail button:hover,
	.cla-category-rail button.is-active {
		padding-inline: 0;
		font-size: 12px;
	}

	.cla-category-rail button:focus-visible {
		outline-offset: -3px;
	}

	.cla-service-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.cla-service-card,
	.cla-service-card:hover,
	.cla-service-card.is-selected {
		grid-template-columns: minmax(0, 1fr);
		gap: 15px;
		align-items: start;
		padding: 27px 0 26px;
		background: transparent;
	}

	.cla-service-copy strong {
		font-size: 22px;
		line-height: 1.18;
	}

	.cla-service-copy em {
		display: -webkit-box;
		-webkit-line-clamp: 2;
		font-size: 12px;
		line-height: 1.55;
	}

	.cla-service-meta {
		grid-column: 1;
		gap: 12px;
		align-self: auto;
		justify-content: space-between;
		padding-bottom: 0;
		width: 100%;
	}

	.cla-service-meta b {
		font-size: 10px;
	}

	.cla-service-meta i {
		width: 28px;
		height: 28px;
	}

	.cla-selection-drawer {
		padding: 42px 22px calc(25px + env(safe-area-inset-bottom));
		border-radius: 24px 24px 0 0;
	}

	.cla-modal {
		padding-top: 42px;
	}

	.cla-selection-drawer::before,
	.cla-modal::before {
		content: "";
		position: absolute;
		top: 11px;
		left: 50%;
		width: 42px;
		height: 4px;
		border-radius: 999px;
		background: var(--cla-line-strong);
		transform: translateX(-50%);
	}

	.cla-selection-drawer h2,
	.cla-modal h2 {
		font-size: 31px;
	}

	.cla-recommended-grid .cla-slot {
		min-width: min(78vw, 330px);
	}

	.cla-client-form,
	.cla-mini-summary,
	.cla-review-card,
	.cla-confirmation-ticket {
		padding: 21px;
		border-radius: 18px;
	}

	.cla-client-form {
		padding-inline: 0;
		border: 0;
		background: transparent;
	}

	.cla-mini-summary {
		padding: 20px 0;
		border-width: 1px 0;
		border-radius: 0;
		background: transparent;
	}
}

@media (max-width: 430px) {
	.cla-brand > span:last-child {
		display: block;
	}

	.cla-review-card dl,
	.cla-mini-summary dl,
	.cla-two {
		grid-template-columns: 1fr;
	}

	.cla-review-card dl > div,
	.cla-review-card dl > div:nth-child(odd) {
		padding-inline: 0;
		border-right: 0;
	}

	.cla-mini-summary dl div:last-child {
		grid-column: auto;
	}

	.cla-sticky-summary > div {
		min-width: 0;
	}

	.cla-sticky-summary strong,
	.cla-sticky-summary span {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}

@media (max-width: 370px) {
	.cla-public-header {
		padding-inline: 15px;
	}

	.cla-stepper,
	.cla-booking-stage {
		width: calc(100% - 30px);
	}

	.cla-brand > span:last-child {
		display: none;
	}

	.cla-category-rail {
		margin-inline: -15px;
		padding-inline: 15px;
		scroll-padding-inline: 15px;
	}

	.cla-stage-heading h1,
	.cla-centered h1,
	.cla-success-screen h1 {
		font-size: 36px;
	}

	.cla-service-copy strong {
		font-size: 19px;
	}

	.cla-service-copy em {
		-webkit-line-clamp: 1;
	}
}

@media (prefers-contrast: more) {
	.cla-service-card,
	.cla-service-card:hover,
	.cla-service-card.is-selected {
		border-top-color: currentColor;
		background: var(--cla-paper);
	}

	.cla-category-rail button.is-active {
		border-bottom-width: 2px;
	}
}

@media (forced-colors: active) {
	.cla-category-rail button.is-active,
	.cla-stepper button.is-current,
	.cla-stepper button.is-done,
	.cla-service-card {
		border-color: CanvasText;
	}
}
