/* v66: event lifecycle, consistent card interaction, brand selection colour. */
::selection { background:#9bddd7; color:#15324a; }
::-moz-selection { background:#9bddd7; color:#15324a; }
[hidden] { display:none !important; }
.archive-project.card {
  position:relative;
  top:0;
  transform:none;
  box-shadow:var(--soft-shadow);
  border-color:var(--line) !important;
  transition:top .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.motion-ready .archive-project.card.reveal-item.reveal-visible { transform:none; }
.archive-project.card:focus-within {
  top:-2px;
  box-shadow:0 18px 44px rgba(21,50,74,.13);
  border-color:rgba(31,93,99,.30) !important;
}
.archive-project .archive-copy h3 a,
.archive-project .archive-copy h3 a:hover,
.archive-project .event-card-more,
.archive-project .event-card-more:hover {
  text-decoration:none;
  transform:none;
}
.archive-project .event-card-more { transition:color .25s ease; }
.archive-project:hover .event-card-more,
.archive-project:focus-within .event-card-more { color:#347e80; }
.archive-project .archive-copy a:focus-visible { outline:2px solid #1f5d63; outline-offset:5px; }
.archive-media-count { color:#1f5d63; font-size:.9rem; line-height:1.5; }
[data-event-list="past-staged"] > * + * { margin-top:28px; }
.home-projects [data-event-list="home"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
[data-event-phase="past"] .event-detail-poster { display:none; }
[data-event-phase="past"] .event-detail-layout { grid-template-columns:minmax(0,1fr); max-width:1120px; margin-inline:auto; }
.performance-past { cursor:default; }
.performance-past:hover { transform:none; }
.performance-status { color:var(--muted); font-size:.87rem; }
.photo-carousel-wide .photo-carousel-stage { aspect-ratio:16 / 9; }
.photo-caption { margin:12px 0 0; color:var(--muted); font-size:.9rem; line-height:1.5; }
.media-lightbox-count { max-width:calc(100% - 32px); text-align:center; }
.date-preview-notice { margin:0; padding:10px 20px; background:#9bddd7; color:#15324a; text-align:center; position:relative; z-index:1000; }
@media (hover:hover) and (pointer:fine) {
  .archive-project.card:hover { top:-2px; transform:none; box-shadow:0 18px 44px rgba(21,50,74,.13); border-color:rgba(31,93,99,.30) !important; }
}
@media (max-width:700px) { .home-projects [data-event-list="home"] { grid-template-columns:minmax(0,1fr); } }
@media (prefers-reduced-motion:reduce) {
  .archive-project.card,.archive-project.card:hover,.archive-project.card:focus-within { top:0; transition:none; }
}

/* V66: keep full photographic frames sharp and prevent inherited preview zoom. */
.photo-carousel-wide .photo-slide img { image-rendering:auto; transform:none; }
.ticket-venue .musical-address { display:block; margin-top:4px; font-weight:400; line-height:1.45; color:var(--muted); }

/* V66 correction: keep consecutive programme and performer panels separated. */
.event-info-stack { display:grid; gap:24px; margin:32px 0; }
