
:root{color-scheme:dark;--ink:#eee5d7;--gold:#d3b77d;--muted:#b5a9a2;--red:#67191f;--line:#423331}*{box-sizing:border-box}body{margin:0;background:#100d0e;color:var(--ink);font:16px/1.6 Arial,sans-serif}a{color:inherit}nav{display:flex;justify-content:space-between;align-items:center;padding:25px 5%;border-bottom:1px solid var(--line)}.brand{letter-spacing:.2em;font-size:14px;text-decoration:none}.navlink{font-size:14px;color:var(--gold)}main{max-width:1280px;margin:auto;padding:65px 5%}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center;min-height:670px}.eyebrow{text-transform:uppercase;letter-spacing:.24em;color:var(--gold);font-size:14px}.hero h1{font-family:Georgia,serif;font-size:clamp(58px,8vw,112px);line-height:.92;font-weight:400;letter-spacing:-.045em;margin:35px 0}.hero h1 em{color:var(--gold);font-weight:400}.lead{font-family:Georgia,serif;font-size:26px;font-style:italic;color:var(--muted)}.venue{margin-top:40px;border-left:2px solid var(--gold);padding-left:22px}.venue p{margin:3px 0;color:var(--muted)}.panel{padding:35px;background:linear-gradient(150deg,#331519,#191112 65%);border:1px solid #65443d;box-shadow:0 25px 100px #0005}.panel h2{font-family:Georgia,serif;font-weight:400;font-size:32px;margin:0 0 8px}.price{font-family:Georgia,serif;font-size:64px;line-height:1.2}.price small{font:14px Arial;color:var(--muted)}.muted{color:var(--muted)}label{display:block;font-size:14px;margin:16px 0 6px}input,select,button{font:inherit}input,select{width:100%;background:#100d0e;border:1px solid #64514a;padding:12px;color:var(--ink);border-radius:0}button,.button{display:inline-block;background:var(--gold);color:#1d1210;border:0;padding:15px 24px;cursor:pointer;text-align:center;text-decoration:none;font-weight:700}button:disabled{opacity:.5;cursor:wait}form button{width:100%;margin-top:24px}button:hover,.button:hover{background:#ead3a1}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.fine{font-size:14px;color:var(--muted)}.status{font-size:15px;min-height:24px;color:#f0cbb3}.tiers{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:65px}.tier{padding:28px 22px 28px 0}.tier h3{font:26px Georgia;margin:0 0 10px}.tier strong{color:var(--gold);font-size:24px}.tier p{font-size:14px;color:var(--muted)}footer{border-top:1px solid var(--line);padding:30px 5%;display:flex;justify-content:space-between;font-size:14px;color:var(--muted)}.page{max-width:1100px}.page h1{font:clamp(36px,6vw,64px) Georgia}.narrow{max-width:480px;margin:30px auto}.ticket{background:#eee5d7;color:#1b1315;padding:28px;margin:22px 0;display:flex;gap:32px;align-items:center}.ticket img{width:200px;max-width:100%;height:auto}.ticket code{font-size:12px;overflow-wrap:anywhere}.toolbar{display:flex;gap:16px;flex-wrap:wrap;margin:20px 0}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}td,th{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{color:var(--gold)}.hidden{display:none!important}.check{max-width:650px}#scanbox{border:1px solid var(--line);padding:25px;margin:25px 0}.summary{color:var(--gold);font-size:20px}video{max-width:100%;width:400px}.notice{background:#32171b;padding:14px;border-left:2px solid var(--gold)}@media(max-width:800px){main{padding-top:35px}.hero{grid-template-columns:1fr;gap:35px}.hero h1{font-size:72px}.panel{padding:24px}.tiers{grid-template-columns:1fr}.tier{border-bottom:1px solid var(--line)}.ticket{flex-direction:column;align-items:flex-start}footer{gap:20px}.hero{min-height:0}}@media print{nav,footer,.noprint{display:none}body{background:white}.ticket{break-inside:avoid;border:1px solid #555}main{padding:0}.page h1{color:black}}


/* Palette and composition drawn from the supplied event artwork. */
:root{--ink:#fff3e4;--gold:#e8be79;--muted:#c4b3a3;--red:#c70d22;--line:#654327}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{background:#080505;background-image:radial-gradient(ellipse at 5% 38%,#65041140,transparent 45%),radial-gradient(ellipse at 100% 12%,#9d571522,transparent 40%)}
nav{background:#090606;border-bottom:1px solid #8b5f32;padding:20px 5%;gap:20px}
.brand{font-family:Georgia,serif;color:#f2d8ad;letter-spacing:.15em}
.navlink{text-decoration:none;letter-spacing:.1em;border-bottom:1px solid #9b1a24;padding-bottom:4px}
.event-site main{max-width:1536px;padding:0 4% 60px}
.poster-stage{margin:0 -4.35%;border-bottom:1px solid #805426;background:#050303}
.event-poster{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.poster-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 4%;border-top:1px solid #5b2b22;background:linear-gradient(90deg,#100807,#200608,#100807);font-size:14px;letter-spacing:.16em;color:var(--gold)}
.caption-divider{padding:0 15px;color:#d52a31}
.hero{grid-template-columns:minmax(0,1fr) minmax(340px,.86fr);gap:8%;padding:75px 2% 20px;min-height:0;align-items:start}
.hero h1{font-size:clamp(48px,5.8vw,88px);line-height:1.03;letter-spacing:-.035em;color:#f8eee3;text-shadow:0 2px 25px #c9201922}
.hero h1 span{color:var(--gold);font-size:.7em;letter-spacing:.035em}
.lead{color:#edd3ae;font-size:28px}.program{line-height:2;letter-spacing:.13em;color:#e8c293}
.venue{border-left-color:#c91125}.venue strong{font-family:Georgia,serif;font-size:22px;color:#eed0a0}
.panel{position:relative;border:1px solid #a37442;border-top:3px solid #c31128;background:linear-gradient(145deg,#32090c,#110808 65%,#1d1109);box-shadow:0 20px 75px #0009,0 0 50px #a9000c12;padding:32px}
.panel h2{color:#f5dbb5;font-size:36px}.panel>.eyebrow{color:#f09584;letter-spacing:.15em}.price{color:#f1ca89}
input,select{background:#0a0606;border-color:#72513b}input:hover,select:hover{border-color:#c29459}
button,.button{background:linear-gradient(135deg,#e7bc78,#f4d49c 45%,#cf9a52);color:#210b08;border:1px solid #f0d4a1;box-shadow:0 4px 20px #0004;font-size:15px;letter-spacing:.04em}
button:hover,.button:hover{background:#ffe1af;box-shadow:0 0 25px #db98342b}
button:disabled{opacity:.65;cursor:not-allowed}
.tiers{margin-top:50px;border-top:1px solid #a57643;gap:24px}.tier{border-bottom:1px solid #58241e;padding:26px 0}.tier h3{color:#fff0de}.tier .eyebrow{color:#e78c80}
footer{background:#090505;border-color:#765033}.ticket{border-top:5px solid #a00a1b}#scanbox{border-color:#a37442;background:#160809}
@media(min-width:1550px){.poster-stage{margin:0;border-left:1px solid #654327;border-right:1px solid #654327}}
@media(max-width:800px){nav{padding:18px 5%}.brand{font-size:12px}.navlink{font-size:12px}.poster-caption{flex-direction:column;text-align:center;font-size:12px;padding:18px;gap:14px}.poster-caption .button{width:100%;max-width:380px}.hero{grid-template-columns:1fr;gap:35px;padding:36px 1% 10px}.hero h1{font-size:clamp(42px,10vw,72px);margin:20px 0}.lead{font-size:24px}.venue{margin-top:25px}.panel{padding:24px}.tiers{gap:0;margin-top:30px}.event-site main{padding-bottom:35px}.program{font-size:13px}.poster-caption .caption-divider{padding:0 8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{body{background:#fff}.ticket{box-shadow:none}}

/* Check-in result: distinct color, symbol and readable text. */
.checkin-result{--result-color:#f4c64e;--result-bg:#302609;box-sizing:border-box;width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:32px 26px;text-align:center;border:3px solid var(--result-color);border-radius:16px;background:var(--result-bg);color:#fff;box-shadow:0 24px 90px #000b}
.checkin-result[data-result="success"]{--result-color:#6aee9f;--result-bg:#103c26}
.checkin-result[data-result="used"]{--result-color:#ff9292;--result-bg:#561619}
.checkin-result::backdrop{background:#000b;backdrop-filter:blur(4px)}
.checkin-result .result-symbol{font:bold 56px/1 Arial;color:var(--result-color);margin:0 0 20px}
.checkin-result h2{font:700 28px/1.2 Arial;margin:0 0 16px;color:var(--result-color)}
.checkin-result p{font-size:17px;line-height:1.6;overflow-wrap:anywhere;margin:0 0 26px}
.checkin-result button{width:100%;background:var(--result-color);color:#101010;border:0;box-shadow:none;min-height:50px}
.checkin-result button:focus-visible{outline:3px solid white;outline-offset:5px}

.admin-dialog{width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;background:#1c0b0e;color:#fff0de;border:1px solid #d2a364;padding:28px;border-radius:12px;box-shadow:0 20px 80px #000a}
.admin-dialog::backdrop{background:#000b}.admin-dialog h2{font:28px/1.2 Georgia,serif;color:#efc995;margin-top:0}.admin-dialog p{overflow-wrap:anywhere}.admin-dialog button{margin-top:14px}.admin-dialog [role="alert"]{color:#ffbf8e}.admin-dialog>a{margin-bottom:14px}.admin-dialog input{font-size:16px}
