:root{--ink:#20271f;--cream:#f3efe5;--brass:#d3b98b;--muted:#6d7467;--line:#20271f30;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:14px/1.7 var(--sans);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit;color:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #8a7045;outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05;letter-spacing:-.035em}em{font-weight:400;color:#8a7045}h2{font-size:clamp(46px,4.6vw,72px)}[hidden]{display:none!important}.sr-only,.honey{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-60px;left:12px;background:var(--cream);padding:12px;z-index:20}.skip-link:focus{top:12px}.booking-header{height:100px;padding:18px 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.booking-wordmark{font-family:var(--serif);font-size:39px;line-height:1;letter-spacing:-.04em;text-align:center}.booking-wordmark span{display:block;font-family:var(--sans);font-size:6px;letter-spacing:.15em;margin-top:6px}.return-link{display:flex;align-items:center;gap:25px;font-size:11px;padding:12px 0}.return-link span{font-size:22px}.booking-layout{display:grid;grid-template-columns:minmax(320px,39%) 1fr;min-height:calc(100svh - 100px)}.booking-aside{position:sticky;top:0;align-self:start;height:calc(100svh - 100px);min-height:580px;color:var(--cream);background:var(--ink);overflow:hidden;isolation:isolate}.aside-image{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#151c13ed,#151c1380 70%),url('./assets/hero.jpg') 64% center/cover}.aside-copy{padding:60px 4.5vw}.eyebrow{font-size:8px;line-height:1.5;letter-spacing:.15em;font-weight:500}.aside-copy>.eyebrow{color:var(--brass);margin-bottom:37px}.aside-copy h1{font-size:clamp(72px,7.5vw,125px);line-height:.97}.aside-copy h1 em{color:var(--brass)}.aside-copy>p:last-child{font-size:12px;line-height:1.9;color:#dddcd0;margin-top:30px}.aside-bottom{position:absolute;bottom:36px;left:4.5vw;right:4.5vw;display:flex;justify-content:space-between;align-items:end;gap:20px}.aside-bottom p{font-size:6px;letter-spacing:.11em;text-align:right;line-height:1.9;color:#ddd7c3}.aside-monogram{font-family:var(--serif);font-size:78px;line-height:1;color:var(--brass)}.booking-content{padding:38px clamp(28px,5.5vw,90px) 25px;min-width:0}.booking-steps{display:flex;justify-content:space-between;gap:12px;list-style:none;padding:0 0 22px;margin:0 0 42px;border-bottom:1px solid var(--line);font-size:9px;color:#7b8175}.booking-steps li{display:flex;gap:12px;align-items:center}.booking-steps li span{font-size:8px;color:#8a7045}.booking-steps li[aria-current=step]{color:var(--ink);font-weight:600}.booking-step>.eyebrow{margin-bottom:20px;color:var(--muted)}.step-intro{font-size:12px;line-height:1.8;color:var(--muted);margin-top:22px;max-width:450px}.service-options{border:0;padding:0;margin:30px 0 0}.service-option{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:16px;padding:23px 20px;border:1px solid var(--line);margin-top:10px;cursor:pointer;transition:background .2s,border .2s}.service-option:has(input:checked){border-color:var(--ink);background:#e8e1d2}.service-option input{accent-color:var(--ink);width:16px;height:16px;margin:0}.service-option strong{display:block;font-family:var(--serif);font-size:29px;line-height:1.1;font-weight:400;letter-spacing:-.02em}.service-option small{display:block;font-size:8px;color:var(--muted);margin-top:8px;letter-spacing:.05em}.service-option b{font:29px/1 var(--serif)}.booking-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:25px;margin-top:32px}.primary-button{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;background:var(--ink);color:var(--cream);padding:16px 22px;min-height:54px;font-size:11px;font-weight:500;transition:background .2s}.primary-button:hover:not(:disabled){background:#424b39}.primary-button span{font-size:20px;line-height:1}.quiet-note{font-size:10px;color:var(--muted)}.back-button,.text-button{background:none;font-size:11px;padding:12px 0;min-height:44px}.text-button{text-decoration:underline;text-underline-offset:5px}.back-button{padding-right:10px}.chosen-service{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:26px;font-size:11px}.chosen-service>span:last-child{font-size:10px;color:var(--muted)}.calendar{margin-top:27px}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.calendar-header h3{font-size:30px}.calendar-header>div{display:flex;gap:8px}.calendar-arrow{width:40px;height:40px;background:none;border:1px solid var(--line);font-size:18px}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-week{text-align:center;font-size:8px;color:var(--muted);margin-bottom:10px}.calendar-day{min-height:42px;background:transparent;border:1px solid transparent;font-size:11px;position:relative}.calendar-day:hover:not(:disabled){border-color:var(--line)}.calendar-day[aria-pressed=true]{background:var(--ink);color:var(--cream)}.calendar-day:disabled{opacity:.22}.calendar-day.today:not([aria-pressed=true]):after{content:'';position:absolute;bottom:4px;left:calc(50% - 2px);width:4px;height:4px;background:#8a7045;border-radius:50%}.time-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:28px 0 14px}.time-heading h3{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:0}.time-heading span{font-size:6px;letter-spacing:.09em;color:var(--muted)}.time-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.time-option{border:1px solid var(--line);background:none;padding:11px 5px;font-size:10px;min-height:42px}.time-option[aria-pressed=true]{background:var(--ink);color:var(--cream);border-color:var(--ink)}.time-option:hover{border-color:var(--ink)}.availability-message{font-size:11px;color:var(--muted);margin-top:12px}.schedule-note{font-size:8px;color:var(--muted);margin-top:16px;line-height:1.8}.booking-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin:28px 0;font-size:12px;display:grid;grid-template-columns:1fr auto;gap:10px 20px}.booking-summary .summary-service{font:30px/1.1 var(--serif)}.booking-summary .summary-price{font:30px/1.1 var(--serif);text-align:right}.booking-summary .summary-time{color:var(--muted);font-size:11px;grid-column:1/-1}.booking-summary .summary-meta{font-size:9px;color:var(--muted);grid-column:1/-1}.field{margin-bottom:20px}.field label{display:block;font-size:10px;margin-bottom:8px}.field label span{color:var(--muted);font-size:8px;margin-left:8px}.field input,.field textarea{width:100%;border:1px solid var(--line);background:#f8f5ee;padding:13px 14px;font-size:13px;min-height:48px;border-radius:0;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#858a7b;font-size:11px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.confirmation-note{background:#e6dfd0;color:#505a48;font-size:10px;line-height:1.9;padding:17px 18px;margin:25px 0 20px;border-left:2px solid #ad9367}.consent{display:flex;align-items:start;gap:12px;font-size:9px;line-height:1.9;color:var(--muted);cursor:pointer}.consent input{accent-color:var(--ink);width:16px;height:16px;flex-shrink:0;margin:2px 0 0}.form-error{background:#f2e1d7;color:#742f24;border-left:2px solid #742f24;padding:14px;font-size:11px;margin:18px 0;line-height:1.8}.initial-state{min-height:460px;display:flex;flex-direction:column;align-items:start;justify-content:center;gap:23px}.initial-state h2{font-size:45px}.initial-state p{font-size:12px;color:var(--muted)}.initial-state a{font-size:11px;text-decoration:underline}.loader{width:26px;height:26px;border:1px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.booking-footer{border-top:1px solid var(--line);margin-top:58px;padding-top:23px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:var(--muted);font-size:7px;line-height:1.8}.booking-footer>span{font-size:6px;letter-spacing:.12em}.booking-footer p{flex-basis:100%;order:3}.booking-footer a{text-decoration:underline;text-underline-offset:3px}.booking-result{padding-top:5px}.result-mark{height:52px;width:52px;border:1px solid #8a7045;border-radius:50%;display:grid;place-items:center;font-size:23px;color:#8a7045;margin-bottom:30px}.booking-result>.eyebrow{color:var(--muted);margin-bottom:16px}.status-pill{display:inline-block;border:1px solid #b6a383;color:#68542f;padding:5px 12px;font-size:9px;margin-top:23px}.status-pill.confirmed,.status-pill.completed{border-color:#7c9170;color:#3b5e2d}.status-pill.cancelled,.status-pill.declined{border-color:#af8980;color:#793f36}.tracking-panel{padding:22px;background:#e8e2d6;margin-top:27px}.tracking-panel h3{font-size:28px}.tracking-panel p{font-size:10px;color:var(--muted);line-height:1.85;margin-top:13px}.tracking-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:20px}.tracking-panel .primary-button{font-size:10px;min-height:46px;padding:12px 17px;gap:18px}.tracking-panel .text-button{font-size:10px}.cancel-panel{margin-top:18px;font-size:11px}.cancel-panel>button{color:#854a3d}.cancel-panel>div{padding:18px;border:1px solid var(--line);margin-top:10px}.cancel-panel>div>div{display:flex;gap:23px;margin-top:15px;align-items:center}.danger-button{background:#592e2b;color:var(--cream);font-size:10px;padding:12px 18px;min-height:44px}.result-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;margin-top:29px;font-size:10px}.result-links a{padding:10px 0;border-bottom:1px solid var(--line)}.no-script{background:var(--cream);padding:30px;position:fixed;bottom:0;left:0;right:0;z-index:100}
@media(max-width:1000px){.booking-layout{grid-template-columns:34% 1fr}.booking-content{padding:32px 35px 25px}.aside-copy{padding:45px 30px}.aside-copy h1{font-size:80px}.aside-bottom{left:30px;right:30px}.aside-monogram{font-size:58px}.aside-bottom p{font-size:5px}.booking-steps{font-size:8px}.booking-steps li{gap:8px}.service-option strong{font-size:26px}.service-option{padding:20px 16px}.field-row{grid-template-columns:1fr;gap:0}}
@media(max-width:700px){.booking-header{height:82px;padding:17px 25px}.booking-wordmark{font-size:32px}.booking-wordmark span{font-size:5px}.return-link{font-size:9px;gap:16px}.return-link span{font-size:18px}.booking-layout{display:block}.booking-aside{display:none}.booking-content{padding:28px 25px 25px;max-width:600px;margin:auto}.booking-steps{margin-bottom:32px;padding-bottom:20px;font-size:8px;gap:10px}.booking-steps li{gap:8px}.booking-steps li span{font-size:7px}h2{font-size:56px}.booking-step>.eyebrow{font-size:7px;margin-bottom:17px}.step-intro{font-size:11px;margin-top:20px}.service-options{margin-top:26px}.service-option{padding:20px 16px;gap:12px;grid-template-columns:17px 1fr auto}.service-option strong{font-size:26px}.service-option small{font-size:7px}.service-option b{font-size:27px}.booking-actions{margin-top:27px;padding-top:23px;gap:16px}.primary-button{font-size:10px;padding:15px 18px;gap:23px;min-height:52px}.quiet-note{font-size:9px}.chosen-service{font-size:10px}.chosen-service>span:last-child{font-size:9px}.calendar-header h3{font-size:29px}.calendar-day{min-height:44px}.calendar-arrow{width:44px;height:44px}.time-options{gap:7px}.time-option{min-height:44px;font-size:10px}.time-heading{align-items:start}.time-heading span{font-size:5px}.schedule-note{font-size:7px}.field input,.field textarea{font-size:16px}.field input::placeholder,.field textarea::placeholder{font-size:12px}.booking-summary .summary-service,.booking-summary .summary-price{font-size:28px}.confirmation-note{font-size:10px}.consent{font-size:9px}.booking-result h2{font-size:52px}.tracking-panel{padding:20px}.tracking-panel h3{font-size:27px}.tracking-actions{gap:7px;margin-top:20px;align-items:start;flex-direction:column}.result-links{font-size:9px}.booking-footer{margin-top:40px}.initial-state h2{font-size:39px}.initial-state{min-height:440px}.result-mark{margin-bottom:23px}.booking-result>.eyebrow{font-size:7px}}
@media(max-width:360px){.booking-content{padding-left:20px;padding-right:20px}.booking-header{padding-left:20px;padding-right:20px}.booking-steps{font-size:7px;gap:7px}.booking-steps li{gap:6px}.service-option{padding:18px 12px;gap:10px}.service-option strong{font-size:23px}.service-option b{font-size:25px}.time-options{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-actions .primary-button{font-size:9px;gap:16px;padding:15px}.booking-result h2{font-size:46px}.calendar-days{gap:2px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.booking-step h2:focus,.booking-result h2:focus{outline:none}
