:root{ --eu-delay: .1s; }
.eu-hero{
  width:100%;
  display:flex;
  justify-content:center;
  text-align:center;
  gap:24px;
}
.eu-hero.align-left{ text-align:left; justify-content:flex-start; }
.eu-hero.align-right{ text-align:right; justify-content:flex-end; }
.eu-hero__inner{
  max-width:1100px;
  margin:0 auto;
  padding: 24px 10px;
}
.eu-hero__title{
  margin:0 0 .3em;
  font-weight:900;
  line-height:1.05;
  letter-spacing:-.5px;
}
.eu-hero__desc{
  margin:0 0 1.2em;
  font-size:1.125rem;
  line-height:1.6;
  opacity:.95;
}
.eu-hero__btn{
  display:inline-flex; align-items:center; justify-content:center;
  background:#38e07b; color:#122118;
  font-weight:800; text-decoration:none; border-radius:999px;
  padding:14px 24px;
  transition: transform .08s ease, filter .2s ease;
}
.eu-hero__btn:hover{ transform: translateY(-1px); filter: brightness(1.05); }
/* Simple fade animations */
.eu-anim .eu-hero__title,
.eu-anim .eu-hero__desc,
.eu-anim .eu-hero__btn{
  opacity:0; transform: translateY(20px);
}
.eu-anim.eu-anim-fade-down .eu-hero__title,
.eu-anim.eu-anim-fade-down .eu-hero__desc,
.eu-anim.eu-anim-fade-down .eu-hero__btn{
  transform: translateY(-20px);
}
.eu-anim.eu-in .eu-hero__title,
.eu-anim.eu-in .eu-hero__desc,
.eu-anim.eu-in .eu-hero__btn{
  opacity:1; transform: translateY(0);
  transition: all .7s cubic-bezier(.2,.65,.2,1);
}
.eu-anim.eu-in .eu-hero__desc{ transition-delay: calc(var(--eu-delay) + .05s); }
.eu-anim.eu-in .eu-hero__btn{ transition-delay: calc(var(--eu-delay) + .12s); }
