:root{--bg:#080d25;--panel:#101735;--line:#2b3b68;--text:#f7f8ff;--muted:#aeb9d5;--cyan:#36d9ef;--blue:#3183ff;--violet:#ad42f5;--error:#ff7c91;--success:#43e0aa;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% 10%,rgba(49,131,255,.18),transparent 32%),linear-gradient(135deg,#070b1d 0%,#10143b 55%,#151044 100%);color:var(--text);font-family:"DM Sans",sans-serif;letter-spacing:0}.booking-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,76px);border-bottom:1px solid rgba(104,130,189,.24);background:rgba(6,10,29,.76);backdrop-filter:blur(16px)}.booking-brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none;font-family:Manrope,sans-serif}.booking-brand span{width:38px;height:38px;display:grid;place-items:center;overflow:hidden}.booking-brand img{width:66px;height:auto}.back-link{color:var(--muted);text-decoration:none;font-weight:600}.back-link:hover{color:var(--cyan)}.booking-main{width:min(1180px,calc(100% - 40px));margin:0 auto;min-height:calc(100vh - 82px);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(44px,7vw,92px);align-items:center;padding:56px 0}.booking-copy h1{font:800 clamp(42px,5vw,72px)/1.04 Manrope,sans-serif;margin:18px 0 24px;max-width:680px}.booking-copy>p:not(.eyebrow){color:var(--muted);font-size:19px;line-height:1.7;max-width:620px}.eyebrow,.step-label{text-transform:uppercase;font-weight:700;font-size:13px;color:var(--cyan)}.eyebrow span{display:inline-block;width:28px;height:2px;background:var(--cyan);vertical-align:middle;margin-right:10px}.booking-copy ul{list-style:none;padding:0;margin:34px 0;display:grid;gap:14px}.booking-copy li{display:grid;grid-template-columns:145px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid rgba(104,130,189,.22)}.booking-copy li span{color:var(--muted)}.booking-panel{border:1px solid var(--line);background:rgba(13,20,49,.92);padding:clamp(24px,4vw,48px);box-shadow:0 28px 90px rgba(0,0,0,.3);min-height:610px}.booking-progress{display:flex;align-items:center;margin-bottom:34px}.booking-progress span{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);color:var(--muted);font-weight:700}.booking-progress span.active{border-color:var(--cyan);background:var(--cyan);color:#07101d}.booking-progress i{height:1px;flex:1;background:var(--line)}.booking-step h2,.booking-success h2{font:700 30px/1.2 Manrope,sans-serif;margin:8px 0 24px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:grid;gap:8px;margin:0 0 18px;color:#dce3f8;font-weight:600;font-size:14px}label>span{color:var(--muted);font-weight:400}input,textarea{width:100%;border:1px solid var(--line);background:#090f29;color:var(--text);padding:14px 15px;font:500 16px "DM Sans",sans-serif;border-radius:4px;outline:none}input:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(54,217,239,.1)}textarea{resize:vertical}.consent{grid-template-columns:20px 1fr;align-items:start;font-weight:400;color:var(--muted);line-height:1.45}.consent input{width:18px;height:18px;margin:2px 0}.consent a{color:var(--cyan)}.honeypot{position:absolute!important;left:-10000px!important}.primary-button,.secondary-button{width:100%;display:flex;align-items:center;justify-content:center;border:0;border-radius:4px;padding:16px 20px;font:700 16px "DM Sans",sans-serif;cursor:pointer;text-decoration:none}.primary-button{background:linear-gradient(90deg,var(--cyan),var(--blue),var(--violet));color:#07101d}.secondary-button{background:#17234c;color:var(--text);border:1px solid #385184}.primary-button:disabled,.secondary-button:disabled{opacity:.55;cursor:wait}.step-help{color:var(--muted);line-height:1.55}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.slot{border:1px solid #365080;background:#0a112d;color:var(--text);padding:13px 8px;font-weight:700;border-radius:4px;cursor:pointer}.slot:hover,.slot.selected{border-color:var(--cyan);background:#123259;color:var(--cyan)}.step-actions{text-align:center;margin-top:18px}.text-button{border:0;background:none;color:var(--muted);font:600 14px "DM Sans";cursor:pointer}.booking-status{min-height:24px;margin-bottom:4px;color:var(--error);font-weight:600}.booking-summary{margin:22px 0 30px;border-top:1px solid var(--line)}.booking-summary div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.booking-summary dt{color:var(--muted)}.booking-summary dd{margin:0;font-weight:600}.booking-success{text-align:center;padding-top:70px}.booking-success>span{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 22px;border-radius:50%;background:var(--success);color:#052017;font-size:30px;font-weight:800}.booking-success p:not(.step-label){color:var(--muted);line-height:1.6;margin-bottom:28px}
.booking-footer{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;padding:18px clamp(22px,5vw,76px);border-top:1px solid rgba(104,130,189,.24);background:#060a1d;color:#67728f;font-size:10px}.booking-footer address{width:100%;font-style:normal;text-align:center;font-size:9px}.booking-footer a{color:#8190b1;text-decoration:none}
@media(max-width:880px){.booking-main{grid-template-columns:1fr;padding:44px 0 70px}.booking-copy h1{font-size:44px}.booking-panel{min-height:0}.booking-copy ul{margin-bottom:0}}@media(max-width:560px){.booking-header{height:70px;padding:0 18px}.booking-brand strong{font-size:14px}.booking-main{width:min(100% - 24px,1180px);padding-top:32px;gap:32px}.booking-copy h1{font-size:36px}.booking-copy>p:not(.eyebrow){font-size:16px}.booking-copy li{grid-template-columns:1fr;gap:4px}.booking-panel{padding:22px 18px}.field-grid{grid-template-columns:1fr}.slots{grid-template-columns:repeat(2,1fr)}.booking-summary div{grid-template-columns:90px 1fr}.booking-footer{padding:16px 20px}}
