.booking-header{position:relative;background:#0d0d0b}.back-link{font-size:12px;color:var(--gold)}.booking-page{padding:80px max(24px,8vw) 120px;min-height:100vh}.booking-intro{max-width:700px;text-align:center;margin:0 auto 55px}.booking-intro h1{font:500 clamp(42px,5.4vw,72px) Cinzel,serif;line-height:1.1;margin:0}.booking-intro h1 i,.confirmation h2 i{color:var(--gold);font-weight:400}.booking-intro>p:not(.eyebrow){color:var(--muted);max-width:520px;margin:20px auto}.late-notice{display:flex;gap:13px;text-align:left;align-items:center;border:1px solid var(--line);background:#12110d;padding:15px 17px;margin:28px auto 0;max-width:560px}.late-notice>span{border:1px solid var(--gold);color:var(--gold);border-radius:50%;height:25px;width:25px;display:grid;place-items:center}.late-notice p{font-size:12px;margin:0}.late-notice strong{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.booking-shell{display:grid;grid-template-columns:1fr 255px;gap:35px;max-width:1050px;margin:auto}.booking-steps{grid-column:1/-1;list-style:none;display:flex;padding:0 0 18px;margin:0;border-bottom:1px solid var(--line)}.booking-steps li{flex:1;color:#777166;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.booking-steps span{font:500 18px Cinzel,serif;margin-right:7px}.booking-steps .is-current{color:var(--gold)}.booking-panel{border:0;padding:0;margin:0;display:none}.booking-panel.is-visible{display:block;animation:panel-in .35s ease}.booking-panel legend{font:500 clamp(25px,3vw,35px) Cinzel,serif;margin:0 0 27px}.booking-panel legend span{color:var(--gold);font-size:13px;margin-right:9px}@keyframes panel-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.service-card{border:1px solid rgba(248,244,235,.17);padding:20px 16px;display:flex;gap:12px;cursor:pointer;transition:.25s}.service-card:hover,.service-card:has(input:checked){border-color:var(--gold);background:#17150e}.service-card input{position:absolute;opacity:0}.radio-dot{width:16px;height:16px;border:1px solid #aaa294;border-radius:50%;margin-top:4px;flex:0 0 auto}.service-card:has(input:checked) .radio-dot{border:5px solid var(--gold)}.service-card strong,.service-card small{display:block}.service-card strong{font:500 15px Cinzel,serif}.service-card small{font-size:11px;color:var(--muted);margin-top:6px}.booking-next{border:0;background:var(--gold);color:#17150e;font:600 12px "DM Sans",sans-serif;padding:14px 19px;margin-top:28px;cursor:pointer}.booking-next:hover{background:var(--gold-light);transform:translateY(-2px)}.booking-next span{margin-left:24px;font-size:18px}.booking-actions{display:flex;justify-content:space-between;align-items:center}.booking-back{border:0;background:none;color:var(--gold);font:500 12px "DM Sans",sans-serif;cursor:pointer;margin-top:30px}.booking-summary{background:#15140f;border:1px solid var(--line);padding:25px;height:max-content;position:sticky;top:25px}.booking-summary>div{padding:14px 0;border-bottom:1px solid rgba(248,244,235,.1)}.booking-summary small,.booking-summary strong{display:block}.booking-summary small{font-size:10px;text-transform:uppercase;color:var(--gold);letter-spacing:.12em}.booking-summary strong{font:500 13px Cinzel,serif;margin-top:4px}.booking-summary hr{border:0;border-top:1px solid var(--line);margin:18px 0}.summary-note{font-size:11px;color:var(--muted);margin:0}.calendar-layout{display:grid;grid-template-columns:1fr .7fr;gap:25px}.calendar,.time-picker{border:1px solid rgba(248,244,235,.17);padding:20px}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.calendar-head strong,.time-title{font:500 15px Cinzel,serif}.calendar-head button{background:none;border:0;color:var(--gold);font-size:18px;cursor:pointer}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:5px}.calendar-weekdays{font-size:9px;text-transform:uppercase;color:#958d80;margin-bottom:8px}.calendar-days{grid-auto-rows:37px}.calendar-days button{background:transparent;border:0;color:var(--paper);font:12px "DM Sans",sans-serif;cursor:pointer;border-radius:50%;aspect-ratio:1;justify-self:center;width:32px}.calendar-days button:hover:not(:disabled),.calendar-days button.is-selected{background:var(--gold);color:var(--ink)}.calendar-days button:disabled{color:#45423d;cursor:not-allowed;text-decoration:line-through}.time-picker p{margin-top:0}.selected-date{font-size:11px;min-height:30px;color:var(--muted)}.time-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.time-slots button{border:1px solid rgba(248,244,235,.2);background:transparent;color:var(--paper);padding:10px 6px;font:12px "DM Sans",sans-serif;cursor:pointer}.time-slots button:hover:not(:disabled),.time-slots button.is-selected{border-color:var(--gold);background:var(--gold);color:var(--ink)}.time-slots button:disabled{color:#514e46;text-decoration:line-through;cursor:not-allowed}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.form-grid label{font-size:11px;color:var(--gold);letter-spacing:.08em;text-transform:uppercase}.form-grid input,.form-grid textarea{display:block;margin-top:7px;width:100%;border:1px solid rgba(248,244,235,.22);background:#12110e;padding:12px;color:var(--paper);font:14px "DM Sans",sans-serif;outline:none}.form-grid input:focus,.form-grid textarea:focus{border-color:var(--gold)}.full-width{grid-column:1/-1}.terms{margin-top:25px;display:flex;gap:10px;align-items:start;font-size:12px;color:#cfc8ba;cursor:pointer}.terms input{position:absolute;opacity:0}.terms>span:nth-child(2){width:17px;height:17px;border:1px solid var(--gold);flex:0 0 auto;margin-top:1px}.terms input:checked+span{background:var(--gold);box-shadow:inset 0 0 0 4px #12110e}.confirmation{border:1px solid var(--gold);background:#15140f;color:var(--paper);padding:45px;width:min(500px,90vw)}.confirmation::backdrop{background:rgba(0,0,0,.85);backdrop-filter:blur(5px)}.confirmation h2{font:500 36px Cinzel,serif;line-height:1.2;margin:0 0 15px}.confirmation p:not(.eyebrow){color:var(--muted);font-size:14px}.confirmation .gold-button{display:inline-block;margin-top:13px}.confirmation .lightbox-close{position:absolute;top:12px;right:16px;font-size:30px}@media(max-width:850px){.booking-shell{grid-template-columns:1fr}.booking-summary{grid-row:2;position:static}.booking-panel{grid-row:3}.calendar-layout{grid-template-columns:1fr}.booking-page{padding:60px 24px}.booking-steps li{font-size:9px}.booking-steps span{display:block;margin-bottom:4px}.back-link{font-size:10px}}@media(max-width:500px){.service-grid,.form-grid{grid-template-columns:1fr}.booking-intro{text-align:left}.late-notice{margin-left:0}.calendar{padding:13px}.calendar-days{grid-auto-rows:34px}}
