.booking-page{min-height:100vh;background:#090908;color:#eeeae2}.booking-header{height:82px;padding:0 clamp(22px,4vw,58px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.11);background:rgba(9,9,8,.96)}.booking-header .brand{font-size:16px}.booking-back{color:#aaa49b;text-decoration:none;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.booking-back:hover{color:#fff}.booking-shell{width:min(1380px,calc(100% - 80px));margin:0 auto;padding:96px 0 120px;display:grid;grid-template-columns:minmax(300px,.72fr) minmax(620px,1.28fr);gap:clamp(60px,8vw,130px);align-items:start}.booking-intro{position:sticky;top:46px}.booking-intro h1{margin:0;font-family:"Cormorant Garamond",serif;font-size:clamp(64px,6.6vw,108px);font-weight:400;line-height:.84;letter-spacing:-.045em}.booking-intro h1 em{color:#c9b27c;font-weight:400}.booking-intro>p:not(.section-kicker){max-width:520px;margin:34px 0 0;color:#9f9a91;line-height:1.9}.booking-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px}.booking-facts span{padding:8px 11px;border:1px solid rgba(255,255,255,.13);color:#aaa49b;font-size:9px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.booking-card{border-top:1px solid rgba(255,255,255,.18)}.booking-step{display:grid;grid-template-columns:52px 1fr;gap:28px;padding:46px 0;border-bottom:1px solid rgba(255,255,255,.13)}.booking-step-no{padding-top:7px;color:#b79a63;font-family:"Cormorant Garamond",serif;font-size:24px}.booking-step-head{margin-bottom:28px}.booking-step-head>span{display:block;margin-bottom:5px;color:#827d76;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.booking-step-head h2,.booking-success h2,.booking-closed h2{margin:0;font-family:"Cormorant Garamond",serif;font-size:40px;font-weight:400;line-height:1}.service-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.service-choice{cursor:pointer}.service-choice input{position:absolute;opacity:0;pointer-events:none}.service-choice-inner{height:100%;min-height:142px;padding:20px;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.13);background:#10100f;transition:.2s ease}.service-choice:hover .service-choice-inner{border-color:rgba(201,178,124,.45);background:#141412}.service-choice input:checked+.service-choice-inner{border-color:#c9b27c;background:#191812;box-shadow:inset 0 0 0 1px #c9b27c}.service-choice b{font-size:13px}.service-choice small{margin-top:7px;color:#918c84;font-size:10px;line-height:1.55}.service-choice em{margin-top:auto;padding-top:18px;color:#c9b27c;font-size:9px;font-style:normal;font-weight:700;letter-spacing:.04em}.booking-date-row{display:grid;grid-template-columns:minmax(230px,.6fr) 1fr;gap:18px;align-items:end}.booking-date-row label>span,.booking-fields label>span,.slots-label>span{display:block;margin-bottom:8px;color:#d7d2c8;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.booking-date-row input,.booking-fields input,.booking-fields textarea{width:100%;border:1px solid rgba(255,255,255,.16);border-radius:0;background:#10100f;color:#f3efe7;padding:13px 14px;outline:none;color-scheme:dark}.booking-date-row input:focus,.booking-fields input:focus,.booking-fields textarea:focus{border-color:#b79a63}.duration-note{min-height:47px;padding:12px 14px;border-left:2px solid #b79a63;background:#11110f;color:#8e8981;font-size:10px;display:flex;align-items:center}.slots-wrap{margin-top:25px}.slots-label{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px}.slots-label>span{margin:0}.slots-label small{color:#7f7a73;font-size:9px}.booking-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;min-height:45px}.booking-slot{height:44px;border:1px solid rgba(255,255,255,.14);background:#0f0f0e;color:#d9d5cd;cursor:pointer;font-size:11px;transition:.18s}.booking-slot:hover{border-color:#b79a63;color:#fff}.booking-slot.active{border-color:#c9b27c;background:#c9b27c;color:#0a0a09;font-weight:700}.slot-empty{grid-column:1/-1;padding:15px;border:1px dashed rgba(255,255,255,.13);color:#7f7a73;font-size:10px;text-align:center}.slot-loading{grid-column:1/-1;display:flex;gap:5px;padding:17px;justify-content:center}.slot-loading i{width:5px;height:5px;border-radius:50%;background:#b79a63;animation:slotpulse .9s infinite alternate}.slot-loading i:nth-child(2){animation-delay:.18s}.slot-loading i:nth-child(3){animation-delay:.36s}@keyframes slotpulse{to{opacity:.25;transform:translateY(-3px)}}.slots-error{animation:slotsError .4s ease}@keyframes slotsError{50%{transform:translateX(4px)}}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-fields label{display:block}.booking-fields label.full{grid-column:1/-1}.booking-fields span em{color:#77716a;font-style:normal;font-weight:400;text-transform:none;letter-spacing:0}.booking-fields textarea{resize:vertical}.booking-consent{display:flex;gap:10px;margin:24px 0 16px;color:#8f8a82;font-size:10px}.booking-consent input{accent-color:#b79a63}.booking-consent a{color:#d8d2c8}.booking-primary{width:100%;min-height:56px;padding:0 19px;border:0;background:#c9b27c;color:#0b0b0a;text-decoration:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.booking-primary:hover{background:#d5c18e}.booking-primary b{font-size:22px;font-weight:300}.booking-smallprint{margin:10px 0 0;color:#6f6a63;font-size:9px;text-align:center}.booking-errors{margin:28px 0 0;padding:16px 18px;border:1px solid #744b4b;background:#211313;color:#e3b6b6;font-size:11px}.booking-errors ul{margin:8px 0 0;padding-left:18px}.booking-success,.booking-closed{padding:70px 0}.success-mark{display:grid;place-items:center;width:44px;height:44px;margin-bottom:30px;border:1px solid #c9b27c;color:#c9b27c;font-size:20px}.booking-success>p:not(.section-kicker),.booking-closed>p{max-width:520px;color:#9a958d}.booking-code{margin:32px 0;padding:16px 18px;border:1px solid rgba(255,255,255,.13);display:flex;justify-content:space-between;gap:20px;align-items:center}.booking-code small{color:#77716a;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.booking-code strong{color:#c9b27c;letter-spacing:.08em}.booking-success .booking-primary{max-width:380px}.booking-closed a{color:#c9b27c}
@media(max-width:1050px){.booking-shell{grid-template-columns:1fr;padding-top:70px}.booking-intro{position:static}.booking-intro>p:not(.section-kicker){max-width:680px}.booking-card{margin-top:10px}}@media(max-width:680px){.booking-header{height:70px;padding:0 16px}.booking-back{font-size:8px}.booking-shell{width:calc(100% - 32px);padding:60px 0 80px;gap:55px}.booking-intro h1{font-size:64px}.booking-step{grid-template-columns:32px 1fr;gap:12px;padding:34px 0}.booking-step-head h2{font-size:34px}.service-choice-grid,.booking-fields,.booking-date-row{grid-template-columns:1fr}.service-choice-inner{min-height:128px}.booking-slots{grid-template-columns:repeat(3,1fr)}.slots-label{display:block}.slots-label small{display:block;margin-top:5px}.booking-code{display:grid}}


/* v7.7 – TFCD + contract */
.legal-page-shell{width:min(980px,calc(100% - 48px));margin:0 auto;padding:80px 0 120px}.legal-document{padding:54px;border:1px solid rgba(255,255,255,.13);background:#10100f}.legal-document h1{margin:8px 0 12px;font-family:"Cormorant Garamond",serif;font-size:clamp(48px,7vw,76px);font-weight:400;line-height:.95}.contract-version{margin-bottom:36px;color:#8b857c;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.contract-body{color:#c8c2b8;font-size:13px;line-height:1.95;white-space:normal}.tfcd-shell .booking-intro h1{font-size:clamp(54px,5.6vw,88px);line-height:.9}.tfcd-requirements{margin-top:36px;padding:22px 0;border-top:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13)}.tfcd-requirements strong{display:block;margin-bottom:10px;color:#c9b27c;font-size:9px;letter-spacing:.13em;text-transform:uppercase}.tfcd-requirements p{margin:0;color:#9f9a91;font-size:12px;line-height:1.8}.booking-consent+.booking-consent{margin-top:-8px}
@media(max-width:760px){.legal-page-shell{width:calc(100% - 28px);padding:36px 0 80px}.legal-document{padding:28px 22px}.tfcd-shell .booking-intro h1{font-size:52px}}
