.booking-hero{min-height:460px;position:relative;overflow:hidden;background:#111;color:#f2ede5;display:flex;align-items:flex-end;padding:145px max(7vw,calc((100vw - 1160px)/2)) 62px}.booking-hero>img,.booking-hero-shade{position:absolute;inset:0;width:100%;height:100%}.booking-hero>img{object-fit:cover;object-position:center 48%;opacity:.82}.booking-hero-shade{background:linear-gradient(90deg,rgba(12,12,11,.91),rgba(12,12,11,.55) 53%,rgba(12,12,11,.18)),linear-gradient(0deg,rgba(12,12,11,.48),transparent 50%)}.booking-hero-content{position:relative;z-index:1;max-width:690px}.booking-hero-content .eyebrow{font-size:12px}.booking-hero h1{font:500 clamp(48px,6vw,76px)/1.03 var(--serif);letter-spacing:-.04em;margin:17px 0}.booking-hero h1 em{font-weight:500;color:#c7968f}.booking-hero-content>p:last-child{max-width:550px;font-size:16px;line-height:1.75;color:#d4cec3;margin:0}.booking-hero-note{position:absolute;right:5vw;bottom:34px;display:flex;gap:10px;align-items:center;font-size:12px;color:#e0d9cf;z-index:1}.booking-page-content{width:min(1160px,calc(100% - 56px));margin:0 auto;padding:94px 0 108px;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(45px,8vw,105px);align-items:start}.booking-page-intro{position:sticky;top:35px}.booking-page-intro .eyebrow{font-size:12px;margin:0}.booking-page-intro h2{font:500 clamp(40px,4.5vw,56px)/1.08 var(--serif);letter-spacing:-.04em;margin:13px 0 16px}.booking-page-intro h2 em{font-weight:500;color:var(--wine);font-style:italic}.booking-page-intro>p:not(.eyebrow):not(.booking-side-note){font-size:15px;color:#625c54;line-height:1.8;margin:0}.booking-steps{margin-top:35px;border-top:1px solid var(--line-dark)}.booking-step{display:flex;gap:15px;align-items:flex-start;padding:17px 0;border-bottom:1px solid var(--line-dark);color:#928a7e}.booking-step>span{font:italic 20px var(--serif);color:#9e9589}.booking-step>div{display:flex;flex-direction:column;gap:4px}.booking-step b{font:500 17px var(--serif);color:#6a645b}.booking-step small{font-size:13px;color:#8b8377}.booking-step.is-current>span{color:var(--wine)}.booking-step.is-current b{color:#24221f}.booking-side-note{margin:22px 0 0;padding-left:14px;border-left:2px solid var(--wine);font-size:13px;color:#70695f;line-height:1.65}.booking-form-card{padding:34px 36px;background:#161615;color:#eee8df;box-shadow:0 22px 65px rgba(35,29,24,.12)}.form-section-heading{display:flex;align-items:flex-start;gap:14px;border-bottom:1px solid rgba(236,230,220,.18);padding-bottom:15px;margin:4px 0 20px}.form-section-heading:not(:first-child){margin-top:34px}.form-section-heading>span{font:italic 20px var(--serif);color:#d09a80}.form-section-heading h3{font:500 21px var(--serif);margin:0 0 4px}.form-section-heading p{font-size:13px;color:#aaa39a;margin:0}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 13px}.booking-fields .field{font-size:14px}.booking-fields .field small{font-size:12px;color:#aaa39a}.booking-fields .field-wide{grid-column:1/-1}.booking-fields input,.booking-fields select,.booking-fields textarea{width:100%;min-height:49px;padding:12px 13px;background:#20201e;color:#f2ede5;border:1px solid rgba(236,230,220,.28);border-radius:0;font:14px var(--sans)}.booking-fields textarea{min-height:105px;resize:vertical}.booking-fields input:focus,.booking-fields select:focus,.booking-fields textarea:focus{outline:2px solid rgba(195,154,97,.6);outline-offset:1px}.booking-fields input::placeholder,.booking-fields textarea::placeholder{color:#837d73}.button-dark{background:var(--paper);color:var(--ink);width:100%;border:0;margin-top:20px}.button-dark:hover{background:#fff}.booking-form-error{font-size:13px;color:#ffaaa8;margin:13px 0 0}.booking-form-disclaimer{font-size:12px;color:#989187;line-height:1.6;text-align:center;margin:12px 0 0}.appointment-review{border-top:1px solid var(--line);padding-top:22px}.appointment-review h3{font:500 34px var(--serif);margin:9px 0}.appointment-review>p{font-size:14px;line-height:1.7;color:#c1baaf}.appointment-payment{display:flex;gap:14px;align-items:center;border:1px solid rgba(236,230,220,.22);padding:16px;margin:22px 0}.appointment-payment>div{display:flex;flex-direction:column;gap:4px}.appointment-payment b{font-size:14px}.appointment-payment span{font-size:13px;color:#aaa39a}.reset-appointment{min-height:45px}.booking-bottom-note{background:#25221f;color:#eee8df;padding:52px max(7vw,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;gap:30px}.booking-bottom-note .eyebrow{font-size:12px}.booking-bottom-note h2{font:500 clamp(28px,3.7vw,42px)/1.18 var(--serif);margin:10px 0 0}.booking-bottom-note h2 em{color:#d09a80}.booking-bottom-note .button{flex:none}
@media(max-width:900px){.booking-page-content{grid-template-columns:1fr;gap:40px;padding:70px 0 80px}.booking-page-intro{position:static;max-width:680px}.booking-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border:0}.booking-step{border:0;border-top:1px solid var(--line-dark);padding-top:14px;gap:9px}.booking-step b{font-size:15px}.booking-step small{font-size:12px}.booking-side-note{margin-top:10px}.booking-form-card{max-width:760px;width:100%;margin:0 auto}.booking-bottom-note{padding:42px 28px}}
@media(max-width:640px){.booking-hero{min-height:470px;padding:120px 22px 62px}.booking-hero h1{font-size:49px}.booking-hero-content>p:last-child{font-size:14px}.booking-hero-note{left:22px;right:auto;font-size:11px}.booking-page-content{width:calc(100% - 36px);padding:56px 0 64px;gap:31px}.booking-page-intro h2{font-size:42px}.booking-page-intro>p:not(.eyebrow):not(.booking-side-note){font-size:14px}.booking-steps{grid-template-columns:1fr;gap:0;margin-top:24px;border-top:1px solid var(--line-dark)}.booking-step{border-bottom:1px solid var(--line-dark);padding:12px 0}.booking-step>span{font-size:18px}.booking-step b{font-size:16px}.booking-form-card{padding:24px 18px}.form-section-heading{gap:11px}.form-section-heading h3{font-size:19px}.form-section-heading p{font-size:12px}.booking-fields{grid-template-columns:1fr;gap:14px}.booking-fields .field-wide{grid-column:auto}.booking-fields .field{font-size:13px}.booking-fields input,.booking-fields select,.booking-fields textarea{font-size:15px}.booking-form-disclaimer{font-size:12px}.appointment-review h3{font-size:30px}.appointment-review>p{font-size:13px}.booking-bottom-note{display:block;padding:38px 20px}.booking-bottom-note h2{font-size:31px}.booking-bottom-note .button{margin-top:21px}}
