/* Colored invitation stock, double rule, serial and a perforated counterfoil. */
.finale-layout{grid-template-columns:minmax(0,1.25fr) minmax(340px,1fr);gap:clamp(32px,5vw,76px);align-items:center}
.pollada-ticket{position:relative;min-width:0;scroll-margin-top:28px;color:var(--cobalt);width:100%;max-width:520px;justify-self:center}
.pollada-ticket:focus-visible{outline:3px solid var(--cyan);outline-offset:9px}
.ticket-sheet{position:relative;background:var(--cyan);padding:17px 17px 0;isolation:isolate}
.ticket-print{position:relative;border:4px double var(--cobalt);border-bottom:0;padding:20px 19px 25px;text-align:center}
.ticket-edition{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}
.ticket-edition>span:first-child{font:italic 700 clamp(18px,1.8vw,25px)/1 Georgia,serif}
.ticket-serial{flex:none;border:2px solid var(--cobalt);color:var(--cobalt);padding:6px 10px;font:600 11px/1.1 'Courier New',monospace;transform:rotate(-4deg)}
.ticket-serial b{font-size:25px;letter-spacing:.04em}
.ticket-festival{font-size:clamp(12px,1.2vw,17px);font-weight:850;letter-spacing:.055em;border-top:1px solid var(--cobalt);border-bottom:1px solid var(--cobalt);padding:9px 0}
.ticket-festival span{white-space:nowrap}
.ticket-print .ticket-brand{margin:15px 0 12px;line-height:1}
.ticket-brand img{display:block;width:min(100%,290px);height:auto;margin:0 auto}
.ticket-print h3{font-size:32px}
.ticket-motto{font-size:clamp(8px,.76vw,11px);font-weight:750;letter-spacing:.085em}
.ticket-event-date{display:flex;justify-content:center;align-items:center;gap:15px;margin:17px 0 14px;padding:13px 0;border-top:2px solid var(--cobalt);border-bottom:2px solid var(--cobalt)}
.ticket-event-date>span:first-child{writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;font-weight:650;letter-spacing:.12em}
.ticket-event-date strong{font-size:clamp(64px,6vw,86px);letter-spacing:-.09em;line-height:.85;font-weight:850}
.ticket-event-date>span:last-child{text-align:left;font-size:clamp(13px,1.5vw,20px);font-weight:800;line-height:1.35;letter-spacing:-.025em}
.ticket-event-date b{font-size:1.35em}
.ticket-place{font-size:clamp(20px,2vw,27px);font-weight:850;line-height:1.1;letter-spacing:-.055em}
.ticket-city{font-size:10px;font-weight:600;letter-spacing:.1em;margin-top:7px}
.ticket-gathering{font:italic 15px/1.3 Georgia,serif;margin-top:14px}
.ticket-stub{position:relative;display:grid;grid-template-columns:58px 1fr;background:var(--cyan);border-top:2px dashed #1010ce90;transform-origin:5% 0;padding:14px 18px 16px;isolation:isolate}
.ticket-stub::before,.ticket-stub::after{position:absolute;content:'';width:18px;height:18px;border-radius:50%;background:#000;top:-10px}
.ticket-stub::before{left:-9px}.ticket-stub::after{right:-9px}
.stub-serial{writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;justify-self:center;font:700 16px/1 'Courier New',monospace;letter-spacing:.05em}
.ticket-luma{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;background:var(--cobalt);color:var(--paper);padding:15px 20px;min-height:78px;border:1px solid var(--cobalt)}
.ticket-luma small{display:block;font-size:8px;line-height:1.5;letter-spacing:.08em;margin-bottom:5px;font-weight:550}
.ticket-luma strong{font-size:clamp(22px,2vw,28px);line-height:1.05;letter-spacing:-.05em;font-weight:750}
.stub-arrow{display:block;font-size:34px;line-height:1;transition:transform 180ms var(--ease-out)}
.ticket-luma:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.ticket-luma:active{transform:translateY(1px)}
.ticket-aftercare{padding:0 6px;color:var(--cyan)}
.ticket-aftercare>p{font-size:10px;line-height:1.5;margin-top:24px;text-align:center}
.ticket-aftercare .ticket-calendar{border-color:#43cbed60;color:var(--cyan);font-size:11px;min-height:48px}
.pollada-ticket.is-tearing .ticket-luma{cursor:progress}
@media(hover:hover) and (pointer:fine){.ticket-luma:hover .stub-arrow{transform:translate(3px,-3px)}.ticket-luma:hover{background:var(--ink)}}
@media(max-width:1000px){.finale-layout{grid-template-columns:1fr 1fr;gap:30px}.ticket-print{padding:17px 12px 23px}.ticket-edition{gap:8px}.ticket-serial{padding:5px 7px}.ticket-serial b{font-size:21px}.ticket-print h3{font-size:35px}.ticket-event-date{gap:12px}.ticket-stub{grid-template-columns:40px 1fr;padding:12px}.ticket-luma{padding:15px}.ticket-luma small{font-size:7px}.stub-serial{font-size:14px}}
@media(max-width:760px){.finale-layout{grid-template-columns:1fr;gap:42px}.pollada-ticket{max-width:490px}.ticket-sheet{padding:14px 14px 0}.ticket-print{padding:18px 15px 24px}.ticket-edition>span:first-child{font-size:23px}.ticket-festival{font-size:14px}.ticket-print h3{font-size:clamp(34px,7.8vw,46px)}.ticket-motto{font-size:9px}.ticket-event-date strong{font-size:76px}.ticket-event-date>span:last-child{font-size:18px}.ticket-place{font-size:25px}.ticket-stub{grid-template-columns:45px 1fr;padding:14px}.ticket-luma{min-height:78px;padding:15px 17px}.ticket-luma small{font-size:8px}.ticket-luma strong{font-size:25px}}
@media(max-width:360px){.ticket-print{padding:17px 8px 22px}.ticket-print h3{font-size:32px}.ticket-edition>span:first-child{font-size:19px}.ticket-festival{font-size:12px}.ticket-event-date{gap:12px}.ticket-event-date strong{font-size:66px}.ticket-place{font-size:22px}.ticket-gathering{font-size:14px}.ticket-stub{grid-template-columns:32px 1fr;padding:12px}.ticket-luma small{font-size:7px}.ticket-luma strong{font-size:23px}.stub-serial{font-size:13px}}
@media(prefers-reduced-motion:reduce){.ticket-serial{transform:none}.ticket-luma:active{transform:none}.stub-arrow{transition:none}}
@media print{.ticket-aftercare{color:var(--ink)}.ticket-stub{break-inside:avoid}.pollada-ticket{break-inside:avoid}}

@media(max-width:760px){.ticket-brand img{width:min(100%,275px)}.ticket-print .ticket-brand{margin:14px 0}}
@media(max-width:360px){.ticket-brand img{width:215px}}

/* One clear ending: the ticket is the centerpiece. */
.closing-finale .finale-layout{display:flex;justify-content:center;padding:54px 0 64px}
.closing-finale .pollada-ticket{margin:0 auto}
@media(max-width:760px){.closing-finale .finale-layout{padding:24px 0 40px}}
