/* Event hub and individual event pages */
.page-hero--video { background:#08080e; }
.page-hero--video .page-hero-video {
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 58%;
  opacity:.8;
  pointer-events:none;
}
.page-hero--video::before {
  z-index:1;
  background:linear-gradient(90deg,rgba(5,6,12,.9) 0%,rgba(5,6,12,.65) 48%,rgba(5,6,12,.28) 100%),linear-gradient(180deg,rgba(5,6,12,.25),rgba(5,6,12,.72));
}
.page-hero--video::after { z-index:1; opacity:.3; }
.page-hero--video .container { z-index:2; }

.event-jumpbar {
  position: sticky;
  top: 74px;
  z-index: 20;
  border-block: 1px solid var(--line);
  background: rgba(8,8,14,.94);
  backdrop-filter: blur(16px);
}
.event-jumpbar .container {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-block: 10px;
  scrollbar-width: none;
}
.event-jumpbar .container::-webkit-scrollbar { display: none; }
.event-jumpbar a {
  flex: 0 0 auto;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 0 16px;
  border: 1px solid var(--line-2);
  color: #cbd5e1;
  font: 700 .68rem/1 var(--f-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.event-jumpbar a:hover,
.event-jumpbar a:focus-visible { border-color: var(--volt); color: #fff; }

.events-intro-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.events-season-note { max-width: 760px; }
.event-card--current { border-color: rgba(46,197,240,.7); box-shadow: 0 0 40px rgba(46,197,240,.12); }
.event-card--current .date .status { color: var(--volt); }
.event-card .info p { max-width: 720px; margin-top: 8px; color: var(--smoke); }
.event-card .event-links { display:flex; flex-wrap:wrap; gap:16px; margin-top:12px; }
.event-card .event-links a { font:700 .68rem/1.4 var(--f-mono); letter-spacing:.09em; text-transform:uppercase; color:var(--nitro); }
.event-card .event-links a:hover { color:var(--volt); }

.event-summary {
  display: grid;
  grid-template-columns: minmax(250px,.62fr) minmax(0,1.38fr);
  gap: clamp(28px,6vw,78px);
  align-items: center;
}
.event-summary-media { border:1px solid rgba(46,197,240,.42); border-radius:var(--radius-lg); overflow:hidden; box-shadow:0 25px 70px rgba(0,0,0,.42); }
.event-summary-media img { display:block; width:100%; height:auto; }
.event-fact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:26px; border-block:1px solid var(--line); }
.event-fact-grid div { padding:17px 15px 17px 0; }
.event-fact-grid span { display:block; color:var(--smoke); font:600 .64rem/1 var(--f-mono); letter-spacing:.14em; text-transform:uppercase; }
.event-fact-grid strong { display:block; margin-top:8px; font-size:.92rem; line-height:1.35; }
.event-start-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:28px; }
.event-start-grid a { display:flex; min-height:150px; flex-direction:column; justify-content:space-between; padding:20px; border:1px solid var(--line-2); border-radius:10px; background:rgba(255,255,255,.025); transition:border-color .2s, transform .2s, background .2s; }
.event-start-grid a:hover, .event-start-grid a:focus-visible { transform:translateY(-2px); border-color:rgba(39,215,255,.55); background:rgba(39,215,255,.05); }
.event-start-grid span { font-family:var(--f-mono); color:var(--cyan); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; }
.event-start-grid strong { color:var(--paper); font-family:var(--f-display); font-size:1.35rem; font-style:italic; line-height:1.05; text-transform:uppercase; }
.event-start-grid small { color:var(--smoke); font-weight:700; line-height:1.35; }

.timeline-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.timeline-day { position:relative; overflow:hidden; padding:clamp(24px,4vw,38px); border:1px solid var(--line-2); border-radius:var(--radius-lg); background:linear-gradient(155deg,rgba(20,24,35,.96),rgba(8,10,16,.98)); }
.timeline-day::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--day-accent,var(--volt)); }
.timeline-day--main { --day-accent:#f52f42; border-color:rgba(245,47,66,.55); }
.timeline-day--street { --day-accent:var(--nitro); }
.timeline-day--community { --day-accent:#ffbd45; }
.timeline-day header { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; margin-bottom:22px; }
.timeline-day .day-code { color:var(--day-accent,var(--volt)); font:700 .68rem/1 var(--f-mono); letter-spacing:.14em; text-transform:uppercase; }
.timeline-day h3 { margin-top:8px; font-size:clamp(1.65rem,4vw,2.55rem); line-height:.95; text-transform:uppercase; }
.timeline-day .day-label { flex:0 0 auto; padding:7px 9px; border:1px solid currentColor; color:#9ba9b9; font:700 .6rem/1 var(--f-mono); letter-spacing:.1em; text-transform:uppercase; }
.timeline { list-style:none; margin:0; padding:0; }
.timeline::before { display:none; }
.timeline li { display:grid; grid-template-columns:minmax(110px,.7fr) minmax(0,1.3fr); gap:14px; padding:12px 0; border-top:1px solid rgba(255,255,255,.09); }
.timeline time,
.timeline .time { color:#fff; font:700 .78rem/1.35 var(--f-mono); letter-spacing:.04em; text-transform:uppercase; }
.timeline .activity { color:#d7e0ea; line-height:1.4; }
.timeline-note { margin-top:18px; color:var(--smoke); font-size:.9rem; line-height:1.5; }

.event-lanes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.event-lane { padding:clamp(26px,4vw,42px); }
.event-lane .lane-code { color:var(--volt); font:700 .68rem/1 var(--f-mono); letter-spacing:.14em; text-transform:uppercase; }
.event-lane--street .lane-code { color:var(--nitro); }
.event-lane ul { margin:20px 0 0; padding-left:20px; color:#d7e0ea; }
.event-lane li + li { margin-top:10px; }
.event-lane-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }

.event-resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.event-resource { display:flex; min-height:100%; flex-direction:column; padding:26px; }
.event-resource p { flex:1; margin-top:10px; color:var(--smoke); }
.event-resource .arrow-link { margin-top:20px; }
.event-update-note { padding:20px 24px; border-left:4px solid #ffbd45; background:rgba(255,189,69,.08); color:#dce4ed; }
.event-update-note strong { color:#fff; }

@media (max-width: 820px) {
  .page-hero--video .page-hero-video { object-position:62% center; opacity:.7; }
  .page-hero--video::before { background:linear-gradient(180deg,rgba(5,6,12,.5),rgba(5,6,12,.86)); }
  .event-jumpbar { top:64px; }
  .event-summary,
  .timeline-grid,
  .event-lanes,
  .event-resource-grid { grid-template-columns:1fr; }
  .event-lane-actions .btn { width:100%; }
  .event-summary-media { max-width:430px; margin-inline:auto; }
  .event-fact-grid { grid-template-columns:1fr; }
  .event-start-grid { grid-template-columns:1fr 1fr; }
  .event-start-grid a { min-height:132px; padding:16px; }
  .event-fact-grid div { padding:14px 0; border-bottom:1px solid var(--line); }
  .event-fact-grid div:last-child { border-bottom:0; }
}

@media (prefers-reduced-motion: reduce) {
  .page-hero--video .page-hero-video { display:none; }
}

@media (max-width: 520px) {
  .events-intro-actions .btn { width:100%; }
  .event-start-grid { grid-template-columns:1fr; }
  .event-start-grid a { min-height:112px; }
  .timeline-day { padding:24px 20px; }
  .timeline-day header { display:block; }
  .timeline-day .day-label { display:inline-block; margin-top:14px; }
  .timeline li { grid-template-columns:1fr; gap:5px; }
}
