.music-page .nav nav .active{color:var(--accent)}
.catalog-hero{padding:110px 0 105px}
.catalog-hero h1{font-family:"Google Sans Flex",Arial,Helvetica,sans-serif;font-weight:700;font-size:clamp(3.6rem,7vw,7rem);line-height:.91;letter-spacing:-.055em;margin:0;max-width:980px}
.catalog-hero>p:last-child{max-width:690px;color:var(--muted);font-size:1.12rem;margin:32px 0 0}
.catalog{padding:10px 0 110px}
.catalog-song{display:grid;grid-template-columns:62px minmax(0,760px);gap:18px;padding:0 0 78px}
.catalog-number{color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.16em;padding-top:12px}
.catalog-song h2{font-family:"Google Sans Flex",Arial,Helvetica,sans-serif;font-weight:700;font-size:clamp(2rem,4vw,3.8rem);line-height:1;letter-spacing:-.04em;margin:0}
.catalog-song p{color:var(--muted);max-width:690px;margin:14px 0 17px;font-size:1rem}
.catalog-links{display:flex;gap:25px;flex-wrap:wrap}
.catalog-links a{color:var(--ink);text-decoration:none;text-transform:uppercase;letter-spacing:.11em;font-size:.7rem;font-weight:800}
.catalog-links a:hover,.catalog-links a:focus-visible{color:var(--accent)}
.other-recordings{padding:35px 0 95px}
.other-recordings>.eyebrow{margin-bottom:35px}
.cover-song{padding-bottom:0}
@media(max-width:780px){.music-page .nav{justify-content:flex-end}.music-page .nav .brand{left:14px;transform:none}.music-page .nav nav{display:flex;gap:16px}.music-page .nav nav a{font-size:.62rem}.music-page .nav nav a:not(.active){display:none}.catalog-hero{padding:75px 0 80px}.catalog-hero h1{font-size:clamp(3rem,14vw,5rem)}.catalog-hero>p:last-child{font-size:1rem}.catalog{padding-bottom:55px}.catalog-song{grid-template-columns:36px 1fr;gap:10px;padding-bottom:58px}.catalog-number{padding-top:7px}.catalog-song h2{font-size:clamp(2rem,10vw,3rem)}.catalog-song p{font-size:.95rem;margin-top:12px}.other-recordings{padding:20px 0 75px}}

/* Fixed portrait — desktop only */
.catalog-portrait{display:none}
@media(min-width:1100px){
  .catalog-portrait{display:block;position:fixed!important;left:auto!important;right:0!important;top:92px!important;bottom:0!important;width:39vw!important;height:auto!important;z-index:1;pointer-events:none;overflow:hidden}
  .catalog-portrait::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 58% 48%,#202020 0,#111 43%,transparent 72%);opacity:.65}
  .catalog-portrait img{position:absolute!important;left:50%!important;right:auto!important;top:auto!important;bottom:0!important;width:auto!important;height:min(78vh,760px)!important;max-width:none!important;transform:translateX(-46%) scaleX(-1)!important;transform-origin:center bottom;filter:contrast(1.03)}
  .music-page main,.music-page footer,.music-page .nav{position:relative;z-index:2}
  .catalog-hero,.catalog,.other-recordings{width:min(var(--max),calc(100% - 40px));margin-left:auto;margin-right:auto}
  .catalog-hero h1{max-width:860px}
  .catalog-song{grid-template-columns:62px minmax(0,700px)}
  .music-page footer{grid-template-columns:auto 1fr}
  .music-page footer img{grid-column:2;justify-self:end;margin-right:2vw}
  .music-page footer p{grid-column:1;grid-row:1;justify-self:start}
}

/* Footer enters over the portrait only at the end of the page */
@media(min-width:1100px){
  .music-page footer{display:grid!important;grid-template-columns:1fr 39vw!important;align-items:center!important;min-height:110px;position:relative;z-index:5}
  .music-page footer>img{display:block!important;grid-column:2!important;grid-row:1!important;justify-self:center!important;width:160px!important;height:auto!important;margin:0!important;opacity:.42}
  .music-page footer p{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;margin:0!important;text-align:center!important;white-space:nowrap}
}


/* Final footer composition — logo exists only inside the footer */
@media(min-width:1100px){
  .music-page footer{
    display:block!important;
    min-height:110px;
    position:relative!important;
    z-index:5;
  }
  .music-page footer>img{
    display:block!important;
    visibility:visible!important;
    position:absolute!important;
    left:auto!important;
    right:calc(19.5vw - 80px)!important;
    top:50%!important;
    width:160px!important;
    height:auto!important;
    margin:0!important;
    opacity:.42!important;
    transform:translateY(-50%)!important;
  }
  .music-page footer p{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    margin:0!important;
    text-align:center!important;
    white-space:nowrap;
  }
}

/* TOC: align footer signature over the portrait's blazer */
@media(min-width:1100px){
  .music-page footer>img{
    right:auto!important;
    left:76vw!important;
    transform:translate(-50%,-50%)!important;
  }
}

/* TOC: final signature placement on the chest, matching the earlier visual */
@media(min-width:1100px){
  .music-page footer>img{
    left:72.5vw!important;
    top:18px!important;
    transform:translate(-50%,-50%)!important;
  }
}

/* TOC: match the original accidental placement — centered on lower torso */
@media(min-width:1100px){
  .music-page footer>img{
    left:72.5vw!important;
    top:-72px!important;
    transform:translate(-50%,-50%)!important;
  }
}

/* TOC: signature centered on portrait rail, aligned with copyright baseline */
@media(min-width:1100px){
  .music-page footer>img{
    left:80.5vw!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
  }
}

/* TOC: correct X relative to centered footer container */
@media(min-width:1100px){
  .music-page footer>img{
    left:65vw!important;
  }
}

/* TOC: fine-tune signature X */
@media(min-width:1100px){
  .music-page footer>img{left:58vw!important}
}

/* TOC: final signature X fine-tune */
@media(min-width:1100px){.music-page footer>img{left:61vw!important}}

/* Mobile music header: centered, lighter brand */
@media(max-width:780px){
  .music-page .nav .brand{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
  }
  .music-page .nav .brand img{
    width:145px;
    opacity:.82;
  }
}
