.video-album::before {
  z-index: 1;
  background: linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.42) 68%,rgba(0,0,0,.72));
}
.video-album .grid { z-index: 2; }
.video-album .page { z-index: 3; background:rgba(0,0,0,.24); }
.album-film-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background:#050505 var(--film-poster) center center/cover no-repeat;
}
.album-film-bg video {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
  filter: brightness(.9) saturate(1.08) contrast(1.04);
}
.sound {
  position:fixed;
  right:clamp(18px,3vw,44px);
  bottom:max(18px,env(safe-area-inset-bottom));
  z-index:82;
  min-height:42px;
  border:1px solid rgba(255,255,0,.72);
  border-radius:999px;
  padding:0 15px;
  background:rgba(0,0,0,.48);
  color:var(--yellow);
  cursor:pointer;
  backdrop-filter:blur(14px);
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
}
.sound.is-on { background:var(--yellow); color:#000; box-shadow:0 18px 60px rgba(255,255,0,.22); }
.sound-gate {
  position:fixed;
  left:50%;
  bottom:max(78px,calc(env(safe-area-inset-bottom) + 78px));
  z-index:84;
  display:flex;
  align-items:center;
  gap:12px;
  min-height:54px;
  max-width:calc(100vw - 32px);
  border:0;
  border-radius:999px;
  padding:0 22px;
  background:var(--yellow);
  color:#000;
  box-shadow:0 22px 70px rgba(255,255,0,.28);
  cursor:pointer;
  transform:translate(-50%,18px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s var(--ease),visibility .28s var(--ease),transform .28s var(--ease);
}
.sound-gate.show { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0); }
.sound-gate span { font-size:12px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.sound-gate strong { font-size:15px; line-height:1; font-weight:1000; white-space:nowrap; }
@media(max-width:860px) {
  .sound { right:10px; min-height:40px; font-size:10px; }
  .sound-gate { bottom:max(70px,calc(env(safe-area-inset-bottom) + 70px)); width:calc(100vw - 24px); justify-content:center; padding:0 14px; }
  .sound-gate span { font-size:10px; }
  .sound-gate strong { font-size:13px; }
}
