:root { --ink:#11110f; --paper:#f5f3ed; --white:#fffefb; --muted:#716e66; --line:#ddd8cd; --orange:#ff5b35; --green:#416b53; }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,"Segoe UI",Arial,sans-serif; }
button,input { font:inherit; }
header { height:78px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(22px,5vw,72px); border-bottom:1px solid var(--line); background:var(--white); }
.wordmark { display:flex; align-items:center; color:var(--ink); text-decoration:none; }.brand-logo { display:block; width:auto; height:30px; }
header nav { display:flex; align-items:center; gap:25px; }header nav a { color:var(--ink); text-decoration:none; font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.book-link { padding:13px 16px; color:white!important; background:var(--ink); }.book-link span { margin-left:18px; color:var(--orange); }
main { min-height:calc(100vh - 126px); display:grid; grid-template-columns:1fr 1fr; }
.lookup-intro { position:relative; min-height:calc(100vh - 126px); overflow:hidden; color:white; background:url("https://images.unsplash.com/photo-1615458509633-f15b61bdacb8?auto=format&fit=crop&w=1500&q=85") center/cover; }.intro-shade { position:absolute; inset:0; background:linear-gradient(0deg,rgba(9,9,8,.86),rgba(9,9,8,.16)); }.intro-copy { position:absolute; z-index:1; left:clamp(30px,6vw,95px); right:30px; bottom:clamp(55px,10vh,110px); }.intro-copy p,.eyebrow { margin:0; color:var(--orange); font-size:8px; font-weight:800; letter-spacing:.22em; }.intro-copy h1 { margin:16px 0 24px; font:400 clamp(50px,6vw,86px)/.9 Georgia,serif; letter-spacing:-.055em; }.intro-copy h1 em { color:var(--orange); font-weight:400; }.intro-copy > span { display:block; width:min(440px,100%); color:rgba(255,255,255,.7); font:14px/1.7 Georgia,serif; }
.lookup-panel { display:grid; place-items:center; padding:clamp(35px,7vw,95px); background:var(--white); }.lookup-panel > div,.lookup-panel > article { width:min(100%,540px); }.lookup-panel h2 { margin:12px 0 0; font:400 clamp(40px,5vw,58px)/1 Georgia,serif; letter-spacing:-.045em; }.panel-copy { margin:18px 0 34px; color:var(--muted); font:14px/1.65 Georgia,serif; }.lookup-panel label { display:block; margin-top:18px; }.lookup-panel label span { display:block; margin-bottom:8px; color:#555149; font-size:8px; font-weight:800; letter-spacing:.14em; }.lookup-panel input { width:100%; min-height:49px; padding:0 14px; border:1px solid var(--line); border-radius:0; background:#fbfaf6; outline:none; }.lookup-panel input:focus { border-color:var(--ink); }.lookup-panel form button { display:flex; justify-content:space-between; align-items:center; width:100%; min-height:52px; margin-top:25px; padding:0 18px; border:0; background:var(--ink); color:white; text-transform:uppercase; font-size:9px; font-weight:800; letter-spacing:.14em; cursor:pointer; }.lookup-panel form button:hover { background:var(--orange); }.lookup-panel form button:disabled { opacity:.55; cursor:wait; }.lookup-panel > div > small { display:block; margin-top:16px; color:#9a968e; font-size:9px; }.message { margin-top:18px; padding:12px 14px; border-left:3px solid var(--orange); background:#fff0eb; color:#92371f; font-size:11px; line-height:1.5; }
.result-heading { display:flex; justify-content:space-between; align-items:start; gap:20px; }.result-heading h2 { font-size:42px; }.badges { display:flex; flex-wrap:wrap; justify-content:end; gap:6px; }.badges span { padding:6px 8px; border:1px solid var(--line); font-size:7px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }.badges .confirmed,.badges .paid { color:var(--green); border-color:var(--green); }.badges .cancelled,.badges .refund_due { color:#a43826; border-color:#a43826; }.badges .pending { color:#956b19; border-color:#956b19; }.badges .refunded,.badges .void { color:var(--muted); }
#booking-result dl { display:grid; grid-template-columns:1fr 1fr; margin:0; border:1px solid var(--line); }#booking-result dl div { min-height:85px; padding:17px; border-bottom:1px solid var(--line); }#booking-result dl div:nth-child(odd) { border-right:1px solid var(--line); }#booking-result dl div:nth-last-child(-n+2) { border-bottom:0; }dt { color:var(--muted); font-size:7px; font-weight:800; letter-spacing:.14em; }dd { margin:9px 0 0; font:17px Georgia,serif; }.result-note { margin-top:16px; padding:15px; border-left:3px solid var(--orange); background:#f1eee7; color:#5f5b53; font:12px/1.6 Georgia,serif; }.result-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }.result-actions a,.result-actions button { min-height:43px; display:grid; place-items:center; padding:0 14px; border:1px solid var(--ink); background:transparent; color:var(--ink); text-decoration:none; text-transform:uppercase; font-size:7px; font-weight:800; letter-spacing:.1em; cursor:pointer; }.result-actions .primary { color:white; background:var(--ink); }.result-actions .primary span { margin-left:18px; color:var(--orange); }
footer { min-height:48px; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:0 clamp(22px,5vw,72px); color:#8b877f; background:var(--ink); font-size:7px; letter-spacing:.1em; }
@media(max-width:900px){main{grid-template-columns:1fr}.lookup-intro{display:none}.lookup-panel{min-height:calc(100vh - 126px)}}
@media(max-width:560px){header{height:70px}.brand-logo{height:22px}header nav a:first-child{display:none}.lookup-panel{padding:45px 22px}.result-heading{display:block}.badges{justify-content:start;margin-top:15px}#booking-result dl{grid-template-columns:1fr}#booking-result dl div,#booking-result dl div:nth-child(odd){border-right:0;border-bottom:1px solid var(--line)}#booking-result dl div:last-child{border-bottom:0}.result-actions>*{width:100%}footer span:last-child{display:none}}
@media print{header,.lookup-intro,footer,.result-actions,#lookup-view{display:none!important}main{display:block}.lookup-panel{min-height:0;padding:20px}.lookup-panel>article{width:100%;max-width:none}}
