.booking-page{position:relative;overflow:hidden;padding:74px 0 0;background:var(--ink);color:var(--paper)}.booking-layout{display:grid}.booking-intro{position:relative;isolation:isolate;min-height:620px;display:flex;align-items:flex-end;overflow:hidden;padding:clamp(3rem,7vw,6.5rem) clamp(1.5rem,6vw,6rem)}.booking-intro:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),var(--ink) 100%),linear-gradient(90deg,rgba(0,0,0,.6),transparent 60%)}.booking-intro:before{content:"";position:absolute;z-index:-1;top:0;left:-10rem;width:min(760px,92vw);height:500px;background:url(/images/steak-house-pattern.svg) center / contain no-repeat;opacity:.68;pointer-events:none}.booking-intro>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}.booking-intro-content{max-width:640px}.booking-intro h1{max-width:11ch;color:var(--paper);font-size:clamp(3rem,6vw,5.2rem);line-height:1.12}.booking-intro .lead{max-width:42ch;margin-top:1.5rem;color:#eee}.booking-facts{display:flex;flex-wrap:wrap;gap:.55rem 1.75rem;margin:2rem 0 0;padding:0;color:#eee;font-size:.86rem;letter-spacing:.11em;list-style:none;text-transform:uppercase}.booking-facts li:before{content:"";display:inline-block;width:7px;height:7px;margin-right:.75rem;background:var(--saffron);transform:rotate(45deg) translateY(-1px)}.booking-panel{position:relative;padding:clamp(3rem,4vw,4rem) clamp(1.5rem,6vw,7rem);background:var(--paper);color:var(--ink)}.booking-panel-inner{width:min(100%,720px);margin-inline:auto}.booking-panel-header{margin-bottom:.35rem}.booking-panel-header h2{max-width:none;font-size:clamp(2rem,4vw,3.25rem)}.booking-panel-header>p:last-child{max-width:none;margin-top:1rem;color:var(--muted)}.booking-guidance{display:grid;gap:.15rem;margin-bottom:1rem;color:#4b4b4b;font-size:.82rem;line-height:1.55}.booking-guidance p{position:relative;padding:.85rem 0 .85rem 1.15rem}.booking-guidance p:first-child{padding-bottom:.2rem}.booking-guidance p+p{padding-top:.2rem}.booking-guidance p+p:before{top:.6rem}.booking-guidance p:before{content:"";position:absolute;top:1.25rem;left:.1rem;width:6px;height:6px;background:var(--saffron);transform:rotate(45deg)}.booking-guidance strong{color:var(--ink);font-weight:700}.booking-guidance a{color:var(--ink);font-weight:700;border-bottom:1px solid var(--saffron)}.booking-form{display:grid;gap:1.25rem}.form-section{display:grid;min-inline-size:0;gap:1rem;margin:0;padding:0;border:0}.form-section+.form-section{padding-top:0;border-top:0}.form-section legend{display:flex;width:100%;align-items:center;gap:.9rem;margin-bottom:.75rem;padding:0;font-family:var(--display);font-size:clamp(1.35rem,2.5vw,1.7rem);line-height:1.2}.form-section legend:after{content:none}.form-section legend span{color:var(--saffron);font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.16em}.form-grid{display:grid;gap:1.35rem 1.15rem}.form-grid-three{grid-template-columns:1.05fr 1.2fr .85fr}.form-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:grid;gap:.55rem;min-width:0}.field-wide{grid-column:1 / -1}.field label,.field-label{color:#1e1e1e;font-size:.7rem;font-weight:700;letter-spacing:.16em;line-height:1.35;text-transform:uppercase}.field-optional{margin-left:.4rem;color:#777;font-size:.62rem;font-weight:500;letter-spacing:.1em}.field input,.field select,.field textarea{width:100%;min-height:58px;border:1px solid #cfcfcf;border-radius:0;background-color:#fafafa;color:var(--ink);padding:.9rem 1rem;font-size:.95rem;transition:border-color .16s linear,background-color .16s linear,box-shadow .16s linear}.field select{appearance:none;padding-right:3rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='m2 2 6 6 6-6' fill='none' stroke='%23181818' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat}.field textarea{min-height:112px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#8a8a8a;opacity:1}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--saffron);background-color:var(--paper);box-shadow:0 0 0 3px color-mix(in srgb,var(--saffron) 20%,transparent)}.field select:disabled,.field input:disabled{cursor:wait;border-bottom-color:#b9b9b9;background-color:#f1f1f1;opacity:.65}.field-hint{display:flex;align-items:flex-start;gap:.65rem;color:#5e5e5e;font-size:.78rem;line-height:1.45}.field-hint:before{content:"";width:6px;height:6px;flex:0 0 auto;margin-top:.4rem;background:var(--saffron);transform:rotate(45deg)}.consent-field{display:grid;grid-template-columns:20px 1fr;gap:.8rem;align-items:start;padding:.25rem 0;border:0;background:transparent;color:#404040;font-size:.82rem;line-height:1.55}.consent-field input{width:18px;height:18px;margin:.2rem 0 0;accent-color:var(--saffron)}.consent-field a,.booking-help a,.manage-link{border-bottom:1px solid var(--saffron)}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.5rem}.booking-submit{border:1px solid var(--saffron);cursor:pointer}.booking-submit:disabled{cursor:wait;opacity:.62;transform:none}.booking-help{display:flex;min-height:50px;align-items:center;gap:.35rem;padding:.7rem .9rem;border-left:2px solid var(--saffron);background:color-mix(in srgb,var(--saffron) 11%,var(--paper));color:#252525;font-size:.78rem;font-weight:600}.booking-help a{color:var(--ink);font-weight:700}.form-status{display:none;padding:1rem 1.1rem;border-left:3px solid var(--saffron);background:#f4f1e9;color:#252525;line-height:1.55}.form-status.is-visible{display:block}.form-status.is-error{border-color:#9f2d21;background:#f8eae7;color:#6f1e16}.form-status.is-success{border-color:#477b50;background:#edf5ee;color:#254c2c}.booking-assurance{display:grid;gap:.55rem;margin-top:clamp(1.75rem,3vw,2.5rem);padding-top:1.5rem;border-top:1px solid #d8d8d8;color:#666;font-size:.88rem}.booking-assurance strong{color:var(--ink);font-weight:700}.booking-assurance-action{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem 1.5rem;margin-top:.5rem;padding:.5rem 0 0;border-top:0;border-bottom:0;background:transparent;color:#5f5f5f}.booking-assurance-action strong{color:var(--ink)}.booking-assurance-action .manage-link{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:.65rem .9rem;border:1px solid #2a2a2a;color:var(--ink);font-size:.68rem;font-weight:600;letter-spacing:.14em;line-height:1.2;text-align:center;text-transform:uppercase;transition:border-color .16s linear,background-color .16s linear,color .16s linear}.booking-assurance-action .manage-link:hover{border-color:var(--saffron);background:color-mix(in srgb,var(--saffron) 10%,transparent);color:var(--ink)}.manage-results{display:grid;gap:1rem;margin-top:2.5rem}.reservation-result{display:grid;gap:1.4rem;padding:1.5rem 0;border-top:1px solid #cfcfcf;border-bottom:1px solid #cfcfcf}.reservation-result h3{font-size:1.35rem}.reservation-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0}.reservation-meta div{display:grid;gap:.2rem}.reservation-meta dt{color:#6b6b6b;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.reservation-meta dd{margin:0}.cancel-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.cancel-trigger,.cancel-confirm,.cancel-back{min-height:44px;border:0;border-bottom:1px solid currentColor;background:transparent;cursor:pointer;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.cancel-trigger,.cancel-confirm{color:#8c281e}.cancel-back{color:#505050}.cancel-confirmation{display:none;align-items:center;gap:.75rem}.cancel-confirmation.is-visible{display:flex}@media(min-width:1080px){.booking-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-intro{position:sticky;top:74px;min-height:720px;align-items:center}.booking-panel{padding-inline:clamp(2rem,5vw,5.5rem)}}@media(max-width:760px){.booking-intro{min-height:570px;padding-bottom:3.5rem}.booking-intro:before{left:-12rem;width:650px}.booking-intro h1{font-size:clamp(2.75rem,13vw,4rem)}.form-grid-three,.form-grid-two,.reservation-meta{grid-template-columns:1fr}.form-actions{align-items:stretch}.booking-submit{width:100%}.booking-help{justify-content:center}.booking-assurance-action{grid-template-columns:1fr}.booking-assurance-action .manage-link{width:100%}}
