:root{--bg:#1b070e;--ink:#2a0d16;--red:#e12a35;--gold:#ffbf2e;--paper:#f7efe4;--pink:#5a1a26;--tx:#f5eae6;--mut:#cfb5b4}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);font:400 16.5px/1.7 Inter,system-ui,sans-serif}
h1,h2,h3,.cta-t,.logo{font-family:"Roboto Condensed",sans-serif;font-weight:700;line-height:1.12}
.belt{background:var(--red);color:#fff;text-align:center;font:700 13px "Roboto Condensed";letter-spacing:.04em}
.belt span{display:block;padding:8px 16px}
.btn{display:inline-block;background:var(--gold);color:#2b0f00;font-weight:600;text-decoration:none;padding:.72em 1.3em;border-radius:3px;border-bottom:3px solid #b9820b;transition:transform .1s}
.btn:active{transform:translateY(2px);border-bottom-width:1px}.btn.o{background:none;color:var(--tx);border:1px solid var(--pink)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
header .in{max-width:1160px;margin:auto;padding:14px 20px;display:flex;gap:10px;align-items:center}
.logo{margin-right:auto;font-size:28px;text-decoration:none;color:var(--tx)}.logo i{font-style:normal;color:var(--gold)}
.hero{max-width:1160px;margin:auto;padding:46px 20px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr);gap:44px;align-items:start}
.hero h1{font-size:clamp(32px,4.6vw,54px);margin:0 0 16px}.hero p{color:var(--mut)}
.rcpt{background:var(--paper);color:#2a1418;padding:22px 22px 30px;font-size:15px;font-variant-numeric:tabular-nums;transform:rotate(1.5deg);
 -webkit-mask:linear-gradient(#000 0 0) top/100% calc(100% - 10px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/20px 10px repeat-x;
 mask:linear-gradient(#000 0 0) top/100% calc(100% - 10px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/20px 10px repeat-x}
.rcpt .h{font:700 20px "Roboto Condensed";text-align:center;border-bottom:2px dashed #b9a9a0;padding-bottom:10px;margin:0 0 8px}
.rcpt p{display:flex;justify-content:space-between;gap:12px;margin:0;padding:7px 0;border-bottom:1px dotted #c9b9ae;color:#2a1418}
.rcpt b{color:var(--red)}
main{max-width:860px;margin:auto;padding:0 20px 30px}
.sec{padding:30px 0}.sec+.sec{border-top:2px dashed var(--pink)}
.sec h2{font-size:clamp(26px,3.5vw,38px);margin:0 0 14px}.sec h3{font-size:22px;margin:24px 0 8px;color:var(--gold)}
li{margin:.35em 0}ul{list-style:square}li::marker{color:var(--gold)}
.tw{overflow-x:auto;margin:20px 0;background:var(--paper);color:#2a1418;border-radius:4px}
table{width:100%;border-collapse:collapse;min-width:520px;font-size:15px;font-variant-numeric:tabular-nums}
th{font:700 15px "Roboto Condensed";text-align:left;background:#ecdccb;padding:10px 14px}td{padding:10px 14px;border-top:1px solid #dccbbb}
tr:nth-child(even) td{background:#f1e6d8}
blockquote{margin:18px 0;padding:14px 18px;background:#3a0e18;border:1px solid var(--red);border-radius:4px}blockquote p{margin:0}
.ticket{display:grid;grid-template-columns:minmax(0,1fr) auto;margin:34px 0;background:var(--gold);color:#2b0f00;border-radius:10px;
 -webkit-mask:radial-gradient(circle 14px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 14px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
 mask:radial-gradient(circle 14px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 14px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat}
.ticket .l{padding:24px 28px}.ticket .r{display:flex;align-items:center;padding:20px 28px;border-left:2px dashed rgba(43,15,0,.4)}
.ticket .cta-t{font-size:26px;margin:0 0 6px}.ticket p{margin:0}
.ticket .btn{background:#2b0f00;color:var(--gold);border-color:#000}
.faq .it{border-bottom:1px solid var(--pink)}.faq h3{margin:0;font-size:19px;color:var(--tx)}
.faq button{all:unset;cursor:pointer;display:flex;justify-content:space-between;gap:12px;width:100%;padding:15px 0;font:inherit}
.faq button:after{content:"+";color:var(--gold);font-weight:700}.faq button[aria-expanded=true]:after{content:"−"}
.faq button:focus-visible{outline:2px solid var(--gold)}
.faq .pn{padding:0 0 14px;color:var(--mut)}.faq .pn p{margin:0}
footer{background:#120408;padding:30px 20px;text-align:center;font-size:14px;color:var(--mut)}footer .age{max-width:780px;margin:0 auto 10px}
@media(max-width:860px){.hero{grid-template-columns:1fr;padding-top:28px}.rcpt{max-width:340px;margin:auto}.ticket{grid-template-columns:1fr}.ticket .r{border-left:0;border-top:2px dashed rgba(43,15,0,.4)}.o{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important}}
html,body{max-width:100%;overflow-x:clip}
img{max-width:100%;height:auto}
.logo img{height:44px;width:auto;display:block}
h1,h2,h3,p,td,th,li{overflow-wrap:break-word}
.fan,.wheel,.phone,.dial,.rcpt{max-width:100%}
.fan{overflow:hidden}
.cfp-invite{padding:18px 16px 0}
.cfp-invite .box{max-width:760px;margin:0 auto;text-align:center;padding:28px 26px;border-radius:12px;background:rgba(255,191,46,.12);border:1px solid rgba(255,191,46,.45)}
.cfp-invite p{margin:0 auto 16px;max-width:46ch;color:var(--mut)}
.cfp-invite p.cfp-invite-t{margin:0 0 8px;max-width:none;color:var(--tx);font-family:"Roboto Condensed",sans-serif;font-weight:700;font-size:clamp(26px,4vw,40px);line-height:1.15}
@media(max-width:820px){.cfp-invite{padding:12px 12px 0}.cfp-invite .box{padding:20px 16px}.cfp-invite .btn{display:block}}
.cfp-pays{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:16px auto;padding:0;max-width:920px}
.cfp-pays li{margin:0}
.cfp-pays li::marker{content:none}
.cfp-pays a{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.cfp-pays img{height:38px;width:auto;max-width:96px;object-fit:contain;background:#fff;border-radius:8px;padding:4px 8px}
.cfp-legal{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px;margin:0 auto 12px;padding:0;max-width:860px}
.cfp-legal li{margin:0}
.cfp-legal li::marker{content:none}
.cfp-legal a{text-decoration:underline;text-underline-offset:3px}
.cfp-up{position:fixed;right:12px;bottom:16px;z-index:40;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;text-decoration:none;font-weight:700;font-size:20px;background:#ffc229;color:#2a0c00;box-shadow:0 6px 16px rgba(0,0,0,.35);opacity:0;pointer-events:none}
.cfp-up.on{opacity:1;pointer-events:auto}
.cfp-bar{display:none}
.cfp-doc{grid-template-columns:minmax(0,1fr)!important}
.cfp-skel{padding-top:8px;padding-bottom:28px}
.cfp-skel h1{font-size:clamp(32px,4vw,48px);margin:0 0 14px}
@media (max-width:820px){
header .in,.top .in{padding:10px 12px;gap:8px}
.logo{min-width:0}
.logo img{height:36px}
.btn{min-height:44px}
.cta,.ticket,.door,.split{max-width:100%}
.cta .btn,.ticket .btn,.door .btn,.split .btn,.side .btn{width:100%;text-align:center}
.tw{overflow:visible}
table{min-width:0!important}
table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
table tr{display:block;margin:0 0 12px;border:1px solid currentColor;border-radius:12px;overflow:hidden}
table td{display:block;text-align:left;border:0;border-bottom:1px solid currentColor}
table td::before{content:attr(data-label);display:block;font-weight:700;font-size:.78em;letter-spacing:.02em;opacity:.72;margin-bottom:2px}
.cfp-bar{position:fixed;left:10px;right:10px;bottom:10px;z-index:35;display:flex}
.cfp-bar .btn{flex:1;text-align:center}
footer{padding-bottom:176px}
.cfp-up{bottom:92px}
}
@media (prefers-reduced-motion:reduce){
.cfp-up{transition:none}
}
