:root{--ease:cubic-bezier(.2,.7,.2,1);--gold:#f4c15a}
html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:focus-visible{outline:3px solid rgba(163,22,33,.35);outline-offset:3px;border-radius:12px}
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.80);-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid rgba(163,22,33,.10);box-shadow:0 10px 30px -24px rgba(80,10,16,.55)}
.brand small{display:none}
.brand{letter-spacing:-.01em;align-items:center}
header nav a:not(.btn){position:relative;transition:background .25s var(--ease),color .25s var(--ease)}
header nav a:not(.btn):hover{background:rgba(163,22,33,.07);color:var(--red)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;letter-spacing:.005em;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease),color .25s var(--ease);-webkit-user-select:none;user-select:none}
.btn:active{transform:scale(.97)}
.btn.red{background:linear-gradient(135deg,#c4202e,#8a0f1a);color:#fff;border-color:transparent;box-shadow:0 12px 24px -12px rgba(163,22,33,.75),inset 0 1px 0 rgba(255,255,255,.22)}
.btn.red:hover{transform:translateY(-2px);box-shadow:0 18px 30px -14px rgba(163,22,33,.85),inset 0 1px 0 rgba(255,255,255,.25)}
.btn.wh{background:#fff;color:var(--dark);box-shadow:0 14px 28px -14px rgba(0,0,0,.55)}
.btn.wh:hover{transform:translateY(-2px);box-shadow:0 20px 34px -14px rgba(0,0,0,.6)}
.btn.ln{background:rgba(255,255,255,.08);color:#fff;border:1.5px solid rgba(255,255,255,.65);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.btn.ln:hover{background:rgba(255,255,255,.18);transform:translateY(-2px)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:600 11.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.28);padding:10px 18px;border-radius:99px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-bottom:24px}
.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(244,193,90,.25)}
.hero h1{font-size:clamp(38px,6.2vw,74px);line-height:1.04;letter-spacing:-.025em;text-wrap:balance;max-width:14ch}
.hero .lead{max-width:560px;opacity:.94;line-height:1.65}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero .wrap>div>*{animation:rise .8s var(--ease) both}
.hero .wrap>div>*:nth-child(2){animation-delay:.08s}.hero .wrap>div>*:nth-child(3){animation-delay:.16s}.hero .wrap>div>*:nth-child(n+4){animation-delay:.24s}
.ticket{border-radius:28px;box-shadow:0 40px 70px -34px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.4) inset;animation:rise .9s .2s var(--ease) both}
.chips button{transition:all .25s var(--ease);cursor:pointer}
.chips button:hover{transform:translateY(-1px)}
.chips button[aria-pressed=true]{background:linear-gradient(135deg,#b91c2a,#7a0f18);color:#fff;border-color:transparent;box-shadow:0 10px 20px -10px rgba(163,22,33,.8)}
section h2{letter-spacing:-.02em}
.card{border-radius:22px;padding:26px;box-shadow:0 1px 2px rgba(40,10,15,.04),0 18px 40px -26px rgba(80,12,20,.35);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.card:hover{transform:translateY(-5px);box-shadow:0 2px 4px rgba(40,10,15,.05),0 28px 50px -24px rgba(122,15,24,.5)}
section.alt{background:linear-gradient(180deg,#fbf6f6,#f6eaea)}
footer{border-top:0!important;background:linear-gradient(155deg,#560a11,#7a0f18 55%,#92151f);color:#fff;margin-top:0;position:relative}
footer:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--gold),#c4202e,var(--gold))}
footer .wrap{display:block;padding-top:0;padding-bottom:0}
footer a{color:rgba(255,255,255,.88);text-decoration:none}
footer a:hover{color:#fff}
.ft{display:grid;grid-template-columns:1.5fr 1fr 1.2fr;gap:40px;padding:58px 0 34px}
.ft h4{font:700 11.5px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.ft a,.ft span{display:block;margin-bottom:11px;font-size:15px;opacity:.92}
.ft .fbrand{font:800 22px var(--serif);letter-spacing:-.01em;margin-bottom:10px;opacity:1}
.fmotto{font:italic 600 18px var(--serif);margin-bottom:6px}
.fsub{font:500 11.5px var(--sans);letter-spacing:.22em;text-transform:uppercase;opacity:.7}
.fbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:22px 0 30px;border-top:1px solid rgba(255,255,255,.16);font-size:14px;opacity:.95}
.fcta{display:flex;gap:10px;flex-wrap:wrap}
footer .btn{display:inline-flex!important;margin:0!important;padding:11px 22px!important;font-size:14px}
footer .btn.gold{background:linear-gradient(135deg,#f7d27a,#e4a93a);color:#4a0a10;box-shadow:0 12px 24px -12px rgba(244,193,90,.7)}
footer .btn.staff{background:rgba(255,255,255,.10);color:#fff;border:1.5px solid rgba(255,255,255,.45)}
footer .btn.staff:hover{background:rgba(255,255,255,.2)}
@media(max-width:760px){.ft{grid-template-columns:1fr;gap:28px;padding:44px 0 24px}.fbar{flex-direction:column;align-items:flex-start}.hero h1{max-width:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
