.upcoming-events{width:min(100%,680px);min-width:0;margin:1rem auto 0;position:relative}.upcoming-heading{font-family:var(--font-display), sans-serif;justify-content:space-between;align-items:baseline;gap:1rem;padding:0 1.25rem 1.9rem;font-size:clamp(.85rem,1.5vw,1.1rem);display:flex}.upcoming-heading span:first-child{font-weight:650}.upcoming-hint{color:var(--muted);align-items:center;gap:.45rem;display:inline-flex}.upcoming-hint-arrow{color:var(--orange-text);animation:upcoming-hint-nudge 1.6s var(--ease-out) 1.2s 3;font-weight:700;display:inline-block}@keyframes upcoming-hint-nudge{0%,50%,to{transform:none}25%{transform:translate(5px)}}.upcoming-stack{isolation:isolate;margin-inline:1rem;position:relative}.upcoming-layer{border:3px solid var(--line);pointer-events:none;border-radius:5px;position:absolute;inset:0}.upcoming-layer img{object-fit:cover;border-radius:2px;width:100%;height:100%}.upcoming-layer-back{z-index:-2;background:#e7bf46;transform:rotate(-4deg)translate(-4px,4px)}.upcoming-layer-front{background:var(--orange);z-index:-1;transform:rotate(3deg)translate(4px,4px)}.upcoming-drag{transform:translateX(var(--drag-x,0px)) rotate(var(--drag-rotate,0deg));transition:transform .26s var(--ease-out);touch-action:pan-y;cursor:grab}.upcoming-drag *{cursor:grab}.upcoming-drag :is(a,button),.upcoming-drag :is(a,button) *{cursor:pointer}.upcoming-drag[data-single=true],.upcoming-drag[data-single=true] *{cursor:default}.upcoming-drag[data-single=true] :is(a,button),.upcoming-drag[data-single=true] :is(a,button) *{cursor:pointer}.upcoming-drag[data-dragging]{transition:none}.upcoming-drag[data-dragging],.upcoming-drag[data-dragging] *{cursor:grabbing;-webkit-user-select:none;user-select:none}.upcoming-card{border:3px solid var(--line);background:var(--surface);color:var(--foreground);border-radius:5px;overflow:hidden}.upcoming-card[data-from=next]{animation:upcoming-enter-next .3s var(--ease-out)}.upcoming-card[data-from=prev]{animation:upcoming-enter-prev .24s var(--ease-out)}@keyframes upcoming-enter-next{0%{opacity:0;transform:rotate(3deg)translate(6px,6px)scale(.98)}to{opacity:1;transform:none}}@keyframes upcoming-enter-prev{0%{opacity:0;transform:translate(-22%)rotate(-5deg)scale(.97)}to{opacity:1;transform:none}}.upcoming-layer[data-settle] img{animation:upcoming-photo .2s var(--ease-out)}.upcoming-stack[data-from=next] .upcoming-layer-back[data-settle]{animation:upcoming-sheet-back .24s var(--ease-out)}.upcoming-stack[data-from=next] .upcoming-layer-front[data-settle]{animation:upcoming-sheet-front .24s var(--ease-out)}.upcoming-stack[data-from=prev] .upcoming-layer-back[data-settle]{animation:upcoming-sheet-back-prev .24s var(--ease-out)}.upcoming-stack[data-from=prev] .upcoming-layer-front[data-settle]{animation:upcoming-sheet-front-prev .24s var(--ease-out)}@keyframes upcoming-photo{0%{opacity:.4}to{opacity:1}}@keyframes upcoming-sheet-back{0%{transform:rotate(-8deg)translate(-14px,12px)}to{transform:rotate(-4deg)translate(-4px,4px)}}@keyframes upcoming-sheet-front{0%{transform:rotate(7deg)translate(14px,8px)}to{transform:rotate(3deg)translate(4px,4px)}}@keyframes upcoming-sheet-back-prev{0%{transform:rotate(2deg)translate(8px,2px)}to{transform:rotate(-4deg)translate(-4px,4px)}}@keyframes upcoming-sheet-front-prev{0%{transform:rotate(-2deg)translate(-6px,2px)}to{transform:rotate(3deg)translate(4px,4px)}}.upcoming-image{border-bottom:3px solid var(--line);background:var(--orange);height:clamp(170px,22vw,240px);position:relative}.upcoming-image img{object-fit:cover;pointer-events:none;width:100%;height:100%}.upcoming-date,.upcoming-kind{border:2px solid var(--line);font-family:var(--font-display), sans-serif;color:var(--foreground);margin:0;padding:.45rem .8rem;position:absolute}.upcoming-date{background:var(--surface);font-size:1.75rem;font-weight:600;top:.75rem;left:.75rem;transform:rotate(-3deg)}.upcoming-kind{color:var(--on-accent);background:var(--orange);border-radius:99px;font-size:.9rem;bottom:.75rem;right:.75rem}.upcoming-copy{flex-direction:column;align-items:flex-start;min-height:285px;padding:1.4rem 1.6rem;display:flex}.upcoming-time{font-family:var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.04em;min-height:2.2rem;font-size:.68rem;line-height:1.6}.upcoming-copy h2{font-family:var(--font-display), sans-serif;letter-spacing:-.03em;-webkit-line-clamp:3;-webkit-box-orient:vertical;flex-shrink:0;height:3.24em;margin:.45rem 0 .6rem;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.08;display:-webkit-box;overflow:hidden}.upcoming-place{white-space:nowrap;text-overflow:ellipsis;max-width:100%;height:1.5em;margin:0 0 1rem;font-size:.85rem;overflow:hidden}.upcoming-copy .button{min-height:44px;margin-top:auto}.upcoming-countdown{color:var(--on-accent);border-top:3px solid var(--line);background:var(--orange);font-family:var(--font-mono), monospace;text-align:center;font-variant-numeric:tabular-nums;margin:0;padding:.75rem .8rem;font-size:clamp(.65rem,1.2vw,.8rem)}.upcoming-controls{justify-content:center;align-items:center;gap:1.4rem;margin-top:2rem;display:flex}.upcoming-controls button{border:2px solid var(--line);background:var(--surface);width:48px;height:48px;color:var(--foreground);cursor:pointer;transition:background var(--duration-ui) var(--ease-out), transform var(--duration-press) var(--ease-out);border-radius:50%;font-size:1.5rem}.upcoming-controls button:active:not(:disabled){transform:translateY(2px)}.upcoming-controls button:disabled{opacity:.4;cursor:default}.upcoming-controls button:focus-visible{outline:3px solid var(--line);outline-offset:4px}.upcoming-position{font-family:var(--font-mono), monospace;font-variant-numeric:tabular-nums;font-size:.8rem}@media (max-width:600px){.upcoming-copy{min-height:280px;padding:1rem}.upcoming-stack{margin-inline:.6rem}.upcoming-heading{padding-inline:.8rem;padding-bottom:1.5rem}}@media (hover:hover) and (pointer:fine){.upcoming-controls button:hover:not(:disabled){background:var(--orange);color:var(--on-accent);transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.upcoming-card,.upcoming-hint-arrow,.upcoming-layer,.upcoming-layer img{animation:none}.upcoming-drag,.upcoming-controls button,.upcoming-controls button:hover:not(:disabled),.upcoming-controls button:active:not(:disabled){transition:none;transform:none}}
