.booking-body{min-height:100vh}.booking-header{display:flex;justify-content:space-between;align-items:center;padding-top:26px;padding-bottom:24px;gap:20px}.booking-header nav{display:flex;align-items:center;gap:24px;font-size:12px}.booking-text-button{padding:0;border:0;background:transparent;font-size:12px;text-decoration:underline;text-underline-offset:4px}.booking-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:70px;align-items:start;margin:44px auto 56px}.booking-intro{position:sticky;top:30px;max-width:430px}.booking-intro h1{font:normal clamp(44px,4.3vw,64px)/1.06 var(--serif);letter-spacing:-2.2px;margin:18px 0 24px}.booking-intro h1 em{font-weight:normal;color:var(--brown)}.booking-lede{max-width:350px;color:var(--muted);font-size:15px;line-height:1.8}.pack-passport{margin:34px 0 24px;background:linear-gradient(155deg,#fffdf9,#f0eee3);border:1px solid #d9d4c5;border-radius:24px;box-shadow:0 2px 0 #fff inset,0 -3px 0 #dfdbd0 inset,0 16px 35px #5845280b;padding:24px;transform:perspective(1000px) rotateY(2deg)}.passport-top{display:flex;align-items:center;gap:14px}.passport-mark{flex-shrink:0;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#eee4cb;box-shadow:0 2px 0 #fff8 inset,0 5px 10px #76522518}.passport-top .eyebrow{font-size:8px;letter-spacing:1.5px;margin:0 0 5px}.passport-top strong{font-size:13px;overflow-wrap:anywhere}.milestones{list-style:none;padding:0;display:grid;gap:12px;margin:26px 0 20px}.milestones li{display:flex;align-items:center;gap:12px;color:#78756c;font-size:12px}.milestones li span{border:1px solid #d6d0c3;display:grid;place-items:center;height:29px;width:29px;border-radius:50%;font-size:9px;background:#fff9}.milestones li[aria-current=step]{color:var(--brown);font-weight:bold}.milestones li[aria-current=step] span{background:var(--brown);color:white;box-shadow:0 3px 8px #76522529;border-color:var(--brown)}.milestones li.complete span{font-size:0;background:var(--sage);border-color:#b9c2a6}.milestones li.complete span:after{content:'✓';font-size:12px}.passport-note{margin:0;padding-top:16px;border-top:1px solid #ddd6c8;font-size:11px;line-height:1.75;color:var(--muted)}.booking-small{font-size:11px;line-height:1.9;color:var(--muted)}.booking-small a{color:var(--brown);text-decoration:underline;text-underline-offset:3px}.chat-shell{background:#fffdf8ed;border:1px solid #dcd6c7;border-radius:30px;box-shadow:0 2px 0 #fff inset,0 5px 0 #e7e1d5,0 25px 70px #57412712;overflow:hidden;min-width:0;position:relative;isolation:isolate}.chat-header{padding:22px 28px;display:flex;align-items:center;gap:13px;border-bottom:1px solid #e7e2d8;background:linear-gradient(115deg,#fffdf8,#f4f2e9)}.concierge-avatar{width:49px;height:49px;display:grid;place-items:center;background:#fff;border:1px solid #e5dece;border-radius:50%;box-shadow:0 4px 10px #53402712}.chat-header h2{font:normal 22px var(--serif);letter-spacing:-.5px;margin:0 0 5px}.chat-header p{font-size:10px;color:var(--muted);margin:0}.chat-status-dot{margin-left:auto;flex-shrink:0;background:#7a8c64;border:3px solid #e5e9dc;border-radius:50%;width:11px;height:11px}.conversation{padding:28px 28px 12px;display:flex;flex-direction:column;gap:18px;max-height:510px;min-height:230px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d4ccb9 transparent}.chat-message{max-width:91%;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.75;animation:message-arrive .3s ease-out}.chat-message.assistant{align-self:flex-start;background:#f1f0e6;padding:16px 19px;border:1px solid #e8e5d8;border-radius:4px 19px 19px 19px}.chat-message.customer{align-self:flex-end;background:#765526;color:#fffdf5;padding:13px 18px;border-radius:19px 4px 19px 19px;box-shadow:0 4px 8px #76522517}.chat-message.notice{background:#f1e8cc;border-color:#ddd0a6;font-size:13px}.chat-message.typing{color:var(--muted);font-size:12px}.quick-replies{display:flex;flex-wrap:wrap;gap:8px;padding:6px 28px 18px}.quick-replies:empty{padding-bottom:0}.chat-chip{border:1px solid #d5cebd;border-radius:100px;background:#fffdf9;padding:9px 14px;font-size:12px;box-shadow:0 2px 0 #e9e2d4;transition:transform .15s,background .15s;min-height:40px}.chat-chip:hover{transform:translateY(-1px);background:#f0eddf}.chat-chip:active{transform:translateY(1px)}.chat-composer{display:flex;gap:12px;margin:18px 24px 12px;border:1px solid #d8d1c1;border-radius:20px;padding:12px 12px 12px 16px;background:#fff;box-shadow:0 2px 5px #5e442a08 inset}.chat-composer textarea{resize:none;min-height:48px;max-height:140px;flex:1;min-width:0;border:0;background:transparent;font-size:13px;line-height:1.7;color:var(--ink);outline-offset:3px}.chat-composer button{width:42px;height:42px;align-self:flex-end;flex-shrink:0;background:var(--brown);color:#fff;border:0;border-radius:50%;font-size:23px;box-shadow:0 3px 0 var(--brown-dark),0 5px 12px #76522520}.chat-composer button:disabled{opacity:.55}.chat-footer{display:flex;gap:14px;align-items:center;justify-content:space-between;font-size:9px;line-height:1.7;color:var(--muted);padding:8px 28px 23px}.chat-footer .booking-text-button{flex-shrink:0;font-size:9px}.chat-error{margin:14px 28px 0;background:#f6e8df;border:1px solid #d9bba8;border-radius:12px;padding:12px;font-size:12px;line-height:1.7}.booking-review{padding:8px 28px 12px}.review-card{border:1px solid #ded7c7;border-radius:18px;padding:20px;margin:12px 0;background:#fdfaf2}.review-card h3{font:normal 20px var(--serif);margin:0 0 12px}.review-card dl{margin:0;display:grid;grid-template-columns:100px minmax(0,1fr);font-size:12px;gap:7px 14px}.review-card dt{color:var(--muted)}.review-card dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.review-card button{margin-top:16px}.booking-check{display:flex;gap:10px;align-items:flex-start;margin:16px 0;font-size:12px;line-height:1.7;cursor:pointer}.booking-check input{margin-top:4px;accent-color:var(--brown);width:16px;height:16px;flex-shrink:0}.booking-review .button{width:100%;margin:10px 0;font-size:12px}.booking-account-note{font-size:11px;color:var(--muted);line-height:1.8}.booking-privacy{font-size:11px;color:var(--muted);max-width:850px;padding-bottom:24px}.booking-privacy summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}.booking-privacy p{line-height:1.9}.booking-privacy a{text-decoration:underline}.booking-footer{border-top:1px solid var(--line);padding-top:25px;padding-bottom:32px;font-size:10px;color:var(--muted);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}.booking-footer>div{display:flex;flex-wrap:wrap;gap:20px}.booking-footer .site-credit{width:100%;margin:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--brown);outline-offset:5px}@keyframes message-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1000px){.booking-layout{gap:36px;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}.booking-intro h1{font-size:48px}.pack-passport{padding:20px}.chat-header{padding:20px}.conversation{padding:22px 20px 10px}.quick-replies{padding-left:20px;padding-right:20px}.chat-footer{padding-left:20px;padding-right:20px}}@media(max-width:760px){.booking-header{padding-top:20px;align-items:flex-start}.booking-header nav{gap:12px;flex-direction:column;align-items:flex-end;font-size:10px}.booking-layout{grid-template-columns:1fr;gap:24px;margin-top:20px;margin-bottom:35px}.booking-intro{position:static;max-width:none}.booking-intro h1{font-size:43px;letter-spacing:-1.5px;margin:12px 0 15px}.booking-intro h1 br:last-of-type{display:none}.booking-lede{max-width:100%;font-size:13px;margin-bottom:0}.pack-passport{margin:20px 0 0;padding:17px;transform:none}.passport-top{gap:10px}.passport-mark{width:39px;height:39px}.passport-mark img{width:23px;height:23px}.milestones{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:16px 0 0}.milestones li{gap:5px;flex-direction:column;align-items:flex-start;font-size:9px}.milestones li span{width:24px;height:24px;font-size:8px}.passport-note,.booking-small{display:none}.chat-shell{border-radius:23px}.chat-header h2{font-size:20px}.conversation{max-height:440px;min-height:200px;padding:20px 17px 10px;gap:14px}.chat-message{font-size:13px;max-width:96%}.chat-message.assistant{padding:13px 15px}.quick-replies{padding-left:17px;padding-right:17px}.chat-chip{font-size:11px;padding:8px 12px}.chat-composer{margin:14px 14px 8px;padding-left:12px}.chat-footer{padding:8px 17px 19px}.booking-review{padding:0 17px 12px}.review-card{padding:16px}.review-card dl{grid-template-columns:85px minmax(0,1fr);font-size:11px}.booking-footer{gap:14px;font-size:9px}}@media(prefers-reduced-motion:reduce){.chat-message{animation:none}.chat-chip{transition:none}.pack-passport{transform:none}}
.account-dialog{width:min(520px,calc(100% - 28px));max-height:calc(100dvh - 40px);border:1px solid #d8cfbd;border-radius:28px;background:#fffdf7;color:var(--ink);padding:32px;box-shadow:0 30px 100px #35281535;overflow:auto}.account-dialog::backdrop{background:#312a2166;backdrop-filter:blur(7px)}.account-dialog h2{font:normal 36px/1.1 var(--serif);letter-spacing:-1px;margin:12px 0}.account-dialog .eyebrow{font-size:9px;margin:0}.account-lede{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:20px}.account-close{position:absolute;right:16px;top:12px;background:transparent;border:0;width:40px;height:40px;border-radius:50%;font-size:28px;color:var(--muted)}.account-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.account-choice{text-align:left;border:1px solid #dcd5c5;background:#f8f5eb;border-radius:16px;padding:16px 13px;color:var(--ink);box-shadow:0 3px 0 #e8e2d3}.account-choice strong{display:block;font-size:13px;margin-bottom:8px}.account-choice span{font-size:11px;line-height:1.55;display:block;color:var(--muted)}.account-choice[aria-pressed=true]{border-color:var(--brown);background:#eee7d6;box-shadow:0 0 0 1px var(--brown),0 3px 0 #d8c6a4}.account-choice:disabled{opacity:.5}.account-field{display:grid;gap:8px;margin:18px 0;font-size:12px}.account-field input{border:1px solid #d7cebc;background:white;padding:13px 14px;border-radius:12px;width:100%;font-size:16px;color:var(--ink);box-sizing:border-box}.account-help{font-size:11px;line-height:1.8;color:var(--muted)}.account-form>.button{width:100%;margin:14px 0 18px;font-size:12px}.account-form .account-error{margin:12px 0}.account-switch{display:block;margin:0 auto;text-align:center;font-size:11px}.account-dialog button:disabled{cursor:wait}@media(max-width:450px){.account-dialog{padding:26px 20px;border-radius:23px}.account-dialog h2{font-size:31px}.account-choice{padding:14px 10px}.account-choices{gap:8px}}
