*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',sans-serif;background:#f3f1ec;color:#17313a}.hidden{display:none!important}.shell{max-width:1180px;margin:auto;padding:28px}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:end;background:#17313a;color:white;border-radius:28px;padding:42px;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;inset:auto -80px -100px auto;width:320px;height:320px;border-radius:50%;background:#c4a56a22}.back{position:absolute;top:20px;left:24px;color:#d9e3e5;text-decoration:none}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.72rem;color:#c4a56a}h1,h2{font-family:'Playfair Display',serif;margin:.4rem 0 1rem}h1{font-size:clamp(2.3rem,5vw,4.7rem);line-height:1}.hero p{max-width:620px;color:#d9e3e5;font-size:1.05rem}.hero-card{position:relative;z-index:1;background:#ffffff12;border:1px solid #ffffff24;padding:24px;border-radius:18px;display:grid;gap:8px}.hero-card strong{font-size:1.2rem}.hero-card span{color:#d9e3e5}.booking-panel,.manage,.success{background:#fff;border-radius:24px;margin-top:20px;padding:28px;border:1px solid #e4e0d8}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px}.steps span{padding:10px;border-radius:999px;text-align:center;background:#f1f3f3;color:#708187;font-size:.8rem;font-weight:700}.steps .active{background:#17313a;color:white}.stage{padding:24px 0;border-top:1px solid #ece8e0}.stage:first-of-type{border:0}.stage-head{display:flex;justify-content:space-between;gap:18px;align-items:end}.stage-head label{width:150px}label{display:grid;gap:7px;font-size:.86rem;font-weight:700}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #d9d9d4;border-radius:11px;background:white}.date-strip{display:flex;gap:10px;overflow:auto;padding:10px 2px}.date-card{min-width:112px;border:1px solid #dedbd5;background:#fff;color:#17313a;padding:14px;border-radius:14px;display:grid;gap:4px;cursor:pointer}.date-card strong{font-size:1rem}.date-card small{color:#7b878a}.date-card.active{background:#17313a;color:white;border-color:#17313a}.date-card.active small{color:#d9e3e5}.date-card:disabled{opacity:.4;cursor:not-allowed}.times{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.time-button{background:#edf2f2;color:#17313a;border:1px solid #d6e0e1}.time-button.active{background:#c4a56a;color:#17313a;border-color:#c4a56a}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:9px;margin-top:14px}.check input{width:auto}.summary{margin:18px 0;padding:16px;border-radius:14px;background:#f5f2ec;display:grid;gap:6px}.summary strong{font-size:1.06rem}button{border:0;border-radius:11px;padding:12px 16px;background:#17313a;color:white;font-weight:800;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.text-button{background:transparent;color:#355b65}.error{margin-top:12px;padding:12px;background:#fff0ee;color:#a22b21;border-radius:10px}.empty{grid-column:1/-1;text-align:center;padding:28px;color:#79868a;background:#f8f8f6;border-radius:14px}.success{text-align:center;padding:50px}.tick{display:grid;place-items:center;margin:0 auto 15px;width:64px;height:64px;border-radius:50%;background:#dcece4;color:#1e6844;font-size:2rem}.success #successDetails{margin:20px auto;max-width:560px;background:#f5f2ec;padding:18px;border-radius:14px;display:grid;gap:7px}.manage{display:grid;grid-template-columns:.7fr 1.3fr;gap:28px}.manage form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.manage #lookupResult{grid-column:1/-1}.lookup-card{margin-top:16px;background:#f5f2ec;padding:18px;border-radius:14px;display:grid;gap:8px}.danger{background:#a7352d}footer{padding:28px 8px;color:#718084;font-size:.83rem}footer a{color:#17313a}.spinner{grid-column:1/-1;text-align:center;padding:24px}@media(max-width:760px){.shell{padding:12px}.hero{grid-template-columns:1fr;padding:72px 22px 24px;border-radius:20px}.booking-panel,.manage,.success{padding:19px;border-radius:18px}.steps{display:none}.stage-head{align-items:start}.grid,.manage,.manage form{grid-template-columns:1fr}.times{grid-template-columns:repeat(3,1fr)}.date-card{min-width:98px}.hero-card{padding:18px}}

/* Generic Prime Reserve product demonstration */
.hero{padding:34px 38px;min-height:265px;align-items:center}
.hero h1{font-size:clamp(2.35rem,4.4vw,4rem)}
.details>.grid+label{margin-top:16px}
#venuePhone.hidden{display:none}
@media(max-width:760px){.hero{padding:34px 22px 24px;min-height:0}.details>.grid+label{margin-top:15px}}
.demo-home-link{position:absolute;z-index:3;top:18px;left:24px;display:inline-flex;align-items:center;gap:6px;color:#fff;text-decoration:none;font-size:.82rem;font-weight:700;padding:8px 11px;border-radius:9px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16)}
.demo-home-link:hover{background:rgba(255,255,255,.18)}
.demo-booking-hero{padding-top:64px}
@media(max-width:760px){.demo-home-link{top:14px;left:16px}.demo-booking-hero{padding-top:64px}}

.large-party-note{margin:12px 0 18px;padding:12px 14px;background:#fff4ef;border:1px solid #ffd2c7;border-radius:12px;color:#7d382b}
