.desktop-nav a[aria-current="page"]::after { width: 100%; background: var(--event-green); }
.event-header-cta { border-color: var(--event-green); }
.event-header-cta:hover { background: var(--event-green); border-color: var(--event-green); }

.event-poster-hero { min-height: 100svh; position: relative; overflow: hidden; padding: 7.2rem var(--pad) 3.6rem; display: grid; align-items: center; background: #020908; }
.event-poster-hero::before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(90deg, rgba(1,7,6,.94), rgba(1,7,6,.18) 50%, rgba(1,7,6,.94)), linear-gradient(0deg, rgba(1,7,6,.8), transparent 50%, rgba(1,7,6,.45)); }
.event-page-backdrop { position: absolute; inset: -3%; width: 106%; height: 106%; object-fit: cover; filter: saturate(1.08); }
.event-page-grid { position: absolute; inset: 0; z-index: 1; opacity: .2; background-image: linear-gradient(rgba(255,255,255,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.1) 1px, transparent 1px); background-size: 8.33vw 8.33vw; }
.event-hero-layout { position: relative; z-index: 2; width: 100%; min-height: calc(100svh - 10.8rem); display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, min(38vw, 540px)) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 5rem); align-items: center; }
.event-hero-date { align-self: end; padding-bottom: 3rem; display: grid; grid-template-columns: auto 1fr; align-items: end; }
.event-hero-date small { grid-column: 1 / -1; color: var(--event-green); font-size: .65rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.event-hero-date strong { font: 700 clamp(8rem, 16vw, 16rem)/.75 var(--display); letter-spacing: -.055em; }
.event-hero-date span { padding: 0 0 .5rem .7rem; color: rgba(239,237,229,.68); font: 600 clamp(1.2rem, 2.1vw, 2rem)/1.05 var(--display); text-transform: uppercase; }
.event-official-poster { align-self: center; margin: 0; position: relative; transform: rotate(-.8deg); box-shadow: 0 45px 150px rgba(0,0,0,.72), 0 0 0 1px rgba(255,255,255,.17); }
.event-official-poster img { width: 100%; aspect-ratio: 4/5; object-fit: contain; background: #020706; }
.event-official-poster figcaption { position: absolute; left: 0; bottom: -1.65rem; width: 100%; color: rgba(239,237,229,.42); font-size: .5rem; letter-spacing: .13em; text-align: center; text-transform: uppercase; }
.event-hero-title { align-self: start; padding-top: 4rem; }
.event-hero-title > p { color: var(--event-green); font-size: .65rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.event-hero-title h1 { margin: 1rem 0 1.4rem; font: 700 clamp(3.5rem, 5.8vw, 6.4rem)/.94 var(--display); letter-spacing: -.035em; text-transform: uppercase; }
.event-hero-title h1 em { color: var(--event-green); font-style: normal; }
.event-hero-title > span { display: block; max-width: 260px; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.35); color: rgba(239,237,229,.63); font-size: .63rem; letter-spacing: .13em; text-transform: uppercase; }
.event-scroll { position: absolute; z-index: 3; right: var(--pad); bottom: 1.5rem; display: flex; align-items: center; gap: 1rem; font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; }
.event-scroll b { display: grid; place-items: center; width: 38px; height: 38px; color: var(--ink); background: var(--event-green); border-radius: 50%; }

.event-program { padding: clamp(6rem, 10vw, 10rem) var(--pad); display: grid; grid-template-columns: minmax(360px, .78fr) minmax(0, 1.22fr); gap: clamp(3rem, 8vw, 9rem); align-items: start; background: var(--paper); color: var(--ink); }
.event-video-column { position: sticky; top: 6rem; }
.event-video-frame { width: min(100%, 590px); position: relative; padding: 1rem; background: #020908; box-shadow: 0 35px 100px rgba(7,21,18,.2); }
.event-video-frame::before { content: ""; position: absolute; inset: -12px 12px 12px -12px; border: 1px solid rgba(13,157,97,.5); pointer-events: none; }
.event-video-frame video { width: 100%; max-height: 78svh; display: block; aspect-ratio: 9/16; object-fit: contain; background: #000; }
.event-video-index { position: absolute; left: 1.8rem; bottom: 1.8rem; padding: .45rem .65rem; color: var(--ink); background: var(--event-green); font-size: .55rem; font-weight: 600; letter-spacing: .13em; }
.event-video-caption { max-width: 520px; margin: 1.7rem 0 0; color: #6d6a62; font-size: .8rem; }
.event-info { padding-top: 1rem; }
.event-info-kicker { margin: 3rem 0 1rem; color: #087e50; font-size: .68rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.event-info h2 { margin: 0; font: 700 clamp(4.7rem, 8.2vw, 8.5rem)/.94 var(--display); letter-spacing: -.04em; text-transform: uppercase; }
.event-info h2 span { color: transparent; -webkit-text-stroke: 2px #087e50; }
.event-info blockquote { margin: 2.2rem 0; padding-left: 1.2rem; border-left: 4px solid #087e50; font: 500 clamp(1.3rem, 2.1vw, 2rem)/1.25 var(--body); }
.event-intro { max-width: 700px; color: #5f5c56; font-size: 1.04rem; }
.event-facts { margin: 3rem 0 0; border-top: 1px solid #aaa69d; }
.event-facts div { min-height: 74px; display: grid; grid-template-columns: 120px 1fr; align-items: center; gap: 1rem; border-bottom: 1px solid #aaa69d; }
.event-facts dt { color: #77736b; font-size: .58rem; letter-spacing: .13em; text-transform: uppercase; }
.event-facts dd { margin: 0; font: 600 1.15rem var(--display); text-transform: uppercase; }
.event-lineup { margin-top: 3rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #aaa69d; border: 1px solid #aaa69d; }
.event-lineup div { min-height: 190px; padding: 1.2rem; display: flex; flex-direction: column; background: var(--paper); }
.event-lineup small { color: #087e50; font-size: .56rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.event-lineup strong { margin: auto 0 .8rem; font: 700 clamp(1.7rem, 2.7vw, 2.8rem)/.95 var(--display); text-transform: uppercase; }
.event-lineup span { color: #77736b; font-size: .72rem; text-transform: uppercase; }
.event-actions { margin-top: 2.5rem; display: flex; flex-wrap: wrap; gap: .8rem; }
.event-button-primary { color: var(--ink); background: var(--event-green); border-color: var(--event-green); }
.event-button-primary:hover { color: var(--paper); background: var(--ink); border-color: var(--ink); }
.event-button-secondary { border-color: #706d66; }

.event-rsvp { margin-top: 4rem; padding: clamp(1.5rem, 3vw, 2.6rem); display: grid; grid-template-columns: minmax(220px,.72fr) minmax(0,1.28fr); gap: clamp(1.5rem,4vw,4rem); color: var(--paper); background: #07100f; border-top: 5px solid var(--event-green); }
.event-rsvp h3 { margin: .7rem 0 1rem; font: 700 clamp(2.2rem,4vw,4rem)/.92 var(--display); letter-spacing: -.03em; text-transform: uppercase; }
.event-rsvp > div > p:last-child { margin: 0; color: rgba(239,237,229,.62); font-size: .82rem; }
.event-rsvp form { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.event-rsvp label { display: grid; gap: .45rem; color: rgba(239,237,229,.55); font-size: .58rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.event-rsvp input, .event-rsvp select, .event-rsvp textarea { width: 100%; padding: .9rem 0; color: var(--paper); background: transparent; border: 0; border-bottom: 1px solid rgba(239,237,229,.34); border-radius: 0; font: 400 .9rem var(--body); }
.event-rsvp textarea { resize: vertical; }
.event-rsvp-note, .event-rsvp-consent, .event-rsvp button, .event-rsvp-status { grid-column: 1/-1; }
.event-rsvp .event-rsvp-consent { display: flex; align-items: flex-start; gap: .7rem; color: rgba(239,237,229,.75); line-height: 1.45; text-transform: none; letter-spacing: .02em; }
.event-rsvp .event-rsvp-consent input { flex: 0 0 auto; width: 16px; height: 16px; margin-top: .1rem; padding: 0; accent-color: var(--event-green); }
.event-rsvp button { min-height: 50px; padding: .8rem 1rem; color: var(--ink); background: var(--event-green); border: 1px solid var(--event-green); font: 600 .64rem var(--body); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.event-rsvp button:hover { color: var(--paper); background: transparent; }
.event-rsvp-status { min-height: 1.3em; margin: 0; color: var(--event-green); font-size: .72rem; }

.event-notes { padding: clamp(6rem, 10vw, 10rem) var(--pad); display: grid; grid-template-columns: .6fr 1.4fr; gap: 4rem; color: var(--paper); background: #07100f; }
.event-notes > div { max-width: 980px; }
.event-notes h2 { margin: 0 0 2.5rem; color: var(--event-green); font: 700 clamp(5rem, 10vw, 10rem)/.92 var(--display); letter-spacing: -.04em; text-transform: uppercase; }
.event-notes p { max-width: 720px; color: rgba(239,237,229,.62); }

@media (max-width: 1060px) {
  .event-hero-layout { grid-template-columns: minmax(0, .75fr) minmax(340px, 480px) minmax(0, .75fr); gap: 1.5rem; }
  .event-hero-title h1 { font-size: clamp(3.1rem, 5.4vw, 5rem); }
  .event-program { grid-template-columns: minmax(300px, .7fr) minmax(0, 1.3fr); gap: 3rem; }
  .event-lineup { grid-template-columns: 1fr; }.event-lineup div { min-height: 130px; }
}

@media (max-width: 860px) {
  .event-poster-hero { min-height: auto; }
  .event-hero-layout { min-height: auto; grid-template-columns: .7fr 1.3fr; grid-template-areas: "date title" "poster poster"; gap: 2.5rem 2rem; }
  .event-hero-date { grid-area: date; align-self: end; padding-bottom: 0; }
  .event-official-poster { grid-area: poster; width: min(100%, 500px); justify-self: center; }
  .event-hero-title { grid-area: title; align-self: center; padding-top: 0; }
  .event-hero-title h1 { font-size: clamp(3.8rem, 9vw, 5.2rem); }
  .event-scroll { display: none; }
}

@media (max-width: 720px) {
  .event-poster-hero { min-height: auto; padding: 6rem var(--pad) 5rem; }
  .event-hero-layout { min-height: auto; grid-template-columns: 1fr; gap: 2rem; }
  .event-hero-date { grid-area: auto; order: 1; align-self: auto; padding: 0; }.event-hero-date strong { font-size: 8rem; }.event-hero-date span { font-size: 1.4rem; }
  .event-official-poster { grid-area: auto; order: 2; width: min(100%, 430px); justify-self: center; }
  .event-hero-title { grid-area: auto; order: 3; padding-top: 1rem; }.event-hero-title h1 { font-size: clamp(4rem, 18vw, 6rem); }.event-hero-title > span { max-width: none; }
  .event-scroll { display: none; }
  .event-program { grid-template-columns: 1fr; gap: 5rem; }.event-video-column { position: static; }.event-video-frame { margin-inline: auto; }.event-video-frame video { max-height: none; }
  .event-info h2 { font-size: clamp(4.4rem, 19vw, 6.7rem); }.event-facts div { grid-template-columns: 90px 1fr; }.event-actions { flex-direction: column; }.event-actions .button { width: 100%; }
  .event-rsvp { grid-template-columns: 1fr; }.event-rsvp form { grid-template-columns: 1fr; }.event-rsvp label, .event-rsvp button, .event-rsvp-status { grid-column: 1; }
  .event-notes { grid-template-columns: 1fr; gap: 2rem; }.event-notes h2 { font-size: clamp(4.8rem, 20vw, 7rem); }
}
