:root{
  --gallery-speed: 260s;
}

.epg-section{
  position:relative;
  padding:58px 0;
  border-bottom:1px solid var(--line);
  overflow:hidden;
  isolation:isolate;
  min-height:620px;
}

.epg-bg-gallery{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}

.epg-bg-track{
  position:absolute;
  left:0;
  top:52%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  gap:30px;
  width:max-content;
  padding:0 36px;
  animation:epgScroll var(--gallery-speed) linear infinite !important;
  will-change:transform;
}

.epg-bg-shot{
  position:relative;
  flex:0 0 auto;
  width:560px;
  height:315px;
  border-radius:26px;
  overflow:hidden;
  background:#060b16;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:
    0 24px 60px rgba(0,0,0,.34),
    0 0 0 1px rgba(0,166,255,.08);
  transform:perspective(1600px) rotateY(-6deg) scale(1.02);
}

.epg-bg-shot img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.08);
  filter:saturate(1.08) contrast(1.08) brightness(.92);
}

.epg-bg-shot::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(4,8,18,.18), rgba(4,8,18,.04) 40%, rgba(4,8,18,0));
}

@keyframes epgScroll{
  from{ transform:translateY(-50%) translateX(0); }
  to{ transform:translateY(-50%) translateX(-50%); }
}

.epg-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(to bottom, rgba(8,12,24,.22), rgba(8,12,24,.34)),
    radial-gradient(900px 400px at 20% 50%, rgba(0,166,255,.10), transparent 60%),
    radial-gradient(900px 400px at 80% 50%, rgba(20,241,149,.06), transparent 60%);
}

.epg-overlay::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      to right,
      rgba(11,16,32,.68) 0%,
      rgba(11,16,32,.20) 16%,
      rgba(11,16,32,.03) 34%,
      rgba(11,16,32,.03) 66%,
      rgba(11,16,32,.22) 84%,
      rgba(11,16,32,.68) 100%
    );
}

.epg-content-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:24px;
  align-items:start;
}

@media (max-width:1100px){
  .epg-content-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:980px){
  :root{
    --gallery-speed: 220s;
  }

  .epg-bg-shot{
    width:420px;
    height:236px;
  }

  .epg-section{
    min-height:700px;
  }
}

@media (max-width:640px){
  :root{
    --gallery-speed: 180s;
  }

  .epg-bg-shot{
    width:300px;
    height:170px;
    border-radius:16px;
    transform:none;
  }

  .epg-bg-shot img{
    transform:scale(1.04);
  }

  .epg-bg-track{
    gap:16px;
    padding:0 14px;
  }

  .epg-section{
    padding:38px 0;
    min-height:760px;
  }
}