.booking-page{background:#090909;color:#f7f3ed}.booking-page a{color:inherit;text-decoration:none}.booking-page .site-header nav a{font-size:11px;text-transform:uppercase;letter-spacing:.14em}.booking-page .site-header nav a[aria-current="page"]{opacity:.5}
.booking-hero{position:relative;height:92svh;min-height:720px;overflow:hidden}.booking-hero>img,.booking-hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.booking-hero>img{filter:saturate(.65) contrast(1.08);transform:scale(1.04)}.booking-hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.48),rgba(0,0,0,.08) 42%,rgba(0,0,0,.87))}.booking-hero-copy{position:absolute;left:var(--pad);right:var(--pad);bottom:7vh}.booking-hero h1{font-size:clamp(78px,13vw,195px);line-height:.8;letter-spacing:-.078em;margin:28px 0 50px}.booking-hero h1 span{display:block}.booking-hero h1 span:last-child{padding-left:10vw;font-family:"Times New Roman",serif;font-weight:400}.booking-hero-note{width:min(530px,48vw);margin-left:auto;padding:24px 28px;border:1px solid rgba(255,255,255,.32);border-radius:30px 42px 28px 38px;background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(255,255,255,.04));backdrop-filter:blur(20px) saturate(150%);box-shadow:inset 0 1px rgba(255,255,255,.35),0 25px 70px rgba(0,0,0,.3)}.booking-hero-note p{font-size:clamp(16px,1.5vw,22px);line-height:1.45;margin:0}.booking-hero-note span{display:block;margin-top:20px;font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#bbb}
.booking-services{padding:clamp(120px,14vw,220px) var(--pad)}.booking-section-head h2,.assurance-grid h2{font-size:clamp(60px,10vw,150px);line-height:.86;letter-spacing:-.07em;margin:30px 0}.booking-section-head h2 em,.assurance-grid h2 em,.booking-success h2 em{font-family:"Times New Roman",serif;font-weight:400}.service-filter{position:sticky;z-index:20;top:16px;width:max-content;max-width:100%;display:flex;gap:8px;margin:90px auto 70px;padding:8px;border:1px solid rgba(255,255,255,.18);border-radius:19px;background:rgba(20,20,20,.45);backdrop-filter:blur(22px) saturate(160%)}.service-filter button{padding:14px 19px;border:1px solid rgba(255,255,255,.25);border-radius:11px;font-size:9px;text-transform:uppercase;letter-spacing:.13em;white-space:nowrap}.service-filter button.is-active{background:#f1ece4;color:#0a0a0a;border-color:#fff}.booking-grid{display:grid;gap:40px}.booking-service-card{position:relative;min-height:min(56vw,680px);overflow:hidden;border-radius:5px}.booking-service-card[hidden]{display:none}.booking-service-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.7);transition:transform .7s cubic-bezier(.22,1,.36,1)}.booking-service-card:hover>img{transform:scale(1.035)}.service-glass{position:absolute;right:5vw;top:50%;transform:translateY(-50%);width:min(530px,46vw);padding:clamp(28px,4vw,55px);border:1px solid rgba(255,255,255,.35);border-radius:38px 52px 35px 46px;background:linear-gradient(135deg,rgba(10,10,10,.7),rgba(25,25,25,.48));backdrop-filter:blur(24px) saturate(150%);box-shadow:inset 0 1px rgba(255,255,255,.28),0 30px 90px rgba(0,0,0,.4)}.service-glass>p{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#aaa}.service-glass h3{font-size:clamp(30px,4.2vw,62px);line-height:1.05;letter-spacing:-.05em;margin:35px 0}.service-glass>div{display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid rgba(255,255,255,.25);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#bbb}.service-glass strong{color:#fff}.book-service{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:24px;padding:17px 20px;border-radius:999px;background:#f1ece4;color:#0a0a0a;font-size:10px;text-transform:uppercase;letter-spacing:.13em;transition:.3s}.book-service:hover{transform:translateY(-3px);background:#fff}
.service-scope{display:block;margin-top:-15px;font-size:9px;line-height:1.7;text-transform:uppercase;letter-spacing:.13em;color:#bbb}
.booking-assurance{padding:clamp(110px,13vw,200px) var(--pad);background:#e9e3d9;color:#0b0b0b}.assurance-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;margin-top:55px}.assurance-grid h2{font-size:clamp(52px,7.5vw,112px);margin:0}.assurance-grid ol{list-style:none;margin:0;padding:0}.assurance-grid li{display:grid;grid-template-columns:45px 1fr;gap:20px;padding:27px 0;border-top:1px solid rgba(0,0,0,.2)}.assurance-grid li>span{font-size:9px;color:#777}.assurance-grid h3{font-size:clamp(22px,2.3vw,34px);margin:0 0 8px}.assurance-grid li p{font-size:13px;line-height:1.7;color:#5d5953;margin:0}
.booking-overlay{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.72);backdrop-filter:blur(18px) saturate(130%)}.booking-overlay[hidden]{display:none}.booking-panel{position:relative;width:min(1100px,100%);max-height:calc(100svh - 40px);overflow-y:auto;padding:clamp(24px,4vw,54px);border:1px solid rgba(255,255,255,.3);border-radius:38px 54px 34px 48px;background:linear-gradient(135deg,rgba(29,29,29,.9),rgba(8,8,8,.86));box-shadow:inset 0 1px rgba(255,255,255,.28),0 40px 130px rgba(0,0,0,.7)}.booking-close{position:absolute;z-index:4;right:22px;top:18px;width:42px;height:42px;border:1px solid rgba(255,255,255,.3);border-radius:50%;font-size:24px}.booking-progress{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:10px;margin:5px 55px 55px 0}.booking-progress span{font-size:8px;text-transform:uppercase;letter-spacing:.14em;color:#666}.booking-progress span.is-active{color:#fff}.booking-progress i{height:1px;background:#333}.booking-step[hidden]{display:none}.panel-index{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#999}.selected-service{display:grid;grid-template-columns:180px 1fr;gap:35px;align-items:center;margin:30px 0}.selected-service img{width:180px;height:180px;object-fit:cover}.selected-service h2,.step-title h2{font-size:clamp(36px,5.5vw,75px);line-height:.95;letter-spacing:-.055em;margin:0 0 18px}.selected-service p{font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:#aaa}.field-label{display:grid;gap:10px;font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#aaa}.field-label input,.field-label select,.field-label textarea{width:100%;border:1px solid rgba(255,255,255,.24);border-radius:8px;padding:15px;background:rgba(255,255,255,.055);color:#fff;font:inherit;font-size:14px;text-transform:none;letter-spacing:0;outline:none}.field-label input:focus,.field-label select:focus,.field-label textarea:focus{border-color:#fff}.panel-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:42px}.panel-actions button,.booking-success button{padding:15px 20px;border:1px solid rgba(255,255,255,.32);border-radius:999px;font-size:9px;text-transform:uppercase;letter-spacing:.14em}.panel-actions button:last-child,.booking-success button{background:#f1ece4;color:#0a0a0a;min-width:190px;display:flex;justify-content:space-between}.step-title{margin-bottom:35px}.step-title>span{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#777}.schedule-grid{display:grid;grid-template-columns:1fr .8fr;gap:50px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.calendar-head button{width:38px;height:38px;border:1px solid #444;border-radius:50%}.calendar-head h3{font-size:18px}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;text-align:center}.calendar-week{margin-bottom:10px;font-size:8px;text-transform:uppercase;color:#777}.calendar-days button,.calendar-days span{aspect-ratio:1;display:grid;place-items:center;border:1px solid transparent;border-radius:50%;font-size:11px}.calendar-days button:hover,.calendar-days button.is-selected{border-color:#fff;background:#f1ece4;color:#090909}.calendar-days button:disabled{opacity:.2}.time-column{padding-left:35px;border-left:1px solid #333}.time-column h3{margin:0 0 20px}.time-slots{display:grid;grid-template-columns:1fr 1fr;gap:9px}.time-slots button{padding:13px 8px;border:1px solid #444;border-radius:8px;font-size:11px}.time-slots button.is-selected{background:#f1ece4;color:#090909;border-color:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid .full{grid-column:1/3}.booking-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:35px}.summary-item{padding:20px;border:1px solid #333;border-radius:12px;background:rgba(255,255,255,.035)}.summary-item span{display:block;margin-bottom:8px;font-size:8px;text-transform:uppercase;letter-spacing:.14em;color:#777}.summary-item strong{font-size:14px}.booking-disclaimer{font-size:10px;line-height:1.7;color:#777;margin-top:25px}.booking-success{text-align:center;padding:40px 0}.booking-success>span{display:grid;place-items:center;width:80px;height:80px;margin:auto;border:1px solid rgba(255,255,255,.35);border-radius:50%;font-size:25px}.booking-success h2{font-size:clamp(55px,8vw,115px);line-height:.86;letter-spacing:-.07em;margin:35px 0}.booking-success>p:not(.panel-index){max-width:570px;margin:0 auto 35px;color:#aaa;line-height:1.7}.booking-success button{margin:auto}
.field-label[hidden]{display:none}.field-label select{color-scheme:dark}.field-label select option{background:#171717;color:#fff}.required-mark{color:#f1ece4;font-size:12px}.booking-progress.is-calendarless{grid-template-columns:auto 1fr auto 1fr auto}.booking-progress.is-calendarless [data-progress-availability],.booking-progress.is-calendarless i:nth-of-type(2){display:none}.booking-progress.is-project-only{grid-template-columns:auto 1fr auto}.booking-progress.is-project-only [data-progress-direction],.booking-progress.is-project-only [data-progress-availability],.booking-progress.is-project-only i:nth-of-type(1),.booking-progress.is-project-only i:nth-of-type(2){display:none}.time-wheel-hint{margin:-10px 0 14px;color:#777;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.time-slots.time-wheel{position:relative;display:block;height:250px;padding:95px 8px;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#666 transparent;mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 75%,transparent)}.time-slots.time-wheel button{display:block;width:100%;margin:8px 0;padding:16px 10px;scroll-snap-align:center;transition:opacity .2s,transform .2s,background .2s;color:#aaa}.time-slots.time-wheel button.is-selected{transform:scale(1.03);background:#f1ece4;color:#090909;border-color:#fff}.schedule-error{margin:18px 0 0;color:#f1ece4;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.time-column.is-invalid{border-color:#f1ece4}.time-column.is-invalid .time-slots{outline:1px solid rgba(241,236,228,.65);outline-offset:8px;border-radius:8px}
.booking-reveal{opacity:0;transform:translateY(38px);transition:.85s cubic-bezier(.22,1,.36,1)}.booking-reveal.is-visible{opacity:1;transform:none}
@media(max-width:760px){.booking-page .site-header nav{display:none}.booking-hero{height:820px}.booking-hero h1{font-size:20vw;line-height:.83}.booking-hero h1 span:last-child{padding-left:0}.booking-hero-note{width:auto;margin:35px 0 0;padding:19px}.booking-hero-note p{font-size:13px}.booking-section-head h2{font-size:15vw}.service-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;overflow:visible;margin:55px 0 40px}.service-filter button{width:100%;min-height:44px;padding:10px 6px;font-size:7px;line-height:1.35;white-space:normal}.booking-service-card{min-height:135vw}.service-glass{left:18px;right:18px;top:auto;bottom:18px;transform:none;width:auto;padding:24px;border-radius:26px 34px 24px 31px}.service-glass h3{font-size:9vw;margin:25px 0}.assurance-grid{grid-template-columns:1fr}.assurance-grid h2{font-size:14vw}.booking-overlay{padding:8px}.booking-panel{max-height:calc(100svh - 16px);padding:22px;border-radius:26px}.booking-progress{margin:7px 42px 35px 0;gap:5px}.booking-progress span{font-size:6px}.selected-service{grid-template-columns:80px 1fr;gap:18px}.selected-service img{width:80px;height:80px}.selected-service h2,.step-title h2{font-size:10vw}.schedule-grid{grid-template-columns:1fr}.time-column{padding:25px 0 0;border-left:0;border-top:1px solid #333}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.booking-summary{grid-template-columns:1fr}.panel-actions button:last-child{min-width:0}.booking-close{right:13px;top:12px}}
@media(prefers-reduced-motion:reduce){.booking-reveal{opacity:1;transform:none;transition:none}.booking-service-card>img{transition:none}}
