:root{color:#1e2b28;font-synthesis:none;--brand:#153f3a;--brand-light:#2a6259;--cream:#f0dfc5;--paper:#fffdf9;--ink:#1e2b28;--muted:#76817e;--line:#e5ded4;--soft:#edf4f2;--danger:#9a4e4e;background:#f7f3ed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.booking-page{flex-direction:column;min-height:100vh;display:flex}.site-header{border-bottom:1px solid var(--line);z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf9eb;justify-content:space-between;align-items:center;height:84px;padding:0 clamp(22px,5vw,72px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brand-mark{background:var(--brand);width:43px;height:43px;color:var(--cream);border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:21px;display:grid}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.2px;font-family:Georgia,serif;font-size:17px}.brand small{color:var(--muted);margin-top:3px;font-size:9px}.header-location{text-align:right}.header-location span,.header-location strong{display:block}.header-location span{color:var(--muted);font-size:10px}.header-location strong{color:var(--brand);margin-top:3px;font-size:11px}.booking-shell{flex:1;grid-template-columns:330px minmax(0,1fr);gap:34px;width:min(1400px,100%);margin:0 auto;padding:44px clamp(22px,5vw,72px) 58px;display:grid}.booking-sidebar{background:var(--brand);color:#fff;border-radius:25px;align-self:start;min-height:625px;padding:32px 30px;position:sticky;top:118px;box-shadow:0 24px 70px #153f3a29}.eyebrow{letter-spacing:1.4px;color:#81908c;font-size:9px;font-weight:800}.booking-sidebar .eyebrow{color:#a8c0bb}.booking-sidebar h1{margin:14px 0;font-family:Georgia,serif;font-size:34px;font-weight:500;line-height:1.08}.booking-sidebar>p{color:#b9ceca;margin:0;font-size:11px;line-height:1.7}.steps{flex-direction:column;margin:35px 0;display:flex}.step{color:#8fb0aa;grid-template-columns:29px 1fr;align-items:center;gap:11px;padding-bottom:21px;display:grid;position:relative}.step:not(:last-child):after{content:"";background:#ffffff24;width:1px;height:18px;position:absolute;bottom:1px;left:14px}.step>span{border:1px solid #fff3;border-radius:50%;place-items:center;width:29px;height:29px;font-size:9px;display:grid}.step strong{font-size:10px}.step.active,.step.done{color:#fff}.step.active>span{background:var(--cream);color:var(--brand);border-color:var(--cream)}.step.done>span{background:#487b72;border-color:#487b72}.policy-card{border-top:1px solid #ffffff1f;padding-top:22px}.policy-card strong,.policy-card span{display:block}.policy-card strong{color:var(--cream);margin-bottom:7px;font-size:10px}.policy-card span{color:#a9c2bd;font-size:9px;line-height:1.7}.booking-content{min-width:0}.step-panel{background:var(--paper);border:1px solid var(--line);border-radius:24px;min-height:625px;padding:clamp(24px,4vw,42px);box-shadow:0 16px 50px #2b302d0d}.panel-intro{border-bottom:1px solid var(--line);align-items:flex-start;gap:16px;margin-bottom:25px;padding-bottom:25px;display:flex}.panel-intro>span{color:#a4aaa7;padding-top:4px;font-family:Georgia,serif;font-size:14px}.panel-intro h2{margin:0;font-family:Georgia,serif;font-size:29px;font-weight:500}.panel-intro p{color:var(--muted);margin:7px 0 0;font-size:10px;line-height:1.6}.service-groups{flex-direction:column;gap:28px;display:flex}.service-groups section>h3{text-transform:uppercase;letter-spacing:1px;color:#7e8a86;margin:0 0 10px;font-size:10px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.service-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:15px;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;transition:all .16s;display:flex}.service-card:hover,.service-card.selected{background:#f5faf8;border-color:#78a49b;transform:translateY(-1px)}.service-card>div:first-child{min-width:0}.service-card strong,.service-card span{display:block}.service-card>div:first-child strong{font-size:11px}.service-card>div:first-child span{color:var(--muted);margin-top:5px;font-size:9px;line-height:1.5}.service-price{text-align:right;white-space:nowrap}.service-price strong{color:var(--brand);font-size:12px}.service-price span{color:#929a97;margin-top:5px;font-size:8px}.staff-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;display:grid}.staff-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:16px;min-height:180px;padding:21px 15px;transition:all .16s}.staff-card:hover,.staff-card.selected{background:#f5faf8;border-color:#6e9b92;transform:translateY(-2px)}.staff-avatar{background:var(--soft);width:52px;height:52px;color:var(--brand);border-radius:50%;place-items:center;margin:0 auto 13px;font-family:Georgia,serif;font-size:19px;display:grid}.staff-card.any .staff-avatar{background:var(--brand);color:var(--cream)}.staff-card strong{font-size:11px;display:block}.staff-card p{color:var(--muted);max-width:180px;margin:7px auto 0;font-size:9px;line-height:1.55}.date-strip{grid-template-columns:repeat(7,1fr);gap:7px;margin-bottom:25px;display:grid}.date-strip button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:13px;padding:10px 4px}.date-strip span,.date-strip strong,.date-strip small{display:block}.date-strip span{color:var(--muted);text-transform:uppercase;font-size:8px}.date-strip strong{margin:4px 0 1px;font-family:Georgia,serif;font-size:19px}.date-strip small{color:#8d9692;font-size:8px}.date-strip button.selected{background:var(--brand);border-color:var(--brand);color:#fff}.date-strip button.selected span,.date-strip button.selected small{color:#b8d0cb}.time-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.time-grid button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:11px;padding:10px}.time-grid button:hover,.time-grid button.selected{background:var(--brand);border-color:var(--brand);color:#fff}.time-grid strong,.time-grid span{display:block}.time-grid strong{font-size:12px}.time-grid span{color:var(--muted);margin-top:3px;font-size:8px}.time-grid button.selected span,.time-grid button:hover span{color:#bfd0cd}.step-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin-top:30px;padding-top:20px;display:flex}.step-actions.start{justify-content:flex-start}.primary-button,.ghost-button,.danger-outline{border-radius:11px;padding:11px 16px;font-size:10px;font-weight:800}.primary-button{border:1px solid var(--brand);background:var(--brand);color:#fff}.primary-button:hover{background:var(--brand-light)}.ghost-button{border:1px solid var(--line);color:#50605c;background:#fff}.danger-outline{color:var(--danger);background:#fff;border:1px solid #debaba}.soft-empty{min-height:150px;color:var(--muted);text-align:center;border:1px dashed #d8d1c8;border-radius:15px;place-items:center;padding:24px;font-size:10px;display:grid}.loader{min-height:160px;color:var(--muted);justify-content:center;align-items:center;gap:9px;font-size:10px;display:flex}.loader i{border:2px solid #dce6e3;border-top-color:var(--brand);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.details-layout{grid-template-columns:minmax(0,1fr) 300px;gap:24px;display:grid}.field-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field-grid label,.notes-field{flex-direction:column;gap:6px;display:flex}.field-grid label>span,.notes-field>span{color:#61706c;font-size:9px;font-weight:700}.field-grid input,.notes-field textarea{background:#fff;border:1px solid #ddd6cc;border-radius:10px;outline:none;width:100%;padding:11px;font-size:10px}.field-grid input:focus,.notes-field textarea:focus{border-color:#69968d;box-shadow:0 0 0 3px #4d897e14}.notes-field{margin-top:12px}.consent{color:var(--muted);align-items:flex-start;gap:8px;margin-top:15px;font-size:9px;line-height:1.5;display:flex}.summary-card{background:#f3eee6;border-radius:17px;padding:21px}.summary-card h3{margin:9px 0 16px;font-family:Georgia,serif;font-size:21px;font-weight:500}.summary-card dl{margin:0}.summary-card dl>div{border-top:1px solid #ded6ca;padding:9px 0}.summary-card dt{color:#8a938f;font-size:8px}.summary-card dd{margin:3px 0 0;font-size:10px;font-weight:700}.summary-total{border-top:1px solid #cec3b5;justify-content:space-between;align-items:baseline;margin-top:10px;padding-top:14px;display:flex}.summary-total span{color:var(--muted);font-size:9px}.summary-total strong{color:var(--brand);font-family:Georgia,serif;font-size:20px}.error-box{color:#814949;background:#fff2f2;border:1px solid #e7caca;border-radius:12px;margin-bottom:15px;padding:12px 14px}.error-box strong,.error-box span{display:block}.error-box strong{font-size:10px}.error-box span{margin-top:3px;font-size:9px}.site-footer{border-top:1px solid var(--line);min-height:72px;color:var(--muted);background:#fffdf9b3;justify-content:space-between;align-items:center;padding:0 clamp(22px,5vw,72px);font-size:8px;display:flex}.location{color:#6f7b77;flex-direction:column;gap:4px;margin-top:20px;font-size:10px;display:flex}.location.compact{flex-direction:row;gap:12px;margin-top:0;font-size:8px}.boot-page,.closed-page{place-items:center;min-height:100vh;padding:30px;display:grid}.closed-page{background:var(--brand);color:#fff;text-align:center;align-content:center;gap:30px}.closed-page .brand{color:#fff}.closed-page .brand-mark{background:var(--cream);color:var(--brand)}.closed-page section{max-width:560px}.closed-page h1{font-family:Georgia,serif;font-size:39px;font-weight:500}.closed-page p{color:#b9ceca;font-size:11px;line-height:1.7}.closed-page .location{color:#c7d7d4}.confirmation-page{text-align:center;flex-direction:column;align-items:center;max-width:720px;min-height:100vh;margin:0 auto;padding:70px 25px;display:flex}.confirmation-mark{background:var(--brand);color:#fff;border-radius:50%;place-items:center;width:64px;height:64px;margin-bottom:20px;font-size:26px;display:grid}.confirmation-page h1{margin:10px 0;font-family:Georgia,serif;font-size:38px;font-weight:500}.confirmation-lead{color:var(--muted);margin:0 0 24px;font-size:11px;line-height:1.7}.confirmation-card{background:var(--paper);border:1px solid var(--line);text-align:left;border-radius:20px;width:100%;padding:8px 22px;box-shadow:0 20px 55px #28302d0f}.confirmation-card>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:13px 0;display:flex}.confirmation-card>div:first-child{border-top:0}.confirmation-card span{color:var(--muted);font-size:9px}.confirmation-card strong{text-align:right;font-size:10px}.confirmation-actions{gap:9px;margin-top:22px;display:flex}.token-note{color:#949c99;margin-top:17px;font-size:8px}@media (width<=900px){.site-header{height:auto;min-height:74px;padding-top:13px;padding-bottom:13px}.header-location{display:none}.booking-shell{grid-template-columns:1fr;padding-top:20px}.booking-sidebar{min-height:0;position:static}.steps{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.step{flex-direction:column;align-items:flex-start;padding-bottom:0;display:flex}.step:after,.policy-card{display:none}.service-grid{grid-template-columns:1fr}.staff-grid{grid-template-columns:repeat(2,1fr)}.date-strip{padding-bottom:5px;display:flex;overflow-x:auto}.date-strip button{min-width:67px}.time-grid{grid-template-columns:repeat(3,1fr)}.details-layout{grid-template-columns:1fr}}@media (width<=560px){.site-header{padding-left:17px;padding-right:17px}.booking-shell{gap:12px;padding:14px 12px 34px}.booking-sidebar,.step-panel{border-radius:18px}.booking-sidebar{padding:24px 20px}.booking-sidebar h1{font-size:28px}.step-panel{min-height:0;padding:22px 17px}.panel-intro h2{font-size:24px}.staff-grid,.field-grid{grid-template-columns:1fr}.time-grid{grid-template-columns:repeat(2,1fr)}.step strong{font-size:8px}.site-footer{flex-direction:column;justify-content:center;gap:5px;padding:15px}.location.compact{text-align:center;flex-direction:column;gap:3px}.confirmation-actions{flex-direction:column;width:100%}}
