/* EdgeOne DJ hero: brand-safe contrast over a bright white/gray banner. */
.hero > img {
  content: url("edgeone-hero-dj.png");
  object-position: center center;
  filter: saturate(.96) contrast(1.02) brightness(1.03);
}

.hero .shade {
  background: linear-gradient(90deg,
    rgba(5,5,5,.90) 0%,
    rgba(5,5,5,.78) 29%,
    rgba(5,5,5,.48) 48%,
    rgba(5,5,5,.08) 70%,
    rgba(5,5,5,0) 100%);
}

.hero-copy { text-shadow: 0 2px 18px rgba(0,0,0,.28); }
.hero-copy h1 { color: #fff; }
.hero-copy h1 em,
.hero .kicker,
.hero-stamp small,
.scroll-cue span { color: #e4a347; }
.hero-copy > p:not(.kicker) { color: rgba(255,255,255,.94); }
.soundline { color: rgba(255,255,255,.88); }
.secondary {
  border-color: rgba(255,255,255,.72);
  background: rgba(5,5,5,.48);
}
.hero-stamp {
  background: rgba(5,5,5,.58);
  border-color: rgba(255,255,255,.82);
  text-shadow: 0 2px 10px #050505;
}

/* Purposeful motion system: cinematic in the hero, tactile in the library. */
.hero > img {
  transform: scale(1.045);
  animation: hero-drift 18s ease-in-out infinite alternate;
  will-change: transform;
}
.hero-glow {
  animation: light-breathe 9s ease-in-out infinite alternate;
  mix-blend-mode: screen;
}
.hero-copy > * {
  opacity: 0;
  transform: translateY(22px);
  animation: hero-reveal .8s cubic-bezier(.2,.7,.2,1) forwards;
}
.hero-copy > :nth-child(2){animation-delay:.12s}
.hero-copy > :nth-child(3){animation-delay:.24s}
.hero-copy > :nth-child(4){animation-delay:.36s}
.hero-copy > :nth-child(5){animation-delay:.48s}
.hero-stamp { animation: stamp-float 6s ease-in-out infinite; }
.scroll-cue span { animation: cue-bounce 1.8s ease-in-out infinite; }

.reveal-section .title,
.reveal-section.mission > *,
.reveal-section.connect > * {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1);
}
.reveal-section.is-visible .title,
.reveal-section.mission.is-visible > *,
.reveal-section.connect.is-visible > * { opacity: 1; transform: none; }

.genres button,.release-card,.video-art,.primary,.secondary,.listen,.connect a {
  transition: transform .28s ease, box-shadow .28s ease, filter .28s ease, border-color .28s ease;
}
.genres button:hover,.genres button:focus-visible {
  transform: translateY(-7px);
  box-shadow: 0 18px 36px rgba(33,19,4,.22);
}
.release-card {
  transform: translateY(18px);
  opacity: 0;
  transition: transform .55s cubic-bezier(.2,.7,.2,1), opacity .55s ease, box-shadow .28s ease;
}
.release-card.is-visible { transform: none; opacity: 1; }
.release-card:hover,.release-card:focus-within {
  transform: translateY(-5px);
  box-shadow: 0 18px 38px rgba(44,20,0,.14);
}
.release-card .cover img { transition: transform .55s ease, filter .4s ease; }
.release-card:hover .cover img { transform: scale(1.045); filter: saturate(1.08); }
.release-info a:hover,.release-info a:focus-visible,.video-art:hover>span { transform: scale(1.1); }
.primary:hover,.secondary:hover,.listen:hover,.connect a:hover { transform: translateY(-2px); filter: brightness(1.06); }
.primary:active,.secondary:active,.listen:active,.connect a:active { transform: translateY(0) scale(.98); }
.view-count[data-count] { font-variant-numeric: tabular-nums; }

@keyframes hero-drift { from{transform:scale(1.045) translate3d(-.5%,0,0)} to{transform:scale(1.09) translate3d(.7%,-.5%,0)} }
@keyframes light-breathe { from{transform:translate3d(-5%,2%,0) scale(.9);opacity:.55} to{transform:translate3d(12%,-5%,0) scale(1.18);opacity:1} }
@keyframes hero-reveal { to{opacity:1;transform:none} }
@keyframes stamp-float { 0%,100%{transform:rotate(7deg) translateY(0)} 50%{transform:rotate(5deg) translateY(-9px)} }
@keyframes cue-bounce { 0%,100%{transform:translateY(0);opacity:.65} 50%{transform:translateY(7px);opacity:1} }

@media (max-width:900px) {
  .hero > img { object-position: 64% center; }
  .hero .shade { background: linear-gradient(90deg,rgba(5,5,5,.94),rgba(5,5,5,.72) 63%,rgba(5,5,5,.16)); }
}

@media (max-width:600px) {
  .hero > img { object-position: 68% center; }
  .hero .shade { background: linear-gradient(90deg,rgba(5,5,5,.95),rgba(5,5,5,.76)); }
  .hero > img { animation-duration: 26s; transform: scale(1.025); }
  .genres button:hover,.genres button:focus-visible { transform: translateY(-3px); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .hero > img,.hero-copy > *,.reveal-section .title,.reveal-section.mission > *,.reveal-section.connect > *,.release-card { opacity:1; transform:none; }
}
