
:root{--ink:#352d27;--muted:#746e67;--sage:#626b57;--cream:#f7f2e8;--paper:#fffdf8;--rust:#905d45;--line:#ded8ce}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.shell{max-width:760px;margin:auto}.hero{min-height:48vh;display:flex;align-items:end;justify-content:center;text-align:center;color:#fff;padding:32px 20px;background:linear-gradient(to top,rgba(30,25,22,.72),rgba(30,25,22,.08)),linear-gradient(135deg,#76806c,#b27c64);background-size:cover;background-position:center}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:700}.hero h1,.detail h1,.section h2{font-family:Georgia,serif;font-weight:500}.hero h1{font-size:clamp(2.7rem,10vw,5rem);line-height:.95;margin:.5rem 0}.card,.section,.arrive{margin:16px;background:var(--paper);border-radius:20px;padding:22px;border:1px solid var(--line)}
.card{margin-top:-30px;position:relative;text-align:center;box-shadow:0 18px 45px rgba(53,45,39,.12)}.card p,.section p{color:var(--muted);line-height:1.55}
.lookup{display:flex;gap:10px;justify-content:center}.lookup input{width:130px;padding:14px;border:1px solid var(--line);border-radius:12px;font-size:1.25rem;letter-spacing:.25em;text-align:center}
button,.btn{border:0;border-radius:12px;background:var(--sage);color:#fff;padding:14px 18px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.btn.secondary{background:#fff;color:var(--sage);border:1px solid var(--sage)}
.error{color:#9b3f34;min-height:1.2rem;margin-top:10px}.footer{text-align:center;color:var(--muted);font-size:.82rem;padding:24px}
.detail{text-align:center;padding:28px 20px 8px}.detail h1{font-size:clamp(2.2rem,8vw,3.8rem);margin:.35rem 0}.detail p{color:var(--muted)}
.arrive{background:var(--sage);color:#fff;text-align:center;border:0}.arrive small{display:block;text-transform:uppercase;letter-spacing:.16em;font-weight:700}.arrive strong{display:block;font-family:Georgia,serif;font-size:2.35rem;margin:.3rem}.arrive p{margin:.2rem 0}
.maps{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.flow{font-weight:700;letter-spacing:.03em;color:var(--sage)!important}
.seat-map{min-height:180px;border:1px dashed #bdb5aa;border-radius:14px;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;background:#faf7f0;color:var(--muted);margin-top:14px}
.hidden{display:none}@media(max-width:520px){.maps{grid-template-columns:1fr}.lookup{flex-direction:column}.lookup input{width:100%}}
