@font-face{font-family:Maven;src:url('assets/maven-pro.ttf') format('truetype');font-weight:400 900;font-display:swap}@font-face{font-family:Arco;src:url('assets/arco.ttf') format('truetype');font-weight:700;font-display:swap}
:root{font-family:Maven,Arial,sans-serif;color:#282c43;background:#f4f6fc;font-size:16px;line-height:1.5;--purple:#3b057c;--bright:#6b0fd8;--line:#ded7eb}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;gap:26px;background:white;padding:14px max(5%,calc((100vw - 1200px)/2));border-bottom:1px solid var(--line)}header img{width:150px;height:auto}header span{font-size:14px;font-weight:750;letter-spacing:.7px;color:var(--purple)}header b{margin-left:auto;background:#ebe9f9;color:var(--purple);padding:8px 13px;border-radius:30px;font-size:12px;white-space:nowrap}.safety{background:#fff1c4;color:#654700;text-align:center;padding:12px 5%;font-size:14px}main{max-width:1200px;margin:auto;padding:30px 24px}.eyebrow{color:var(--purple);font-size:13px;font-weight:750;letter-spacing:1.3px;margin:0}h1{font:700 clamp(30px,4vw,45px)/1.2 Arco,Maven,sans-serif;color:var(--purple);margin:12px 0}h2{font-size:24px;color:var(--purple);margin:0 0 16px;line-height:1.25}p{margin:8px 0}.intro{margin-bottom:20px}.steps{display:flex;gap:20px;flex-wrap:wrap;padding:0;margin:24px 0;list-style:none}.steps li{font-size:14px;font-weight:700;color:var(--purple);padding:9px 15px;border-radius:30px;background:#ebe9f9}.layout{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;margin-bottom:24px}.summary{border-top:5px solid #ffca2a;position:sticky;top:20px}.summary h2{margin-top:8px}.location-options,.slots{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 24px}.location-options button{flex:1}.slots button{min-width:130px}button,select,input{font:inherit}button,.back{border:1px solid #c9bbdc;border-radius:50px;background:#fff;color:var(--purple);padding:11px 18px;font-weight:700;cursor:pointer;min-height:44px}button:hover{border-color:var(--bright);background:#f4effb}button.primary,button.selected{background:var(--purple);border-color:var(--purple);color:white}button.primary:hover,button.selected:hover{background:var(--bright)}button:disabled{opacity:.5;cursor:not-allowed}.summary .primary{width:100%;margin-top:14px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--bright);outline-offset:3px}label{display:block;font-weight:700;color:var(--purple)}label span{font-weight:400;color:#615473;font-size:14px;display:block}select{border:1px solid #c9bbdc;border-radius:12px;background:white;padding:11px;margin-top:8px;width:100%;color:#282c43}.muted,.policy,footer,#connection{color:#615473;font-size:14px}.options{display:grid;gap:12px;margin:16px 0 28px}.choice{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:16px;cursor:pointer}.choice:has(input:checked){border-color:var(--bright);background:#f7f1ff}.choice input{width:20px;height:20px;accent-color:var(--purple);flex-shrink:0}.choice strong{margin-left:auto;white-space:nowrap}.choice span{font-size:16px;font-weight:650;color:var(--purple)}.line{display:flex;justify-content:space-between;gap:20px;margin:12px 0}.line span:last-child{white-space:nowrap}.total{font-size:23px;font-weight:800;color:var(--purple);border-top:1px solid var(--line);padding-top:16px}.deposit{background:#ebe9f9;color:var(--purple);border-radius:14px;padding:14px;font-weight:750}.policy{margin:18px 0;line-height:1.6}.status{display:inline-block;padding:6px 12px;background:#ebe9f9;color:var(--purple);border-radius:30px;font-size:14px;font-weight:750}.actions,.outcomes{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.success{border-top:5px solid #0ad5b2}.timer{color:var(--purple);font-size:18px;font-weight:750}#error{background:#ffe4e4;color:#98232c;border:1px solid #edb6ba;border-radius:14px;padding:15px}#connection{margin:8px 0 16px}footer{padding:20px 0 35px}.checkout{max-width:800px}.checkout .panel{margin-top:26px}.back{display:inline-block;text-decoration:none}details{margin:18px 0;color:#615473}summary{cursor:pointer}li{margin:8px 0}#reservation h2{margin-top:10px}.reference{overflow-wrap:anywhere;font-size:14px}.result{font-weight:700;color:var(--purple)}[hidden]{display:none!important}@media(max-width:800px){header{gap:12px;padding:12px 16px}header span{display:none}header img{width:130px}main{padding:24px 16px}.layout{grid-template-columns:1fr}.summary{position:static}.panel{padding:21px}.steps{gap:8px}.steps li{font-size:13px;padding:8px 12px}.choice{padding:13px}h1{font-size:32px}.line{gap:12px}.location-options button{flex:auto}.outcomes{flex-direction:column}.outcomes button{width:100%}}

.linked-party{margin:24px 0;padding:20px;background:#f7f1ff;border-radius:18px;border:1px solid #d1bdf2}.linked-party h3{margin:0 0 10px;color:var(--purple);font-size:21px}.party-tasks{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:18px 0}.party-tasks>div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:12px 0;font-size:14px}.party-tasks strong{color:var(--purple)}@media(max-width:700px){.party-tasks{grid-template-columns:1fr}.linked-party{padding:16px}}

/* R58: shared booking, party and staff layout rhythm. */
main{padding-block:24px}.panel{padding:22px;margin-bottom:18px}.layout{gap:20px}.steps{gap:12px;margin-block:18px}.intro{margin-bottom:16px}
@media(max-width:760px){main{padding-block:18px}.panel{padding:18px;margin-bottom:16px}.layout{gap:16px}}
