/* Shared paper treatment. Cutouts expose the actual surface below the ticket. */
body.ticket-required{overflow:hidden}
[data-ticket-gated][inert]{pointer-events:none;user-select:none}
.lead-content{padding-top:48px}
.lead-layout{padding-top:0}
.lead-ticket{isolation:isolate;transform:rotate(-.65deg);filter:drop-shadow(1px 3px 2px #0002) drop-shadow(5px 16px 12px #0002)}
.lead-ticket-face{background:linear-gradient(104deg,#ffffff08,transparent 23%,#0000000a 47%,#ffffff05 49%,#0000000c 52%,transparent 79%),linear-gradient(145deg,#202620,#151917 65%,#111713);box-shadow:inset 0 1px 0 #ffffff14,inset 1px 0 0 #ffffff0d,inset 0 -1px 0 #0005;mask:radial-gradient(circle at right top,transparent 10px,#000 11px) top/100% 51% no-repeat,radial-gradient(circle at right bottom,transparent 10px,#000 11px) bottom/100% 51% no-repeat}
.lead-ticket-face::before,.lead-ticket-face::after{content:none}
.lead-ticket-face::before{content:'';position:absolute;inset:0;width:auto;height:auto;border-radius:inherit;background:url('/assets/ticket-grain.svg') repeat;background-size:180px 180px;opacity:.3;mix-blend-mode:soft-light;pointer-events:none;z-index:0}
.lead-ticket-face>*{position:relative;z-index:1}
.lead-ticket-face h3,.lead-ticket-price{text-shadow:0 1px 1px #0005}
.lead-ticket-stub{position:relative;border-left:2px dashed #7d674f;background:linear-gradient(100deg,#00000008,transparent 25%,#ffffff0a 62%,#0000000b),#e1c8ab;box-shadow:inset 0 1px 0 #ffffff35,inset -1px 0 0 #00000018;mask:radial-gradient(circle at left top,transparent 10px,#000 11px) top/100% 51% no-repeat,radial-gradient(circle at left bottom,transparent 10px,#000 11px) bottom/100% 51% no-repeat}
.lead-ticket-stub::before{content:'';position:absolute;inset:0;background:url('/assets/ticket-grain.svg') repeat;background-size:180px 180px;mix-blend-mode:multiply;opacity:.14;pointer-events:none}
.lead-ticket-stub>*{position:relative;z-index:1}
.lead-ticket[data-ready=true] .lead-ticket-stub{border-left:2px dashed #93602e;background:linear-gradient(102deg,#0000000a,transparent 26%,#ffffff0e 62%,#0000000c),#efa96d}
/* The seam stays dashed. Rotation around its bottom releases the top first. */
.lead-ticket[data-torn=true] .lead-ticket-face::after{content:'';position:absolute;top:11px;bottom:11px;right:0;width:0;height:auto;border-radius:0;border-right:2px dashed #94867488;background:none;z-index:1;pointer-events:none}
.lead-ticket-stub{transform-origin:left bottom}
.lead-ticket[data-tearing=true] .lead-ticket-stub{animation:ticket-detach 1.9s cubic-bezier(.45,0,.3,1) both;pointer-events:none}
.lead-ticket[data-torn=true] .lead-ticket-stub{opacity:1;transform:translate(24px,12px) rotate(7deg);pointer-events:none}
@keyframes ticket-detach{
  0%{transform:translate(0,0) rotate(0);opacity:1}
  25%{transform:translate(0,0) rotate(1.5deg);opacity:1}
  58%{transform:translate(0,0) rotate(4deg);opacity:1}
  78%{transform:translate(12px,4px) rotate(6deg);opacity:1}
  100%{transform:translate(24px,12px) rotate(7deg);opacity:1}
}
.ticket-receipt-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.ticket-receipt-wrap[hidden]{display:none!important}
.ticket-receipt{display:grid;grid-template-columns:minmax(0,1fr) 56px;gap:24px;width:min(440px,100%);padding-right:24px;transform:rotate(-1deg);filter:none}
.ticket-receipt .lead-ticket-face{border-radius:14px 0 0 14px;padding:26px 24px;filter:drop-shadow(2px 4px 3px #0006) drop-shadow(9px 20px 15px #0005)}
.ticket-receipt[data-torn=true] .lead-ticket-stub{transform:translate(0,14px) rotate(5deg);background:linear-gradient(102deg,#0000000a,transparent 26%,#ffffff0e 62%,#0000000c),#efa96d;color:#21190f;border-left:2px dashed #93602e;filter:drop-shadow(2px 4px 3px #0006) drop-shadow(5px 14px 12px #0005);cursor:default}
.ticket-receipt .lead-ticket-face h3{font-size:1.65rem}
.ticket-receipt .lead-ticket-price strong{font-size:6.2rem}
.ticket-receipt .lead-ticket-eyebrow,.ticket-receipt .lead-ticket-saving{display:block}
.ticket-receipt .lead-ticket-face{display:block}
.ticket-receipt-caption{font-size:.8125rem;line-height:1.6;color:var(--text-secondary)}
.ticket-receipt-caption strong{display:block;color:var(--text-primary);font-weight:600;margin-bottom:6px}
.ticket-receipt-caption strong>span{color:#b4cda8;margin-right:4px}
.ticket-receipt-caption>span{display:block}
.vital-thumb{background:#f3f3f0}
.vital-thumb img{position:static;inset:auto;width:100%;height:100%;max-width:100%;object-fit:contain;mix-blend-mode:multiply}
@media(max-width:699px){.lead-ticket-wrap{padding-top:24px}.lead-content{padding-top:24px;padding-bottom:24px}.ticket-receipt{width:100%;grid-template-columns:minmax(0,1fr) 42px;gap:18px;padding-right:18px}.ticket-receipt .lead-ticket-face{padding:22px 18px}.ticket-receipt .lead-ticket-face h3{font-size:1.35rem}.ticket-receipt .lead-ticket-price strong{font-size:5.2rem}.ticket-receipt .lead-ticket-price{font-size:1.65rem;margin-top:10px}.ticket-receipt .lead-ticket-price>span{font-size:1.65rem}.ticket-receipt .lead-ticket-condition{font-size:.75rem;line-height:1.7;margin-top:16px}.ticket-receipt .lead-ticket-saving{margin-top:18px;padding-top:16px}.ticket-receipt .lead-ticket-validity{font-size:.625rem;margin-top:24px}.ticket-receipt .lead-ticket-brand img{width:96px}.ticket-receipt .lead-ticket-brand>span{font-size:.625rem}}

@media(prefers-reduced-motion:reduce){.lead-ticket[data-tearing=true] .lead-ticket-stub{animation:none}}
