@font-face{font-family:LiftInter;src:url('./lift-inter.ttf') format('truetype');font-display:swap}@font-face{font-family:LiftPlayfair;src:url('./lift-playfair.ttf') format('truetype');font-display:swap;font-weight:400 900}
:root{color-scheme:dark;--gold:#c9ab73;--gold-light:#e4cd9b;--gray:#8a8a8a;--surface:#0e0e0e}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#20201e,#0a0a0a 65%);color:#ddd;font:12px LiftInter,system-ui,sans-serif}button,select{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button{transition:background .2s,border-color .2s,transform .2s}button:active{transform:scale(.97)}button:disabled{opacity:.35;cursor:default}.booking{padding:24px 30px 12px;max-width:1100px;margin:auto}.masthead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:22px}.brand{font-weight:800;font-size:19px;letter-spacing:.08em;color:var(--gold-light)}.brand span{display:block;font-size:7px;letter-spacing:.37em;margin-top:5px}.preview-tag{color:#aaa;font-size:9px;letter-spacing:.12em;text-transform:uppercase;border:1px solid #ffffff18;padding:7px 9px;border-radius:30px}.intro{display:flex;justify-content:space-between;align-items:flex-end;gap:15px}.eyebrow{font-size:8px;letter-spacing:.22em;color:#c9ab738f;margin:0 0 6px}h1{font:400 clamp(26px,4vw,40px)/1.15 LiftPlayfair,Georgia,serif;color:var(--gold);margin:0 0 15px}.branch{display:grid;gap:5px;margin-bottom:16px;max-width:45%;color:#aaa;font-size:9px}.branch>span{text-transform:uppercase;letter-spacing:.16em}.branch select{color:var(--gold);background:#151511;border:1px solid #c9ab7333;border-radius:5px;padding:8px;max-width:100%;font-size:10px}.steps{list-style:none;padding:6px;margin:0 0 17px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;background:#0e0e0ecc;border:1px solid #ffffff19;border-radius:11px}.steps li{padding:9px 12px;border:1px solid #ffffff0f;border-radius:7px;display:flex;gap:9px;align-items:center}.steps li[aria-current]{border-color:#c9ab7359;background:#c9ab731a}.steps b{font:10px LiftInter,sans-serif;width:22px;height:22px;border:1px solid #c9ab7340;border-radius:50%;display:grid;place-content:center;color:var(--gold)}.steps span{font-size:10px;line-height:1.4}.steps small{display:block;font-size:8px;color:var(--gray)}.date-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}h2{font:400 19px LiftPlayfair,Georgia,serif;color:var(--gold);margin:0}.nav{display:flex;gap:5px}.nav button{width:32px;height:29px;background:var(--surface);border:1px solid #ffffff19;color:var(--gold);border-radius:6px}.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.days button{background:var(--surface);border:1px solid #ffffff19;color:var(--gray);border-radius:8px;padding:8px 3px;min-height:62px}.days button:hover,.slots button:hover{border-color:#c9ab7380;background:#191812}.days button[aria-pressed=true]{border-color:#c9ab73b3;background:#c9ab731a;color:var(--gold)}.days small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:8px}.days strong{display:block;font:600 18px LiftPlayfair,Georgia,serif;margin-top:4px}.slot-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:13px 0 9px}.slot-heading p{margin:0;color:var(--gold);font-size:11px}.slot-heading p span{font-size:9px;color:var(--gray);margin-left:9px}.slot-heading button{border:0;background:none;color:var(--gold);font-size:10px;min-height:28px;white-space:nowrap}.slot-heading button[aria-pressed=true]{background:#c9ab731a;border-radius:5px}.slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.slots button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #ffffff1a;border-radius:10px;background:var(--surface);color:var(--gold);padding:9px 3px;min-height:71px}.slots button[aria-pressed=true]{border-color:var(--gold);background:#c9ab7326}.slots button[aria-pressed=true]:after{content:'✓';position:absolute;right:5px;top:3px;font-size:10px}.slots strong{font:600 21px LiftPlayfair,Georgia,serif;line-height:1.2}.slots small{color:#9b9b9b;font-size:8px;margin:3px 0}.slots span{font-size:10px;color:#b0b0b0;margin-top:3px}.summary{display:flex;align-items:center;gap:10px;min-height:46px;border-bottom:1px solid #ffffff12}.summary p{margin:0;color:#aaa;font-size:10px;flex:1}.summary strong{color:var(--gold);white-space:nowrap;font-size:12px}.summary button{background:transparent;border:0;color:var(--gray);font-size:9px;padding:5px}.footnote{margin:9px 0 0;color:#737373;font-size:8px;letter-spacing:.04em}.compact .booking{padding:13px 18px 8px}.compact .masthead{padding-bottom:10px}.compact .brand{font-size:14px}.compact .brand span{font-size:6px}.compact h1{font-size:25px;margin-bottom:8px}.compact .eyebrow{font-size:7px}.compact .steps,.compact .branch,.compact .date-heading{display:none}.compact .days button{min-height:45px;padding:5px 2px}.compact .days strong{font-size:16px}.compact .slot-heading{margin:8px 0 5px}.compact .slot-heading p span{display:none}.compact .slots button{min-height:60px;padding:5px 2px}.compact .slots strong{font-size:19px}.compact .summary{min-height:32px}.compact .footnote{margin-top:5px}.compact .preview-tag{font-size:7px;padding:5px 7px}
@media(max-width:450px){.booking{padding:16px 13px 10px}.masthead{padding-bottom:16px}.brand{font-size:16px}.preview-tag{font-size:7px;padding:5px 7px}.branch{max-width:46%}.branch select{font-size:9px;padding:6px}h1{font-size:29px}.eyebrow{font-size:6px;letter-spacing:.1em}.steps{gap:4px;padding:4px}.steps li{padding:7px 5px;gap:4px}.steps b{height:17px;width:17px;font-size:8px;flex-shrink:0}.steps span{font-size:8px}.steps small{font-size:6px}h2{font-size:17px}.days{gap:4px}.days button{min-height:55px}.days small{font-size:7px}.days strong{font-size:16px}.slot-heading p{font-size:10px}.slot-heading p span{display:none}.slot-heading button{font-size:9px}.slots{gap:4px}.slots strong{font-size:18px}.slots button{min-height:73px;border-radius:7px}.slots small{font-size:7px}.slots span{font-size:8px}.summary p{font-size:9px}.summary strong{font-size:10px}.summary button{font-size:8px}.compact .booking{padding:12px}.compact .brand{font-size:13px}.compact .slots strong{font-size:17px}.compact .summary{gap:6px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
