.events-page{--event-red:var(--red,#a92822);--event-paper:var(--paper,#f4eee4);--event-ink:var(--ink,#080706);--event-brass:var(--brass,#c7a568);background:var(--event-ink);color:var(--event-paper);font-family:Arial,Helvetica,sans-serif}
.events-page *, .events-page *::before, .events-page *::after{box-sizing:border-box}
.events-page main{overflow:clip}
.events-page a{color:inherit}
.events-page a:focus-visible,.events-page button:focus-visible{outline:3px solid var(--event-brass);outline-offset:5px}
.events-page .site-head{z-index:30}

.poster-hero{min-height:760px;height:min(900px,100svh);display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);position:relative;background:var(--event-red);overflow:hidden}
.poster-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;padding:clamp(120px,12vw,180px) 4vw 4vw 5vw}
.poster-ledger{display:flex;gap:clamp(45px,6vw,130px);font-size:clamp(.72rem,.9vw,.95rem);line-height:1.25;font-weight:700;text-transform:uppercase;letter-spacing:.11em;margin:0 0 auto}
.poster-hero h1{font-size:clamp(5.3rem,7.75vw,10.7rem);font-weight:900;line-height:.79;letter-spacing:-.095em;margin:clamp(30px,4vw,80px) 0 25px;white-space:nowrap;position:relative;z-index:3}
.poster-hero h1 span{font-size:1.32em;letter-spacing:-.105em}
.poster-hero-deck{font-size:clamp(1.05rem,1.65vw,1.5rem);line-height:1.3;max-width:22ch;margin:0 0 34px;font-weight:600}
.poster-jump{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;align-self:flex-start;min-width:185px;border-bottom:2px solid currentColor;padding:12px 0;text-decoration:none;font-size:.88rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.poster-jump span{font-size:1.7rem;line-height:1}
.poster-hero-photo{position:relative;margin:0;overflow:hidden;background:#24130f}
.poster-hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(169,40,34,.18),transparent 45%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 34%);pointer-events:none}
.poster-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:53% center;display:block;filter:contrast(1.12) saturate(.85)}
.poster-hero-photo figcaption{position:absolute;bottom:4vw;right:4vw;z-index:1;writing-mode:vertical-rl;transform:rotate(180deg);text-transform:uppercase;font-size:.72rem;letter-spacing:.18em;font-weight:800}
.poster-side{position:absolute;right:1.2vw;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font-size:.73rem;font-weight:800;letter-spacing:.17em;z-index:2}

.program-lead{background:var(--event-ink);color:var(--event-paper);min-height:430px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;align-items:end;padding:clamp(60px,7vw,110px) 5vw clamp(44px,5vw,80px);border-bottom:1px solid rgba(244,238,228,.28)}
.program-lead p{grid-column:1/-1;margin:0;align-self:start;font-size:clamp(.95rem,1.1vw,1.15rem);font-weight:600}
.program-lead h2{font-size:clamp(4.3rem,9.6vw,12.4rem);line-height:.79;letter-spacing:-.09em;font-weight:900;margin:0}
.program-lead>span{font-size:clamp(3rem,6vw,7rem);font-weight:800;line-height:1;color:var(--event-red)}

.events-list{background:var(--event-paper);color:var(--event-ink);padding:0 5vw clamp(75px,8vw,140px)}
.events-list-top{min-height:95px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:2px solid var(--event-ink)}
#event-count{font-size:clamp(.9rem,1.1vw,1.1rem);font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.event-filters{display:flex;align-items:center;gap:5px}
.event-filters button{appearance:none;background:transparent;color:var(--event-ink);border:0;border-radius:0;font:800 clamp(.85rem,1vw,1rem) Arial,Helvetica,sans-serif;padding:12px 17px;cursor:pointer}
.event-filters button[aria-pressed="true"]{background:var(--event-ink);color:var(--event-paper)}
.event-filters button:hover:not([aria-pressed="true"]){background:rgba(8,7,6,.1)}
.events-loading,.events-error{padding:70px 0;font-size:1.25rem}
.event-card{position:relative;display:grid;grid-template-columns:minmax(180px,25%) minmax(160px,23%) minmax(0,52%);border-bottom:2px solid var(--event-ink);min-height:660px;isolation:isolate}
.event-card:nth-child(even){background:#e9dfd0}
.event-card.event-card-reverse{grid-template-columns:minmax(180px,25%) minmax(160px,23%) minmax(0,52%)}
.event-poster-date{background:var(--event-red);color:var(--event-paper);padding:clamp(22px,2.5vw,44px);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;min-width:0}
.event-card:nth-child(even) .event-poster-date{background:var(--event-ink)}
.event-poster-date .date-caption{font-size:.88rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.event-poster-date strong{font-size:clamp(7rem,16.8vw,18rem);line-height:.68;font-weight:900;letter-spacing:-.13em;margin-left:-.07em;font-variant-numeric:tabular-nums}
.event-poster-date .date-month{font-size:clamp(1.2rem,2vw,2rem);font-weight:900;text-transform:uppercase;line-height:1.02;letter-spacing:-.05em;overflow-wrap:anywhere}
.event-poster-date .date-year{font-size:.9rem;font-weight:800;letter-spacing:.13em}
.event-card-image{position:relative;overflow:hidden;min-height:100%;background:#160d0c}
.event-card-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.58));pointer-events:none}
.event-card-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:54% center;filter:contrast(1.12) saturate(.72);display:block}
.event-card-serial{position:absolute;z-index:1;bottom:25px;left:25px;font-size:.75rem;letter-spacing:.16em;color:#fff;font-weight:800}
.event-card-copy{padding:clamp(30px,4.2vw,72px);display:flex;flex-direction:column;align-items:start;min-width:0}
.event-card-meta{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;width:100%;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid currentColor;padding-bottom:16px}
.event-card h3{font-size:clamp(3.2rem,5.1vw,7.2rem);line-height:.88;letter-spacing:-.085em;font-weight:900;margin:clamp(30px,4vw,70px) 0 22px;max-width:10ch;overflow-wrap:normal}
.event-card-tagline{font-size:clamp(1.05rem,1.4vw,1.5rem);font-weight:700;line-height:1.25;max-width:31ch;margin:0 0 24px}
.event-card-description{font-size:clamp(.92rem,1vw,1.05rem);line-height:1.5;max-width:45ch;margin:0 0 25px}
.event-card-facts{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;font-size:.85rem;line-height:1.35;margin:0 0 32px}
.event-card-facts dt{font-weight:800}.event-card-facts dd{margin:0}
.event-card-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:12px 23px;align-items:center}
.event-card-actions a{display:inline-flex;align-items:center;min-height:44px;font-size:.86rem;font-weight:800;text-decoration:none;border-bottom:2px solid currentColor;padding:12px 0}
.event-card-actions .event-detail-link{background:var(--event-ink);color:var(--event-paper);border:2px solid var(--event-ink);padding:13px 17px}
.event-card-actions .event-detail-link:hover{background:var(--event-red);border-color:var(--event-red)}
.events-empty{padding:clamp(70px,10vw,140px) 0;max-width:760px}
.events-empty h3{font-size:clamp(3.5rem,7vw,8rem);line-height:.87;letter-spacing:-.08em;text-transform:uppercase;margin:0 0 30px}
.events-empty p{font-size:1.2rem;line-height:1.45;max-width:50ch}
.events-empty a{display:inline-block;background:var(--event-ink);color:var(--event-paper);padding:18px 22px;margin-top:18px;text-decoration:none;font-weight:800}
.program-note{font-size:.78rem;line-height:1.4;max-width:72ch;margin:32px 0 0}

.events-request{position:relative;min-height:700px;background:var(--event-ink);color:var(--event-paper);display:grid;grid-template-columns:40% 60%;overflow:hidden}
.request-image{position:relative;min-height:100%;overflow:hidden}
.request-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(8,7,6,.4))}
.request-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:58% center;filter:contrast(1.14) saturate(.8)}
.request-copy{padding:clamp(50px,7vw,110px) 5vw;display:flex;flex-direction:column;justify-content:center}
.request-index{font-size:.85rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--event-brass)}
.request-copy h2{font-size:clamp(4rem,6.5vw,9rem);line-height:.83;font-weight:900;letter-spacing:-.09em;margin:45px 0 32px}
.request-copy h2 strong{color:var(--event-red);font-weight:900}
.request-copy p{font-size:clamp(1rem,1.2vw,1.22rem);max-width:48ch;line-height:1.45;margin:0 0 32px}
.request-actions{display:flex;align-items:center;gap:20px 30px;flex-wrap:wrap}
.request-actions a{text-decoration:none;font-weight:800;font-size:.9rem;border-bottom:2px solid currentColor;padding:12px 0}
.request-actions .event-button{background:var(--event-red);padding:18px 22px;border:2px solid var(--event-red)}
.request-actions .event-button:hover{background:var(--event-paper);border-color:var(--event-paper);color:var(--event-ink)}
.request-copy small{font-size:.73rem;margin-top:35px;line-height:1.4;color:rgba(244,238,228,.7)}
.events-follow{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:50px 5vw;background:var(--event-red);font-weight:800}
.events-follow p{margin:0;font-size:clamp(1.2rem,2.2vw,2.5rem);letter-spacing:-.04em}.events-follow a{text-decoration:none;border-bottom:2px solid currentColor;padding:10px 0;font-size:.95rem}

.event-leaf-hero{height:min(920px,100svh);min-height:720px;display:grid;grid-template-columns:40% 60%;position:relative;background:var(--event-red);overflow:hidden}
.event-leaf-photo{position:relative;overflow:hidden;background:#150b0b}
.event-leaf-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.8),transparent 50%)}
.event-leaf-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:56% center;filter:contrast(1.1) saturate(.8)}
.event-leaf-photo>span{position:absolute;z-index:1;left:4vw;bottom:3vw;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800}
.event-leaf-copy{position:relative;z-index:1;padding:clamp(130px,13vw,190px) 5vw 5vw;display:flex;flex-direction:column;align-items:start}
.event-leaf-back{font-size:.86rem;font-weight:800;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:8px;margin-bottom:auto}
.leaf-category{font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;font-weight:800}
.event-leaf-copy h1{font-size:clamp(4.3rem,6.4vw,9rem);line-height:.85;letter-spacing:-.09em;font-weight:900;max-width:11ch;margin:32px 0 28px;overflow-wrap:normal}
.event-leaf-copy p{font-size:clamp(1.05rem,1.45vw,1.5rem);line-height:1.3;max-width:34ch;font-weight:700;margin:0 0 35px}
.event-leaf-scroll{display:inline-flex;gap:32px;align-items:center;justify-content:space-between;min-width:210px;text-decoration:none;border-bottom:2px solid currentColor;padding:10px 0;font-size:.85rem;font-weight:800;text-transform:uppercase}
.event-leaf-scroll span{font-size:1.6rem}
.event-leaf-stamp{position:absolute;z-index:2;left:3.5vw;top:clamp(115px,11vw,160px);color:var(--event-paper);display:flex;flex-direction:column;filter:drop-shadow(0 2px 15px rgba(0,0,0,.5))}
.event-leaf-stamp strong{font-size:clamp(8rem,16vw,20rem);font-weight:900;line-height:.73;letter-spacing:-.14em}
.event-leaf-stamp span{font-size:clamp(1.3rem,2.2vw,2.5rem);font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:-.05em;margin-top:18px}
.event-leaf-info{display:grid;grid-template-columns:40% 60%;background:var(--event-paper);color:var(--event-ink);padding:clamp(70px,8vw,135px) 5vw;gap:5vw}
.event-leaf-date{border-top:3px solid var(--event-ink);padding-top:28px;display:flex;flex-direction:column;gap:25px}
.event-leaf-date span,.event-leaf-story>span{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.event-leaf-date strong{font-size:clamp(2.6rem,4.1vw,5.5rem);line-height:.94;letter-spacing:-.07em;max-width:12ch}
.event-leaf-date p{font-size:clamp(1rem,1.4vw,1.4rem);font-weight:700;line-height:1.35;margin:0;max-width:26ch}
.event-leaf-story{border-top:3px solid var(--event-ink);padding-top:28px}
.event-leaf-story h2{font-size:clamp(3.5rem,5vw,6.5rem);line-height:.88;letter-spacing:-.08em;text-transform:uppercase;margin:35px 0 30px;max-width:12ch}
.event-leaf-story p{font-size:clamp(1.05rem,1.3vw,1.4rem);line-height:1.48;max-width:44ch;margin:0 0 24px}
.event-leaf-entry{font-weight:800}
.event-leaf-actions{display:flex;gap:15px 30px;flex-wrap:wrap;align-items:center;margin:35px 0}
.event-leaf-actions a{text-decoration:none;border-bottom:2px solid currentColor;padding:12px 0;font-size:.9rem;font-weight:800}
.event-leaf-actions .event-button{background:var(--event-ink);color:var(--event-paper);border:2px solid var(--event-ink);padding:16px 20px}
.event-leaf-story small{font-size:.78rem;line-height:1.4;display:block;max-width:54ch}

@media(max-width:1050px){.poster-hero{grid-template-columns:60% 40%;min-height:660px}.poster-hero h1{font-size:7.5vw}.event-card{grid-template-columns:24% 22% 54%;min-height:560px}.event-card.event-card-reverse{grid-template-columns:24% 22% 54%}.event-poster-date{padding:25px}.event-poster-date strong{font-size:17vw}.event-card-copy{padding:32px}.event-card h3{font-size:5.3vw}.request-copy h2{font-size:6vw}}
@media(max-width:720px){.poster-hero{height:auto;min-height:0;display:flex;flex-direction:column}.poster-hero-copy{min-height:68svh;padding:125px 7vw 38px}.poster-ledger{gap:30px;margin-bottom:auto;font-size:.68rem}.poster-hero h1{font-size:clamp(3.5rem,14vw,6.7rem);margin:45px 0 23px}.poster-hero h1 span{font-size:1.3em}.poster-hero-deck{font-size:1rem;max-width:30ch;margin-bottom:24px}.poster-hero-photo{height:42svh;min-height:300px}.poster-hero-photo img{object-position:52% 48%}.poster-side{display:none}.poster-hero-photo figcaption{bottom:23px;right:20px}.program-lead{min-height:310px;padding:58px 7vw 50px}.program-lead h2{font-size:clamp(3.6rem,13vw,6rem)}.program-lead>span{font-size:3rem}.events-list{padding:0 0 75px}.events-list-top{padding:0 7vw;min-height:90px}.event-card,.event-card.event-card-reverse{display:grid;grid-template-columns:40% 60%;grid-template-rows:clamp(170px,46vw,270px) clamp(200px,55vw,330px) auto;min-height:0}.event-poster-date{grid-column:1;grid-row:1;padding:20px}.event-poster-date strong{font-size:clamp(6.2rem,23vw,11rem)}.event-poster-date .date-month{font-size:clamp(.82rem,3.2vw,1rem);letter-spacing:-.055em;overflow-wrap:normal;white-space:nowrap}.event-poster-date .date-caption{font-size:.7rem}.event-card-image{grid-column:2;grid-row:1/3}.event-card-image img{object-position:52% center}.event-card-copy{grid-column:1/-1;grid-row:3;padding:35px 7vw 50px}.event-card-meta{font-size:.7rem}.event-card h3{font-size:clamp(3.6rem,13vw,7rem);margin:45px 0 25px;max-width:12ch}.event-card-tagline{font-size:1.15rem}.event-card-description{font-size:1rem}.event-card-facts{font-size:.88rem}.event-card-actions{margin-top:15px}.events-empty{padding:75px 7vw}.events-empty h3{font-size:clamp(3.4rem,12vw,6.2rem)}.program-note{margin:25px 7vw 0}.events-request{display:flex;flex-direction:column;min-height:0}.request-image{height:54svh;min-height:340px}.request-copy{padding:60px 7vw 75px}.request-copy h2{font-size:clamp(3.6rem,13vw,6.5rem);margin:36px 0 25px}.request-copy p{font-size:1rem}.events-follow{padding:42px 7vw;display:block}.events-follow p{margin-bottom:15px}}
@media(max-width:390px){.poster-hero h1{font-size:13.4vw}.poster-ledger{gap:15px}.program-lead h2{font-size:12vw}.event-poster-date strong{font-size:21vw}.event-card h3{font-size:12vw}.request-copy h2{font-size:12vw}}
@media(max-width:720px){.event-leaf-hero{height:auto;min-height:0;display:flex;flex-direction:column}.event-leaf-photo{height:42svh;min-height:290px;order:1}.event-leaf-copy{order:2;min-height:68svh;padding:38px 7vw 60px}.event-leaf-back{margin:0 0 55px}.event-leaf-copy h1{font-size:clamp(3.9rem,13.3vw,6.6rem);margin:20px 0 25px}.event-leaf-copy p{font-size:1.05rem}.event-leaf-stamp{top:130px;left:7vw}.event-leaf-stamp strong{font-size:clamp(8rem,29vw,13rem)}.event-leaf-stamp span{font-size:1.35rem}.event-leaf-photo>span{left:7vw;bottom:20px}.event-leaf-info{display:block;padding:70px 7vw}.event-leaf-date{margin-bottom:75px}.event-leaf-date strong{font-size:clamp(3rem,12vw,5.5rem)}.event-leaf-story h2{font-size:clamp(3.5rem,12vw,6.5rem)}.event-leaf-story p{font-size:1.05rem}}
@media(prefers-reduced-motion:reduce){.events-page *, .events-page *::before, .events-page *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* One poster reveals into the next; the page remains readable before JS runs. */
.event-leaf-stamp span{white-space:pre-line}
@media(prefers-reduced-motion:no-preference){
  .poster-hero-photo{animation:poster-open 1.25s cubic-bezier(.16,1,.3,1) both}
  .poster-hero h1{animation:poster-title 1s .18s cubic-bezier(.16,1,.3,1) both}
  .poster-hero-photo img{transform:translate3d(0,var(--pan-y,0px),0) scale(1.08)}
  .event-leaf-photo img{animation:leaf-photo-in 1.55s cubic-bezier(.16,1,.3,1) both}
  .event-leaf-stamp{animation:leaf-stamp-in 1s .2s cubic-bezier(.16,1,.3,1) both}
  .event-leaf-copy h1{animation:poster-title .95s .25s cubic-bezier(.16,1,.3,1) both}
  .event-card-image img{transform:translate3d(0,var(--pan-y,0px),0) scale(1.09);will-change:transform}
  .events-page.motion-ready .program-lead.motion-pending h2{transform:translateX(-60px);opacity:.05}
  .program-lead h2{transition:transform 1.15s cubic-bezier(.16,1,.3,1),opacity .95s ease}
  .events-page.motion-ready .event-leaf-info.motion-pending .event-leaf-date{transform:translateY(45px);opacity:.15}
  .events-page.motion-ready .event-leaf-info.motion-pending .event-leaf-story{transform:translateX(55px);opacity:.15}
  .event-leaf-date,.event-leaf-story{transition:transform 1s cubic-bezier(.16,1,.3,1),opacity .8s ease}
  .events-page.motion-ready .event-card.motion-pending .event-poster-date strong{transform:translateY(25%) scale(.82);opacity:.2}
  .events-page.motion-ready .event-card.motion-pending .event-card-image{clip-path:inset(0 0 100% 0)}
  .events-page.motion-ready .event-card.motion-pending .event-card-copy{transform:translateX(48px);opacity:0}
  .event-poster-date strong{transform-origin:left bottom;transition:transform .95s cubic-bezier(.16,1,.3,1),opacity .75s ease}
  .event-card-image{transition:clip-path 1.15s cubic-bezier(.16,1,.3,1)}
  .event-card-copy{transition:transform 1s .08s cubic-bezier(.16,1,.3,1),opacity .8s .08s ease}
  .events-page.motion-ready .events-request.motion-pending .request-image{clip-path:inset(0 28% 0 0)}
  .events-page.motion-ready .events-request.motion-pending .request-copy{transform:translateX(55px);opacity:0}
  .request-image{transition:clip-path 1.2s cubic-bezier(.16,1,.3,1)}
  .request-copy{transition:transform 1s cubic-bezier(.16,1,.3,1),opacity .8s ease}
  .event-card-actions .event-detail-link,.request-actions .event-button{position:relative;isolation:isolate;overflow:hidden;background:var(--event-ink);color:var(--event-paper);transition:color .35s}
  .request-actions .event-button{background:var(--event-red)}
  .event-card-actions .event-detail-link::before,.request-actions .event-button::before{content:"";position:absolute;z-index:-1;inset:0;background:var(--event-red);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.16,1,.3,1)}
  .request-actions .event-button::before{background:var(--event-paper)}
  .event-card-actions .event-detail-link:hover::before,.request-actions .event-button:hover::before{transform:scaleX(1)}
  .request-actions .event-button:hover{color:var(--event-ink)}
}
@keyframes poster-open{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}
@keyframes poster-title{from{opacity:.15;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
@keyframes leaf-photo-in{from{transform:scale(1.18)}to{transform:scale(1)}}
@keyframes leaf-stamp-in{from{opacity:0;transform:translateY(45px) scale(.88)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:720px){
  .events-request .request-copy{min-width:0;width:100%;overflow:hidden}
  .events-request .request-copy h2{font-size:clamp(2.3rem,10.3vw,5.4rem);overflow-wrap:anywhere}
  .events-page .site-foot{min-width:0}
  .events-page .foot-links{display:flex;flex-wrap:wrap;gap:17px 25px}
  .events-page .foot-bottom{overflow-wrap:anywhere}
}
@media(max-width:390px){
  .events-list-top{flex-direction:column;align-items:stretch;justify-content:center;gap:10px;padding-top:18px;padding-bottom:18px}
  .event-filters{justify-content:space-between}
  .event-filters button{padding:10px 13px}
  .event-leaf-stamp{top:105px}
  .event-leaf-stamp strong{font-size:7.3rem}
  .event-leaf-stamp span{font-size:1.05rem;margin-top:10px}
  .event-leaf-photo>span{font-size:.58rem;bottom:13px}
  .events-page .foot-links{gap:14px 20px}
  .events-page .foot-links a{font-size:clamp(1rem,5vw,1.3rem)}
}

/* The next date comes from events.json; the strip never needs a page edit. */
.next-event-rail{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(165px,22%) 1fr;min-height:176px;background:var(--event-paper);color:var(--event-ink);border-top:3px solid var(--event-ink);border-bottom:3px solid var(--event-ink);overflow:hidden}
.next-event-rail::before{content:"";position:absolute;right:-3%;top:-70%;width:24%;height:240%;background:var(--event-red);transform:rotate(23deg);z-index:-1}
.next-event-kicker{display:flex;align-items:center;gap:11px;padding:24px clamp(22px,4vw,70px);font:700 clamp(.68rem,.8vw,.88rem)/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;border-right:1px solid currentColor}
.next-event-kicker i{width:9px;height:9px;flex:none;border-radius:50%;background:var(--event-red);box-shadow:0 0 0 5px rgba(169,40,34,.12)}
.next-event-link{min-width:0;display:grid;grid-template-columns:minmax(145px,23%) minmax(0,1fr) 80px;align-items:center;gap:clamp(15px,2.5vw,40px);padding:24px clamp(22px,3.5vw,60px);text-decoration:none;color:inherit}
.next-event-link time{font:700 clamp(.68rem,.85vw,.9rem)/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.next-event-title{font-size:clamp(2rem,4vw,4.7rem);line-height:.9;font-weight:900;letter-spacing:-.075em;text-transform:uppercase;overflow-wrap:anywhere}
.next-event-arrow{display:grid;place-items:center;width:64px;height:64px;border:1.5px solid currentColor;border-radius:50%;font-size:2rem;line-height:1;justify-self:end}
.next-event-link:hover .next-event-title{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
@media(max-width:900px){.next-event-rail{grid-template-columns:1fr}.next-event-kicker{border-right:0;border-bottom:1px solid currentColor;padding:15px 5vw}.next-event-link{grid-template-columns:minmax(115px,25%) minmax(0,1fr) 60px;padding:24px 5vw}.next-event-arrow{width:54px;height:54px}}
@media(max-width:600px){.next-event-rail::before{width:36%;right:-15%;opacity:.35}.next-event-link{grid-template-columns:minmax(0,1fr) 50px;gap:14px}.next-event-link time{grid-column:1;grid-row:1}.next-event-title{grid-column:1/-1;grid-row:2;font-size:clamp(2.4rem,10vw,4rem);max-width:13ch}.next-event-arrow{grid-column:2;grid-row:1;width:46px;height:46px;font-size:1.5rem}.next-event-rail{min-height:0}}
@media(prefers-reduced-motion:no-preference){
  .poster-hero-photo{animation:poster-open-transform 1.1s cubic-bezier(.16,1,.3,1) both}
  .events-page.motion-ready .event-card.motion-pending .event-card-image{clip-path:none;transform:translateY(55px) scale(.96);opacity:.15}
  .event-card-image{clip-path:none;transition:transform 1s cubic-bezier(.16,1,.3,1),opacity .8s ease}
  .events-page.motion-ready .events-request.motion-pending .request-image{clip-path:none;transform:translateX(-50px) scale(1.05);opacity:.2}
  .request-image{clip-path:none;transition:transform 1.1s cubic-bezier(.16,1,.3,1),opacity .85s ease}
  .next-event-link{transition:transform .8s cubic-bezier(.16,1,.3,1)}
  .next-event-rail.is-ready .next-event-link{transform:translateY(0)}
  .next-event-arrow{transition:transform .35s cubic-bezier(.16,1,.3,1)}
  .next-event-link:hover .next-event-arrow{transform:translate(5px,-5px)}
}

/* The poster arrives, opens and stays readable before the next date takes over. */
.event-card-stage{position:relative}
@media (min-width:1051px) and (min-height:680px) and (prefers-reduced-motion:no-preference){
  .event-card-stage{height:152svh}
  .event-card-stage>.event-card{position:sticky;top:78px;height:calc(100svh - 78px);min-height:0}
  .event-card-copy{padding:26px clamp(24px,2.5vw,38px)}
  .event-card h3{margin:32px 0 18px}
  .event-card-tagline{margin-bottom:18px}
  .event-card-description{margin-bottom:16px}
  .event-card-facts{margin-bottom:18px}
  .event-card-stage.no-hold{height:auto}
  .event-card-stage.no-hold>.event-card{position:relative;top:auto;height:auto;min-height:660px}
}
@media (max-width:1050px), (max-height:679px), (prefers-reduced-motion:reduce){
  .event-card-stage{height:auto}
}
@media (prefers-reduced-motion:no-preference){
  .events-page.motion-ready .event-card.motion-pending .event-card-image{clip-path:inset(0 88% 0 0);transform:translate3d(36px,28px,0) rotate(4deg) scale(.96);opacity:.2}
  .event-card-image{clip-path:inset(0);transition:clip-path 1.45s cubic-bezier(.16,1,.3,1),transform 1.45s cubic-bezier(.16,1,.3,1),opacity 1.1s ease}
  .event-card-copy{transition:transform 1.25s .16s cubic-bezier(.16,1,.3,1),opacity 1s .16s ease}
  .event-poster-date strong{transition:transform 1.25s cubic-bezier(.16,1,.3,1),opacity 1s ease}
  .event-card-image img{will-change:auto}
}
@keyframes poster-open-transform{from{transform:translateX(16%) scale(1.04);opacity:.3}to{transform:translateX(0) scale(1);opacity:1}}
