/* ============================================================
   EVENTS
   ============================================================ */
.events-hero { background:var(--clr-red); padding:40px 0 60px; }
.events-hero .container { position:relative; }
.events-hero-body { margin-top:32px; display:grid; grid-template-columns:1fr; gap:24px; }
.events-divider-left  { width:100%; height:1px; background:rgba(255,255,255,0.25); grid-column:1/-1; }
.events-desc { font-family:var(--ff-body); font-size:clamp(14px,1.6vw,16px); color:rgba(255,255,255,.88); line-height:1.75; max-width:640px; justify-self:end; }
.events-divider-right { width:60%; height:1px; background:rgba(255,255,255,0.25); grid-column:1/-1; justify-self:end; }
@media(min-width:768px){
  .events-hero-body { grid-template-columns:1fr 1fr; gap:20px 60px; }
  .events-divider-left  { grid-column:1/2; align-self:center; }
  .events-desc          { grid-column:2/3; justify-self:start; }
  .events-divider-right { grid-column:2/3; width:80%; justify-self:end; }
}

.events-gallery-wrap { background:var(--clr-white); padding:64px 0 80px; }

.events-gallery {
  display:flex; gap:10px; height:380px; overflow:hidden; border-radius:var(--radius-md);
}
@media(max-width:639px){
  .events-gallery { flex-direction:column; height:auto; gap:8px; }
  .events-photo { flex:none !important; height:220px; width:100% !important; }
  .events-photo--wide { height:260px; }
}

/* MODIFICATION: Much longer delay for photo entrance */
.events-photo {
  position:relative; flex:1; overflow:hidden; cursor:pointer;
  border-radius:var(--radius-md);
  opacity:0; transform:scale(0.96);
  transition:
    flex 0.55s var(--ease-out-expo),
    opacity 0.5s var(--ease-out-expo) var(--ep-delay),
    transform 0.5s var(--ease-out-expo) var(--ep-delay),
    box-shadow 0.35s;
}
.events-photo--wide { flex:2.5; }
.events-photo.in-view { opacity:1; transform:scale(1); }
.events-gallery:hover .events-photo       { flex:0.55; }
.events-gallery:hover .events-photo--wide { flex:1.2; }
.events-gallery .events-photo:hover       { flex:3.5 !important; box-shadow:0 16px 40px rgba(204,31,43,0.2); }
.events-photo img { width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform .6s var(--ease-out-expo); display:block; }
.events-photo:hover img { transform:scale(1.04); }
.events-photo-overlay {
  position:absolute; bottom:0; left:0; right:0;
  padding:28px 16px 16px;
  background:linear-gradient(to top,rgba(20,2,4,.72) 0%,transparent 100%);
  transform:translateY(100%); transition:transform .4s var(--ease-out-expo);
  border-radius:0 0 var(--radius-md) var(--radius-md);
}
.events-photo:hover .events-photo-overlay { transform:translateY(0); }
.events-photo-caption { font-family:var(--ff-display); font-size:13px; font-weight:600; color:var(--clr-white); letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.events-photo::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--clr-red); transform:scaleY(0); transform-origin:bottom; transition:transform .4s var(--ease-out-expo); z-index:2; }
.events-photo:hover::before { transform:scaleY(1); }
.events-photo.kb-expanded { flex:3.5 !important; box-shadow:0 16px 40px rgba(204,31,43,0.2); }
.events-photo.kb-expanded .events-photo-overlay { transform:translateY(0); }
.events-photo.kb-expanded::before { transform:scaleY(1); }

