/* ===================== CHARACTERS ARC ===================== */
#characters{
  position:relative;
  padding:100px 28px 110px;
  background:radial-gradient(circle at 50% 0%, rgba(84,74,190,0.10), rgba(84,74,190,0) 32%), linear-gradient(180deg, #070712 0%, #090914 100%);
  overflow:hidden;
}
#characters::before{display:none!important;}
.arc-characters-shell{
  width:min(1680px, 100%);
  margin:0 auto;
  border:1px solid rgba(112,105,182,0.28);
  border-radius:28px;
  padding:26px 22px 80px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.02);
}
.arc-characters-heading{
  margin-top:8px;
  font-size:44px;
  font-weight:300;
  text-align:center;
}
.arc-characters-heading em{font-style:italic;color:var(--gold);}
.arc-viewport{
  position:relative;
  height:540px;
  margin-top:24px;
  overflow:hidden;
  touch-action:pan-x;
  cursor:grab;
}
.arc-viewport.is-dragging{cursor:grabbing;}
.arc-track{
  position:relative;
  width:100%;
  height:100%;
  perspective:1400px;
  transform-style:preserve-3d;
}
.arc-card{
  position:absolute;
  left:50%;
  top:58%;
  width:290px;
  transform-origin:center center;
  transition:transform .16s linear, opacity .16s linear, filter .16s linear;
  will-change:transform, opacity, filter;
}
.arc-card-media{
  aspect-ratio:.78;
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 22px 50px rgba(0,0,0,0.34);
}
.arc-card img{width:100%;height:100%;object-fit:cover;display:block;}
.arc-card-title{
  margin-top:16px;
  text-align:center;
  font-size:28px;
  line-height:1.1;
  color:rgba(255,255,255,0.94);
}
.arc-card.is-active .arc-card-media{box-shadow:0 26px 70px rgba(0,0,0,0.42), 0 0 0 1px rgba(255,255,255,0.08);}

