.hero{position:relative; min-height:46vh; display:grid; place-items:center; text-align:center; color:#fff; overflow:hidden}
.hero__bg{position:absolute; inset:0; background:url('../img/hero1.jpg') center/cover no-repeat; transform:translateZ(0); will-change:transform}
.hero::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.25) 55%, rgba(0,0,0,.55))}
.hero__veil{position:absolute; inset:0; background:#222; transform:translateY(0); opacity:1; z-index:2; animation:liftVeil 1600ms ease-out forwards; animation-delay:900ms}
.hero__inner{position:relative; z-index:3; padding:3rem 1rem}
.hero__title{font-size:clamp(2rem,6vw,4rem); line-height:1.05; margin:0 0 .4rem; text-shadow:0 8px 40px rgba(0,0,0,.35)}
.hero__title span{color:var(--brand)}
.hero__subtitle{max-width:820px; margin:0 auto 1.2rem; font-size:clamp(1rem,2.2vw,1.25rem); opacity:.95}
.hero__ctas{display:inline-flex; gap:.75rem; flex-wrap:wrap; justify-content:center}

.hero__event-meta {
  margin-top: 18px;          /* space from buttons */
  display: flex;
  flex-direction: column;    /* stack lines vertically */
  align-items: center;       /* center horizontally */
  text-align: center;        /* center text inside */
  gap: 4px;                  /* even spacing between lines */
  padding: 1rem 1.25rem;
  border-radius: 12px;
  background: rgba(0,0,0,0.55);
  color: #fff;
  font-size: 0.95rem;
  line-height: 1.4;
}
.hero__event-meta p {
  margin: 0.25rem 0;
}
.hero__event-meta strong {
  color: #ffd27a; /* gentle highlight */
}

.hero-sessions {
  list-style: none;
  margin: .5rem 0 0;
  padding: 0;
}
.hero-sessions li {
  margin: .2rem 0;
  font-size: 0.95rem;
  color: #fff;
}
