:root{--bg:#0b0809;--panel:#1a0d10;--ink:#f0e4c8;--muted:#b09a7c;--gold:#b8954f;--blood:#7a1424;--ok:#3f8f5a;--line:#3d1f25;--plum:#3a1f45}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:"Cormorant Garamond",Georgia,serif;font-size:18px;line-height:1.5}
body{min-height:100vh;background:radial-gradient(ellipse at 50% -10%,#3b0f1a 0%,rgba(58,31,69,.35) 35%,var(--bg) 70%) fixed}
.wrap{max-width:560px;margin:0 auto;padding:40px 16px 64px}
.eyebrow{font-family:"Poiret One",sans-serif;letter-spacing:.35em;font-size:13px;color:var(--gold);text-align:center;text-transform:uppercase}
h1{font-family:"Limelight",Georgia,serif;font-weight:400;font-size:clamp(34px,8vw,48px);line-height:1.05;text-align:center;margin:14px 0 8px}
.sub{text-align:center;color:var(--muted);font-style:italic}
.rule{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:28px 0;border:0}
.card{background:var(--panel);border:1px solid var(--line);padding:24px;outline:1px solid #4a2a1c;outline-offset:4px}
.facts{list-style:none;padding:0;margin:0 0 4px}
.facts li{display:grid;grid-template-columns:7.5em 1fr;gap:12px;align-items:baseline;padding:8px 0;border-bottom:1px dashed var(--line)}
.facts li span:last-child{text-align:left}
.facts li:last-child{border:0}.facts span:first-child{color:var(--muted)}
label{display:block;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:16px 0 6px;font-family:"Poiret One",sans-serif}
input,select{width:100%;padding:12px;background:#0f0b0a;border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:0}
input:focus,select:focus{outline:1px solid var(--gold)}
button,.btn{display:block;width:100%;margin-top:22px;padding:15px;background:var(--gold);color:#1a120c;border:0;font-family:"Poiret One",sans-serif;font-size:16px;letter-spacing:.25em;text-transform:uppercase;cursor:pointer;text-align:center;text-decoration:none}
button:disabled{opacity:.5;cursor:default}
.total{display:flex;justify-content:space-between;margin-top:16px;font-size:20px}
.note{font-size:14px;color:var(--muted);text-align:center;margin-top:14px}
.err{color:#e0767b;text-align:center;margin-top:12px;min-height:1em}
.scarce{color:#e0767b;text-align:center;font-style:italic;margin-top:10px}
.pw{font-family:"Limelight",Georgia,serif;font-size:30px;text-align:center;letter-spacing:.06em;margin:6px 0}
.qr{display:block;margin:12px auto;background:#fff;padding:10px;width:240px;max-width:80%}
.big{font-size:56px;text-align:center;font-family:"Limelight",Georgia,serif;line-height:1}
.ok{background:var(--ok)!important;color:#fff!important}.bad{background:var(--blood)!important;color:#fff!important}
table{width:100%;border-collapse:collapse;font-size:15px}td,th{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left}th{color:var(--muted);font-weight:400}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center}.stats b{display:block;font-size:28px;font-family:"Limelight",Georgia,serif}.stats small{color:var(--muted);font-size:13px}
.hidden{display:none}
.lede{font-family:"Limelight",Georgia,serif;text-align:center;font-size:20px;color:var(--gold);margin:22px 0 10px}
.desc p{margin:0 0 12px;text-align:center}
.desc .close{font-style:italic;color:var(--gold)}
@media(max-width:480px){.facts li{grid-template-columns:5.8em 1fr}}
.hint{font-size:14px;color:var(--muted);margin:-2px 0 8px}
.guest{margin-bottom:8px}
.tix{border-top:1px solid var(--line);padding:22px 0 6px;text-align:center}
.tix .no{font-family:"Poiret One",sans-serif;letter-spacing:.3em;font-size:12px;color:var(--gold)}
.tix .who{font-size:24px;margin:4px 0}
.tix a{color:var(--gold);font-size:15px}
