:root{--cream:#f7f1e9;--paper:#fffaf4;--ink:#332925;--muted:#78675f;--wine:#593b3d;--line:#dfd0c4;--rose:#a67467}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.045em}h2{font-size:clamp(30px,3vw,43px);line-height:1.15;margin:12px 0 13px}h3{font-size:14px;font-weight:500}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #af7e65;outline-offset:4px}[hidden]{display:none!important}.demo-banner{padding:10px 20px;background:#42292d;color:#f7e9df;display:flex;justify-content:center;align-items:center;gap:18px;font-size:11px;line-height:1.5}.demo-banner strong{font-size:10px;letter-spacing:.16em;white-space:nowrap}.booking-header{height:95px;padding:0 max(30px,calc((100vw - 1280px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font-family:'Playfair Display',Georgia,serif;font-size:30px;line-height:1;color:var(--wine)}.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:.24em;margin-top:7px;text-align:center}.monogram{display:grid;place-items:center;border:1px solid var(--wine);border-radius:50%;width:39px;height:39px;font-size:27px;font-style:italic}.back-site{text-decoration:none;font-size:12px}.layout{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(0,1.15fr);max-width:1400px;margin:auto;min-height:calc(100svh - 132px)}.editorial{position:relative;isolation:isolate;min-height:790px;color:white;overflow:hidden}.editorial:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(41,24,20,.9),rgba(45,24,18,.18) 72%);z-index:-1}.editorial img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:48% center;z-index:-2}.editorial-copy{position:absolute;left:12%;right:8%;bottom:160px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.17em;color:var(--rose)}.editorial .eyebrow{color:#efd7c5}.editorial h1{font-size:clamp(40px,4.6vw,69px);line-height:1.1;margin:21px 0}.editorial h1 em{color:#eac4ad}.editorial-copy p{font-size:14px;line-height:1.7;color:#f5e7da;max-width:260px}.salon-address{position:absolute;bottom:48px;left:12%;right:12%;border-top:1px solid #ffffff55;padding-top:23px;font-size:10px;line-height:1.9;letter-spacing:.13em}.salon-address span{font-size:12px;letter-spacing:0;color:#eed5c3}.booking-area{padding:31px clamp(25px,4.4vw,70px) 24px;min-width:0}.booking-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:11px;color:var(--muted);padding-bottom:25px}.text-button{border:0;padding:8px 0;background:none;color:var(--wine);font-size:12px;font-weight:700;text-align:left;text-underline-offset:5px}.text-button:hover{text-decoration:underline}.steps{padding:0 0 30px;margin:0 0 25px;list-style:none;display:flex;gap:16px;justify-content:space-between;border-bottom:1px solid var(--line)}.steps li{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.steps li>span{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;font-size:11px}.steps li[aria-current=step]{color:var(--wine);font-weight:700}.steps li[aria-current=step]>span,.steps li.done>span{background:var(--wine);color:#fff;border-color:var(--wine)}.intro{font-size:13px;line-height:1.75;color:var(--muted);margin-bottom:23px}.service-list{display:grid;gap:11px}.service-option{width:100%;position:relative;display:flex;align-items:center;gap:15px;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:20px;transition:border-color .15s,background .15s}.service-option[aria-checked=true]{background:#efe1d5;border-color:var(--wine);box-shadow:inset 0 0 0 1px var(--wine)}.service-option:hover{border-color:var(--wine)}.service-symbol{font-size:27px;color:var(--rose);width:27px;text-align:center}.service-name{display:block;font-family:'Playfair Display',Georgia,serif;font-size:21px;margin-bottom:6px}.service-duration{font-size:11px;color:var(--muted)}.service-price{font-size:16px;font-weight:500;margin-left:auto;white-space:nowrap}.choice-dot{width:15px;height:15px;border:1px solid #af9281;border-radius:50%;flex-shrink:0}.service-option[aria-checked=true] .choice-dot{border:4px solid var(--wine);background:var(--paper)}.fine-print{font-size:11px;line-height:1.65;color:var(--muted);margin-top:15px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.calendar-head h3{margin:0;text-transform:capitalize;font-size:17px;font-family:'Playfair Display',Georgia,serif}.icon-button{width:36px;height:36px;background:var(--paper);border:1px solid var(--line);border-radius:50%;font-size:18px}.icon-button:disabled{opacity:.3}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekdays{font-size:10px;color:var(--muted);text-align:center;margin-bottom:7px}.calendar button{border:1px solid transparent;background:var(--paper);border-radius:4px;height:40px;position:relative;font-size:13px}.calendar button:hover:not(:disabled){border-color:var(--wine)}.calendar button.selected,.time-list button.selected{background:var(--wine);color:white;border-color:var(--wine)}.calendar button:disabled{background:transparent;color:#b8aaa0}.time-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:26px 0 13px}.time-heading h3{margin:0;font-size:13px}.time-heading span{font-size:8px;letter-spacing:.1em;color:var(--rose);white-space:nowrap}.time-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.time-list button{padding:10px 3px;background:var(--paper);border:1px solid var(--line);border-radius:3px;font-size:12px}.time-list button:hover{border-color:var(--wine)}.selection-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:24px;padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:13px}.selection-summary small{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.5}.selection-summary strong{white-space:nowrap;font-weight:500}.flow-actions{display:flex;justify-content:space-between;gap:15px;margin-top:23px;align-items:center}.button{border:1px solid var(--wine);border-radius:3px;padding:16px 20px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:48px;text-decoration:none}.button.primary{background:var(--wine);color:white}.button.primary:hover{background:#42292d}.button.primary:disabled{opacity:.4}.button.secondary{background:var(--paper);color:var(--wine)}#next-step{margin-left:auto}#booking-form>label{display:block;font-size:12px;font-weight:700;margin:20px 0 9px}#booking-form>input{width:100%;border:1px solid var(--line);border-radius:3px;padding:15px;background:var(--paper);font-size:16px;color:var(--ink)}.privacy-note{font-size:11px;line-height:1.7;color:var(--muted);padding:16px;background:#eee2d6;margin-top:20px}.consent{display:flex!important;gap:10px;align-items:flex-start;font-size:12px!important;line-height:1.7;font-weight:400!important}.consent input{accent-color:var(--wine);width:18px;height:18px;flex-shrink:0;margin:2px 0 0}.error{padding:12px;background:#f9e0dc;color:#903b33;font-size:13px;line-height:1.5}.booking-footer{margin-top:40px;border-top:1px solid var(--line);padding-top:21px;display:flex;flex-direction:column;gap:13px;font-size:11px}.booking-footer span{font-size:9px;letter-spacing:.13em;color:var(--rose)}.booking-footer a{text-decoration:none;color:var(--muted)}.result-panel{padding-top:13px}.success-mark{width:54px;height:54px;display:grid;place-items:center;background:#e2e9dc;color:#476142;border-radius:50%;font-size:28px;margin-bottom:25px}.result-panel .eyebrow{display:block}.confirmation-card,.saved-booking{background:var(--paper);border:1px solid var(--line);padding:25px;margin:25px 0}.confirmation-card dl{margin:0}.confirmation-card dl>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #eadfd5;font-size:13px}.confirmation-card dt{color:var(--muted)}.confirmation-card dd{margin:0;text-align:right;font-weight:500}.confirmation-card .ref{font-size:11px;letter-spacing:.08em;color:var(--rose);text-align:center;padding:20px 0 0}.result-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.real-contact{display:block;font-size:12px;margin-top:28px;color:var(--wine)}.saved-booking h3{font-family:'Playfair Display',Georgia,serif;font-size:23px;margin-bottom:10px}.saved-booking p{font-size:13px;line-height:1.7;margin-bottom:10px;color:var(--muted)}.saved-booking small{font-size:10px;color:var(--rose);letter-spacing:.08em}.saved-booking .text-button{display:block;margin-top:13px;color:#954638}.empty-bookings{padding:35px 25px;border:1px dashed var(--line);font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:25px}dialog{border:1px solid var(--line);padding:32px;border-radius:8px;background:var(--cream);color:var(--ink);max-width:500px;width:calc(100% - 32px)}dialog::backdrop{background:#2d2020aa;backdrop-filter:blur(3px)}dialog h2{font-size:32px}dialog p{font-size:14px;line-height:1.7;color:var(--muted)}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1400px){.layout{margin-top:35px;margin-bottom:35px;box-shadow:0 15px 65px #4b302513;border:1px solid var(--line)}}@media(max-width:960px){.layout{grid-template-columns:minmax(230px,.65fr) minmax(0,1.35fr)}.booking-area{padding:28px}.editorial-copy{left:9%;right:7%}.editorial h1{font-size:43px}.salon-address{left:9%;right:9%}.steps{gap:9px}}@media(max-width:680px){.demo-banner{flex-direction:column;gap:2px;text-align:center;font-size:10px;padding:9px 16px}.booking-header{height:81px;padding:0 20px}.brand{font-size:27px}.monogram{width:34px;height:34px;font-size:25px}.back-site{font-size:11px}.layout{display:block}.editorial{min-height:0;height:194px}.editorial img{object-position:center 42%}.editorial:after{background:linear-gradient(90deg,#2b1b16bd,#2b1b1633)}.editorial-copy{left:22px;right:20px;bottom:22px}.editorial .eyebrow{font-size:8px}.editorial h1{font-size:34px;line-height:1.05;margin:12px 0 0;max-width:330px}.editorial h1 br{display:none}.editorial-copy p,.salon-address{display:none}.booking-area{padding:22px 20px 35px}.booking-toolbar{font-size:10px;padding-bottom:20px;gap:8px}.booking-toolbar .text-button{font-size:11px}.steps{padding-bottom:23px;margin-bottom:27px}.steps li{font-size:10px;gap:6px}.steps li>span{width:24px;height:24px}.step-panel h2{font-size:34px}.service-option{padding:17px 14px;gap:10px}.service-name{font-size:20px}.service-price{font-size:15px}.service-symbol{font-size:24px;width:25px}.calendar button{height:39px}.time-heading span{font-size:7px}.flow-actions .button{padding:15px;gap:10px}.confirmation-card{padding:20px}.booking-footer{margin-top:31px}.dialog-actions{flex-direction:column}.dialog-actions .button{width:100%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
