/* skip-a-beat — events.html (v2 Editorial Contrast) */

.v2-upcoming { background: var(--ink); color: var(--paper); padding: 40px 0 80px; }
.v2-upcoming .v2-eyebrow { color: var(--accent); }
.upcoming-grid { margin-top: 24px; display: grid; grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 768px) { .upcoming-grid { grid-template-columns: repeat(3, 1fr); } }
.upcoming-grid:empty { display: none; }

.v2-cal { background: var(--paper); padding: 80px 0 120px; }
.cal-year-block { padding-top: 72px; }
.cal-year-block:first-child { padding-top: 0; }
.cal-year-label {
  font-size: 13vw; font-weight: 700; letter-spacing: -0.045em; line-height: 1.1;
  color: var(--muted-fg);
  margin-bottom: 32px; padding-bottom: 0.08em;
}
@media (min-width: 768px) { .cal-year-label { font-size: 96px; } }

.cal-event {
  display: grid; gap: 16px 20px;
  grid-template-columns: 64px 1fr;
  grid-template-areas: "img img" "date info" "tags tags";
  padding: 32px 0; border-top: 1px solid var(--rule);
}
.cal-event:not(:has(.cal-event-img)) { grid-template-areas: "date info" "tags tags"; }
@media (min-width: 640px) {
  .cal-event {
    grid-template-columns: clamp(140px,18vw,200px) 72px 1fr auto;
    grid-template-areas: "img date info tags";
    gap: 24px; align-items: start;
  }
  .cal-event:not(:has(.cal-event-img)) { grid-template-columns: 72px 1fr auto; grid-template-areas: "date info tags"; }
}
.cal-event-img {
  grid-area: img; width: 100%; aspect-ratio: 1;
  background-size: cover; background-position: center; background-color: #111;
}
@media (min-width: 640px) { .cal-event-img { width: clamp(140px,18vw,200px); height: clamp(140px,18vw,200px); aspect-ratio: auto; } }
.cal-date { grid-area: date; display: flex; flex-direction: column; line-height: 1; }
.cal-day { font-size: 24px; font-weight: 700; letter-spacing: -0.02em; }
.cal-month { margin-top: 4px; font-size: 11px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted-fg); }
.cal-year-sm { font-size: 10px; color: var(--muted-fg); }
.cal-info { grid-area: info; min-width: 0; }
.cal-title { font-size: 18px; font-weight: 700; letter-spacing: -0.025em; text-transform: lowercase; line-height: 1.35; padding-bottom: 0.04em; }
@media (min-width: 768px) { .cal-title { font-size: 21px; } }
.cal-venue { margin-top: 8px; font-size: 12px; color: var(--muted-fg); }
.cal-desc { margin-top: 10px; font-size: 13px; line-height: 1.65; color: var(--ink); opacity: 0.75; max-width: 44rem; }
.cal-tags { grid-area: tags; display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
@media (min-width: 768px) { .cal-tags { margin-top: 0; align-self: start; } }
.etag {
  font-size: 10px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase;
  padding: 4px 10px; white-space: nowrap; background: var(--muted); color: var(--muted-fg);
  display: inline-block;
}

/* Upcoming card variant (rendered by main.js for future events, currently empty) */
.upcoming-card { background: rgba(242,239,232,0.04); padding: 20px; }
.upcoming-card-img { width: 100%; aspect-ratio: 1; background-size: cover; background-position: center; margin-bottom: 16px; }
