:root{--green:#10281e;--green-2:#1c4635;--gold:#ebb543;--cream:#f8f5ef;--ink:#183127;--muted:#657168}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,sans-serif}.hero{min-height:352px;padding:38px 24px 78px;display:grid;place-items:center;background:radial-gradient(circle at 78% 5%,#376a51 0,transparent 35%),linear-gradient(125deg,var(--green),#183a2c);color:#fff}.hero-copy{max-width:780px;text-align:center}.hero-logo{display:inline-block;margin-bottom:30px}.hero-logo img{display:block;width:clamp(265px,31vw,390px);max-width:78vw;height:auto}.eyebrow{margin:0 0 12px;color:#f2ca74;font-size:12px;font-weight:bold;letter-spacing:.16em;text-transform:uppercase}.hero h1{font:clamp(38px,6vw,66px)/.98 Georgia,serif;margin:0}main{width:min(900px,calc(100% - 32px));margin:-42px auto 54px}.info{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid #e5dfd4;border-radius:14px;background:#e5dfd4;overflow:hidden;box-shadow:0 6px 22px #26372a18}.info div{display:flex;gap:12px;align-items:center;background:#fffdf9;padding:18px}.info strong{color:var(--gold);font:27px Georgia,serif}.info span{font-size:14px;font-weight:bold}.chat-card{margin:25px auto 0;width:min(680px,100%);border:1px solid #ded8cd;border-radius:18px;background:#fffdf9;box-shadow:0 16px 46px #24312720;overflow:hidden}.chat-head{padding:22px 25px;border-bottom:1px solid #ebe6dc;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.chat-head p,.dialog-title p{margin:0 0 5px;color:#b17d1d;font-size:10px;letter-spacing:.13em;font-weight:bold}.chat-head h2,.dialog-title h2{margin:0;font:25px Georgia,serif}.online{margin-top:2px;padding:7px 10px;border-radius:20px;background:#eaf5ec;color:#326041;font-size:12px;font-weight:bold;white-space:nowrap}.online i{display:inline-block;width:7px;height:7px;margin-right:5px;background:#3ca35a;border-radius:50%}.chat-messages{min-height:230px;max-height:430px;overflow-y:auto;padding:22px 18px;display:flex;flex-direction:column;gap:10px}.bubble{max-width:85%;padding:11px 13px;border-radius:14px;font-size:15px;line-height:1.4;white-space:pre-wrap}.bubble.ai{align-self:flex-start;background:#edf1ed;border-bottom-left-radius:3px}.bubble.client{align-self:flex-end;background:var(--green);color:#fff;border-bottom-right-radius:3px}.bubble.notice{align-self:center;background:#fff3d7;color:#765613;font-size:13px}.suggestions{display:flex;gap:8px;flex-wrap:wrap;padding:0 18px 15px}.suggestions button{border:1px solid #cfdbcff;background:#fff;color:#264b39;padding:8px 10px;border-radius:18px;font-size:12px;cursor:pointer}.suggestions button:hover{background:#edf5ee}.chat-form{display:flex;gap:9px;padding:14px 18px;border-top:1px solid #ebe6dc;background:#fbfaf6}.chat-form textarea{min-height:44px;max-height:120px;resize:vertical;flex:1;border:1px solid #cbd4cd;border-radius:10px;padding:12px;font:15px Arial,sans-serif}.chat-form button,.reservation-submit{border:0;border-radius:10px;background:var(--gold);color:#3a2a0b;padding:0 18px;font-weight:bold;cursor:pointer}.chat-form button:disabled,.reservation-submit:disabled{opacity:.6;cursor:wait}.privacy{margin:0;padding:0 18px 18px;color:#788178;font-size:11px;line-height:1.4}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}footer{text-align:center;padding:0 20px 36px;color:#758178;font-size:13px}.reservation-dialog{width:min(590px,calc(100% - 22px));max-height:calc(100vh - 30px);border:0;border-radius:18px;padding:0;box-shadow:0 20px 70px #0008}.reservation-dialog::backdrop{background:#0d2219b8}.reservation-form{display:grid;gap:14px;padding:24px;overflow:auto;max-height:calc(100vh - 30px);background:#fffdf9}.dialog-title{display:flex;justify-content:space-between;gap:15px}.dialog-close{border:0;background:#edf1ed;width:32px;height:32px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer}.form-intro{margin:0;color:#5e6c63;font-size:14px;line-height:1.4}.reservation-form label{display:grid;gap:6px;font-size:13px;font-weight:bold}.reservation-form input,.reservation-form textarea{width:100%;border:1px solid #cbd4cd;border-radius:8px;padding:10px;font:15px Arial,sans-serif}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reservation-form fieldset{margin:0;border:1px solid #d8ddd7;border-radius:9px;padding:10px;display:flex;gap:14px;flex-wrap:wrap}.reservation-form legend{padding:0 4px;font-size:13px;font-weight:bold}.reservation-form .choice{display:flex;align-items:center;gap:6px;font-weight:normal}.reservation-form .choice input{width:auto;padding:0}.vip-request{background:#fff8e6}.vip-request p{width:100%;margin:0;color:#6d6652;font-size:12px}.reservation-submit{min-height:46px}.quick-messages-card{margin-top:20px}.quick-messages-form{display:grid;gap:14px}.quick-messages-form label{display:grid;gap:6px;font-size:.86rem;font-weight:700}.quick-messages-form textarea{min-height:86px;resize:vertical}@media(max-width:620px){.hero{min-height:320px;padding:30px 18px 64px}.hero-logo{margin-bottom:25px}.hero-logo img{width:clamp(220px,72vw,310px)}.info{grid-template-columns:1fr}.info div{padding:13px 18px}.chat-head{padding:18px}.chat-head h2{font-size:22px}.chat-messages{min-height:260px}.chat-form button{padding:0 12px}.reservation-form{padding:20px}.form-two{grid-template-columns:1fr}}

.notification-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 18px;background:#fff6dc;border-bottom:1px solid #eed69d;color:#59421b;font-size:13px;line-height:1.4;overflow-wrap:anywhere}.notification-bar button{flex-shrink:0;min-height:44px;padding:9px 14px;border:1px solid #c49431;border-radius:9px;background:#ebb543;color:#3a2a0b;font:700 13px Arial,sans-serif;cursor:pointer}.notification-bar button:disabled{opacity:.65;cursor:wait}.notification-bar button[hidden]{display:none}.team-arrival{margin:0;padding:7px 18px;background:#eef5ef;color:#285b3a;font-size:13px}.identity-gate>p{overflow-wrap:anywhere}@media(max-width:620px){.notification-bar{flex-wrap:wrap;padding:10px 14px}.notification-bar button{max-width:100%}.notification-bar span{min-width:0}}

/* Reservation policy and period selection share the existing dialog. */
.reservation-dialog [hidden]{display:none!important}
.reservation-policy{padding:24px;overflow:auto;max-height:calc(100dvh - 30px);font-size:16px;line-height:1.6;color:#172b21}
.reservation-policy>.dialog-close{float:right;margin-left:12px}
#policy-document h2{font-size:1.4rem;line-height:1.3;margin:0 0 24px}
#policy-document p{margin:0 0 1em}
.policy-accept{display:flex;align-items:flex-start;gap:10px;margin:24px 0;cursor:pointer}
.policy-accept input{width:20px;height:20px;flex:none;margin-top:3px}
.reservation-policy .reservation-submit{width:100%;padding:14px;border:0;border-radius:10px;background:#ebb543;color:#10281e;font:inherit;font-weight:700;cursor:pointer}
.reservation-submit:disabled{opacity:.45;cursor:not-allowed}
.reservation-summary{padding:14px;background:#edf5ee;border:1px solid #acc5b0;border-radius:8px;font-weight:700}
#reservation-error{color:#8d2020;white-space:pre-wrap}
@media(max-width:620px){.reservation-policy{padding:20px;max-height:calc(100dvh - 24px)}.reservation-form{max-height:calc(100dvh - 24px)}}
