.ticket-section{background:var(--mint);background-image:radial-gradient(#24202c18 1.2px,transparent 1.2px);background-size:18px 18px;overflow:hidden}
.ticket-shop{display:grid;grid-template-columns:1fr 1fr;gap:34px 54px;align-items:center}
.ticket-heading{position:relative;z-index:1}
.ticket-overline{font-size:12px;font-weight:900;letter-spacing:.16em;margin:4px 0 16px}
.ticket-heading h2{font-size:clamp(68px,9vw,124px);line-height:.78;text-shadow:5px 5px 0 var(--orange);margin-bottom:25px}
.ticket-heading h2 span{display:inline-block;color:var(--orange);font-family:Inter,sans-serif;font-size:.48em;vertical-align:top;margin-left:10px;animation:ticket-spin 12s linear infinite}
@keyframes ticket-spin{to{transform:rotate(360deg)}}
.ticket-lead{max-width:480px;background:var(--paper);border:2px solid var(--ink);border-radius:22px;padding:18px 20px;box-shadow:4px 4px 0 var(--ink);font-size:16px;line-height:1.6}
.ticket-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.ticket-facts span{display:inline-block;background:var(--lav);border:2px solid var(--ink);border-radius:999px;padding:9px 12px;font-size:10px;font-weight:900;letter-spacing:.03em}
.ticket-card{position:relative;background:var(--paper);border:3px solid var(--ink);border-radius:28px;box-shadow:9px 9px 0 var(--ink);overflow:hidden;transform:rotate(1.2deg);transition:transform .25s,box-shadow .25s}
.ticket-card:hover{transform:rotate(0) translateY(-4px);box-shadow:12px 13px 0 var(--ink)}
.ticket-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:18px 22px;background:var(--lav);border-bottom:2px solid var(--ink)}
.ticket-brand{font-family:Impact,'Anton',sans-serif;font-size:18px;letter-spacing:.03em}
.ticket-status{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:900;letter-spacing:.08em;text-align:right}
.ticket-status i{width:9px;height:9px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px #ff9eaa80;flex-shrink:0}
.ticket-main{padding:28px 28px 24px}
.ticket-type{font-size:10px;font-weight:900;letter-spacing:.18em;color:#655c70}
.ticket-main h3{font-family:Impact,'Anton',sans-serif;font-size:clamp(38px,5vw,64px);line-height:.84;margin:15px 0 20px;letter-spacing:-.02em}
.ticket-main h3 em{font-style:normal;color:var(--violet);-webkit-text-stroke:1px var(--ink)}
.ticket-price{display:inline-block;background:var(--yellow);border:2px solid var(--ink);border-radius:12px;padding:12px 14px;font-size:12px;font-weight:1000;letter-spacing:.08em;box-shadow:3px 3px 0 var(--ink)}
.ticket-includes{list-style:none;margin:22px 0;padding:0;display:grid;gap:10px;font-size:12px;font-weight:700}
.ticket-includes li:before{content:'✳';color:var(--orange);font-size:16px;margin-right:10px}
.ticket-disabled{width:100%;border-radius:14px;box-shadow:3px 3px 0 var(--ink);opacity:.7;cursor:not-allowed}
.ticket-disabled:hover{transform:none;box-shadow:3px 3px 0 var(--ink)}
.ticket-perforation{height:18px;position:relative;border-top:2px dashed #bdb4c9;margin:0 22px}
.ticket-perforation:before,.ticket-perforation:after{content:'';position:absolute;top:-13px;width:24px;height:24px;border:2px solid var(--ink);border-radius:50%;background:var(--mint)}
.ticket-perforation:before{left:-38px}.ticket-perforation:after{right:-38px}
.ticket-stub{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:14px 24px 24px;background:#fff8fc}
.stub-stamp{width:56px;height:56px;display:grid;place-content:center;text-align:center;background:var(--orange);border:2px solid var(--ink);border-radius:50%;font-family:Impact,sans-serif;font-size:21px;line-height:.8;box-shadow:3px 3px 0 var(--ink);transform:rotate(-10deg)}
.ticket-stub small{font-size:9px;letter-spacing:.13em;font-weight:900;color:#655c70}.ticket-stub strong{display:block;font-family:Impact,'Anton',sans-serif;font-size:24px;line-height:.9;margin-top:5px}.stub-code{font-family:monospace;font-size:11px;font-weight:900;letter-spacing:.15em;line-height:1.4;text-align:right;color:var(--violet)}
.ticket-footnote{grid-column:1/-1;display:flex;align-items:center;gap:14px;background:var(--paper);border:2px solid var(--ink);border-radius:20px;padding:16px 20px;box-shadow:4px 4px 0 var(--ink)}
.ticket-footnote-icon{font-size:27px;color:var(--orange)}.ticket-footnote p{font-size:12px;line-height:1.5;margin:0;flex:1}.ticket-footnote a{font-size:11px;font-weight:900;text-decoration:underline;white-space:nowrap}
@media(max-width:850px){.ticket-shop{grid-template-columns:1fr;gap:28px}.ticket-heading h2{font-size:clamp(72px,15vw,110px)}.ticket-card{transform:none}.ticket-footnote{grid-column:auto;align-items:flex-start;flex-wrap:wrap}.ticket-footnote p{min-width:70%}}
@media(max-width:460px){.ticket-card-top{padding:14px 15px;align-items:flex-start;flex-direction:column}.ticket-main{padding:22px 18px}.ticket-stub{padding:12px 17px 20px;gap:10px}.stub-stamp{width:46px;height:46px;font-size:18px}.ticket-stub strong{font-size:20px}.stub-code{font-size:9px}.ticket-footnote a{margin-left:40px}}
@media(prefers-reduced-motion:reduce){.ticket-heading h2 span{animation:none}.ticket-card{transition:none}}
