/* Two places as theatre tickets */
.sec--places{background:var(--paper);overflow-x:clip}
.tickets{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:48px 40px;margin-top:48px;align-items:start}
.ticket{background:var(--flour);border:3px solid var(--charcoal);border-radius:22px;box-shadow:11px 11px 0 var(--charcoal);position:relative;transition:translate .35s var(--ease),rotate .35s var(--ease)}
.ticket--k{rotate:-.8deg}.ticket--j{rotate:.8deg}
.ticket__band{background:var(--wine);color:var(--flour);padding:16px 24px 14px;border-radius:17px 17px 0 0;position:relative;overflow:hidden;display:flex;align-items:baseline;gap:14px}
.ticket__band::after{content:"";position:absolute;inset:0;background:var(--noise);mix-blend-mode:multiply;opacity:.5;pointer-events:none}
.ticket__band h3{font:400 clamp(30px,3.4vw,44px)/1 var(--f-display);text-transform:uppercase;position:relative;z-index:1}
.ticket__no{font:600 24px/1 var(--f-hand);color:var(--mustard);position:relative;z-index:1}
.ticket__body{padding:22px 24px 24px;display:grid;gap:10px}
.ticket__role{font:600 28px/1 var(--f-hand);color:var(--wine)}
.addr{font-weight:800}
.hrs{display:grid;gap:2px}
.hrs li{padding-left:18px;position:relative}
.hrs li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--mustard);border:1.5px solid var(--charcoal)}
.hrs-h{font:800 12px/1 var(--f-text);letter-spacing:.12em;text-transform:uppercase;margin-top:6px;color:var(--wine)}
.ticket a:not(.btn){color:var(--wine);font-weight:800;text-underline-offset:3px}
.ticket__ph{line-height:1.7}
.ticket__stub{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 24px;border-top:3px dashed var(--charcoal);position:relative}
.ticket__stub::before,.ticket__stub::after{content:"";position:absolute;top:-15px;width:27px;height:27px;border-radius:50%;background:var(--paper);border:3px solid var(--charcoal)}
.ticket__stub::before{left:-16px;clip-path:inset(0 0 0 50%)}.ticket__stub::after{right:-16px;clip-path:inset(0 50% 0 0)}
@media (hover:hover){.ticket:hover{translate:0 -6px;rotate:0deg}}
@media (max-width:480px){.ticket{box-shadow:7px 7px 0 var(--charcoal)}.ticket__body,.ticket__stub{padding-inline:18px}.ticket__band{padding-inline:18px}}
.ticket__band{flex-wrap:wrap;gap:0 12px}.ticket__no{white-space:nowrap}
@media (max-width:480px){.ticket__band h3{font-size:30px}}
/* Phone numbers never break across lines (coordinator, 2026-11-09). */
a[href^="tel:"]{white-space:nowrap}
