/* Premium Music reconciliation layer. Only affects body.page-music. */
body.page-music{
  --music-atlas-gold:216,182,107;
  --music-atlas-blue:96,158,198;
  overflow-x:clip;
}

body.page-music .music-premium-atlas,
body.page-music .music-institutional-packs,
body.page-music .music-signature-room{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}

body.page-music .music-premium-atlas::before,
body.page-music .music-institutional-packs::before,
body.page-music .music-signature-room::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.68;
  background:linear-gradient(90deg,rgba(var(--music-atlas-gold),.10),transparent 52%,rgba(var(--music-atlas-blue),.10)),repeating-linear-gradient(90deg,rgba(255,255,255,.028) 0 1px,transparent 1px 18px);
  mask-image:linear-gradient(180deg,transparent,#000 10%,#000 90%,transparent);
}

body.page-music .music-atlas-shell{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:clamp(1rem,2.8vw,1.8rem);
  align-items:stretch;
}

body.page-music .music-atlas-map{
  min-height:clamp(420px,52vw,600px);
  position:relative;
  overflow:hidden;
  border:1px solid rgba(var(--music-atlas-gold),.22);
  border-radius:8px;
  background:linear-gradient(120deg,rgba(var(--music-atlas-gold),.08),transparent 45%,rgba(var(--music-atlas-blue),.10)),rgba(255,255,255,.025);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 2rem 5.8rem rgba(0,0,0,.24);
}

body.page-music .music-atlas-map::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.58;
  background-image:linear-gradient(rgba(var(--music-atlas-gold),.10) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--music-atlas-blue),.08) 1px,transparent 1px);
  background-size:70px 70px;
}

body.page-music .music-atlas-node{
  --node-accent:var(--music-atlas-gold);
  --node-x:50%;
  --node-y:50%;
  position:absolute;
  left:var(--node-x);
  top:var(--node-y);
  width:min(210px,34vw);
  min-height:122px;
  display:grid;
  align-content:end;
  gap:6px;
  padding:14px;
  overflow:hidden;
  border:1px solid rgba(var(--node-accent),.36);
  border-radius:8px;
  color:#f1eadb;
  background:#050403;
  box-shadow:0 1.3rem 3.6rem rgba(0,0,0,.32);
  transform:translate(-50%,-50%);
  cursor:pointer;
  transition:transform .26s ease,border-color .26s ease,box-shadow .26s ease;
}

body.page-music .music-atlas-node::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.78;
  background:linear-gradient(180deg,rgba(5,4,3,.08),rgba(5,4,3,.86)),var(--node-image) center/cover no-repeat;
  filter:saturate(.86) contrast(1.08);
}

body.page-music .music-atlas-node:hover,
body.page-music .music-atlas-node:focus-visible,
body.page-music .music-atlas-node.is-active{
  border-color:rgba(var(--node-accent),.74);
  box-shadow:0 1.9rem 4.8rem rgba(0,0,0,.42),0 0 2.6rem rgba(var(--node-accent),.18);
  transform:translate(-50%,-50%) translateY(-5px);
  outline:none;
}

body.page-music .music-atlas-node small,
body.page-music .music-atlas-detail small,
body.page-music .institutional-pack-card small{
  color:rgba(248,231,189,.88);
  font:800 .62rem/1 Inter,Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.page-music .music-atlas-node strong,
body.page-music .music-atlas-detail h3,
body.page-music .institutional-pack-card h3{
  margin:0;
  color:#fff7e7;
  font-family:var(--font-display,Georgia,serif);
  font-size:clamp(1.55rem,2.4vw,2.6rem);
  line-height:.92;
  letter-spacing:0;
}

body.page-music .music-atlas-node span,
body.page-music .music-atlas-detail p,
body.page-music .institutional-pack-card p{
  color:rgba(241,234,219,.72);
  line-height:1.58;
}

body.page-music .music-atlas-detail{
  display:grid;
  align-content:end;
  gap:12px;
  min-height:100%;
  padding:clamp(1rem,2.5vw,1.6rem);
  border:1px solid rgba(var(--music-atlas-blue),.24);
  border-radius:8px;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.014));
  box-shadow:0 1.6rem 4.8rem rgba(0,0,0,.24);
}

body.page-music .music-institutional-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1rem,2vw,1.4rem);
}

body.page-music .institutional-pack-card{
  position:relative;
  overflow:hidden;
  min-height:260px;
  display:grid;
  align-content:start;
  gap:10px;
  padding:clamp(1rem,2.3vw,1.55rem);
  border:1px solid rgba(216,182,107,.20);
  border-radius:8px;
  background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.014));
  box-shadow:0 1.6rem 4.8rem rgba(0,0,0,.22);
}

body.page-music .institutional-pack-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.7;
  background:linear-gradient(120deg,rgba(var(--music-atlas-gold),.12),transparent 42%,rgba(var(--music-atlas-blue),.08)),repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 22px);
}

body.page-music .institutional-pack-card dl{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0;
}

body.page-music .institutional-pack-card dt{
  color:rgba(216,182,107,.78);
  font:800 .62rem/1 Inter,Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.page-music .institutional-pack-card dd{
  margin:.24rem 0 0;
  color:#f1eadb;
  font-size:.9rem;
  line-height:1.35;
}

body.page-music .music-mini-controller{
  position:fixed;
  right:20px;
  bottom:92px;
  z-index:10011;
  width:min(350px,calc(100vw - 40px));
  display:grid;
  gap:8px;
  padding:14px;
  color:#f1eadb;
  border:1px solid rgba(216,182,107,.26);
  border-radius:8px;
  background:linear-gradient(90deg,rgba(5,4,3,.88),rgba(5,4,3,.58),rgba(5,4,3,.90)),var(--mini-image) center/cover no-repeat,rgba(5,4,3,.88);
  box-shadow:0 1.8rem 5rem rgba(0,0,0,.48),inset 0 0 0 1px rgba(255,255,255,.045);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

body.page-music .music-mini-controller p,
body.page-music .music-mini-controller strong,
body.page-music .music-mini-controller span{
  margin:0;
}

body.page-music .music-mini-controller p{
  color:rgba(216,182,107,.84);
  font:800 .62rem/1 Inter,Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.page-music .music-mini-controller strong{
  color:#fff7e7;
  font-family:var(--font-display,Georgia,serif);
  font-size:1.65rem;
  line-height:.95;
}

body.page-music .mini-wave{
  height:28px;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  align-items:end;
  gap:3px;
}

body.page-music .mini-wave span{
  min-height:5px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(var(--music-atlas-gold),.92),rgba(var(--music-atlas-blue),.72));
  opacity:.78;
}

body.page-music .mini-wave span:nth-child(3n+1){height:34%}
body.page-music .mini-wave span:nth-child(3n+2){height:82%}
body.page-music .mini-wave span:nth-child(3n){height:56%}

body.cinematic-mode.page-music .mini-wave span{
  animation:musicMiniEq 1.35s ease-in-out infinite;
  animation-delay:calc(var(--i) * -70ms);
}

body.page-music .mini-controller-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
}

body.page-music .mini-controller-actions button,
body.page-music .music-mini-controller a{
  min-width:0;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 8px;
  color:rgba(241,234,219,.82);
  border:1px solid rgba(216,182,107,.22);
  border-radius:8px;
  background:rgba(255,255,255,.045);
  font:800 .6rem/1.1 Inter,Arial,sans-serif;
  text-align:center;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
}

body.page-music .music-signature-room .vh-sound-signature__embed{
  min-height:118px;
  display:grid;
  place-items:center;
  border:1px dashed rgba(216,182,107,.26);
  border-radius:8px;
  color:rgba(216,182,107,.78);
  background:rgba(5,4,3,.36);
  font:800 .72rem/1 Inter,Arial,sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
}

body.page-music .music-signature-room iframe{
  width:100%;
  min-height:352px;
  border:0;
  border-radius:8px;
}

@keyframes musicMiniEq{0%,100%{transform:scaleY(.72);opacity:.58}50%{transform:scaleY(1.12);opacity:1}}

@media (max-width:1100px){
  body.page-music .music-mini-controller{
    display:none;
  }
}

@media (max-width:980px){
  body.page-music .music-atlas-shell,
  body.page-music .music-institutional-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:760px){
  body.page-music .music-atlas-map{
    min-height:auto;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    padding:12px;
  }

  body.page-music .music-atlas-node{
    position:relative;
    left:auto;
    top:auto;
    width:auto;
    min-height:142px;
    transform:none;
  }

  body.page-music .music-atlas-node:hover,
  body.page-music .music-atlas-node:focus-visible,
  body.page-music .music-atlas-node.is-active{
    transform:none;
  }

  body.page-music .institutional-pack-card dl{
    grid-template-columns:1fr;
  }
}

body.reduce-motion.page-music .music-atlas-node,
body.reduced-motion.page-music .music-atlas-node,
body.reduce-motion.page-music .mini-wave span,
body.reduced-motion.page-music .mini-wave span{
  transition:none;
  transform:none;
  animation:none;
}

@media (prefers-reduced-motion:reduce){
  body.page-music .music-atlas-node,
  body.page-music .mini-wave span{
    transition:none;
    transform:none;
    animation:none;
  }
}
