/* CommandaPro anthem players: shared by the service, About, booking and Journal pages.
   One song per page, streamed from Cloudflare R2 only when someone presses play. */
.anthem-row{display:flex;align-items:center;gap:.85rem;text-align:left}
.anthem-row.solo{display:inline-flex;max-width:100%;border:1px solid var(--line);border-radius:50px;background:var(--panel);padding:.5rem 1.3rem .5rem .5rem}
.anthem-play{width:42px;height:42px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gold-hi),var(--gold) 60%,var(--gold-deep));border:0;cursor:pointer;color:#1a1408;transition:transform .3s;box-shadow:0 8px 20px -8px rgba(201,162,75,.7)}
.anthem-play:hover{transform:scale(1.08)}
.anthem-play:focus-visible,.np-close:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}
.anthem-play svg{width:15px;height:15px;display:block}
.anthem-play .ico-pause{display:none}
.anthem-row.playing .anthem-play .ico-play,.now-playing.playing .ico-play{display:none}
.anthem-row.playing .anthem-play .ico-pause,.now-playing.playing .ico-pause{display:block}
.anthem-meta{display:flex;flex-direction:column;line-height:1.35;min-width:0}
.anthem-kicker{font-family:var(--ui);font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-style:normal}
.anthem-name{font-family:var(--display);font-style:italic;font-size:1.04rem;color:var(--ivory)}
.eq{display:none;align-items:flex-end;gap:2px;height:15px;flex:none}
.anthem-row.playing .eq{display:flex}
.eq i{width:3px;background:var(--gold);border-radius:1px;animation:anthem-eq 1s ease-in-out infinite}
.eq i:nth-child(2){animation-delay:.18s}
.eq i:nth-child(3){animation-delay:.36s}
@keyframes anthem-eq{0%,100%{height:4px}50%{height:15px}}
.anthem-link{margin-left:.5rem;font-family:var(--ui);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)!important;border-bottom:1px solid transparent;flex:none;font-style:normal}
.anthem-link:hover{border-bottom-color:var(--gold)}

/* The top-of-page player: the same pill as the homepage hero */
.page-anthem{margin:.2rem auto 1.7rem;padding:.6rem 1.5rem .6rem .6rem!important;gap:1rem;border-color:var(--gold-deep)!important;background:linear-gradient(135deg,rgba(201,162,75,.16),rgba(22,22,26,.92) 70%)!important;cursor:pointer;transition:border-color .3s}
.page-anthem:hover{border-color:var(--gold)!important}
.page-anthem .anthem-play{width:54px;height:54px;animation:anthem-pulse 2.2s ease-out 1.2s infinite}
.page-anthem .anthem-play svg{width:18px;height:18px}
.page-anthem.playing .anthem-play{animation:none}
.page-anthem .anthem-kicker{font-size:.66rem;color:var(--gold-hi)}
.page-anthem .anthem-name{font-size:1.15rem}
@keyframes anthem-pulse{0%{box-shadow:0 0 0 0 rgba(201,162,75,.55)}70%{box-shadow:0 0 0 12px rgba(201,162,75,0)}100%{box-shadow:0 0 0 0 rgba(201,162,75,0)}}
.anthem-top{text-align:center}

/* Lyrics */
.song-block{padding:.2rem 0 1.2rem}
.song-block+.song-block{border-top:1px dotted var(--line);padding-top:2rem;margin-top:.8rem}
.song-block>.eyebrow{display:block;margin-bottom:.35rem}
.song-block h3{font-family:var(--display);font-size:clamp(1.35rem,3vw,1.8rem);color:var(--gold-hi);margin:.1rem 0 .5rem}
.anthem-context{color:#cfcabe;font-size:1.05rem;font-style:italic;font-family:var(--display);margin:0 0 1rem}
details.anthem-lyrics{margin:1rem 0 .4rem;border:1px solid var(--line);border-radius:5px;background:rgba(255,255,255,.015);text-align:left}
details.anthem-lyrics summary{cursor:pointer;padding:.75rem 1rem;color:var(--gold);font-family:var(--ui);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;font-style:normal}
details.anthem-lyrics summary:hover{color:var(--gold-hi)}
.lyrics-body{padding:.2rem 1.1rem 1rem}
.lyrics-body p{margin:1rem 0!important;color:#cfcabe;font-size:1.02rem!important;line-height:1.85;font-style:normal;font-family:var(--ui)}
.anthem-tag{color:var(--gold);font-weight:500;letter-spacing:.05em}
.anthem-stage{color:var(--muted);font-style:italic}

/* A hidden track inside a Journal article */
.hidden-track{margin:2.4rem 0 2rem;padding:1.5rem 1.4rem 1.1rem;border:1px solid var(--gold-deep);border-radius:8px;background:radial-gradient(600px 260px at 50% -30%,rgba(201,162,75,.16),transparent 60%),linear-gradient(180deg,#141117,#0c0c0e)}
.hidden-track>.eyebrow{display:block;margin-bottom:.4rem;color:var(--gold-hi)}
.hidden-track .ht-lead{font-family:var(--display);font-style:italic;font-size:1.18rem!important;color:var(--ivory)!important;margin:0 0 1.1rem!important;line-height:1.5}
.hidden-track .anthem-row.solo{margin-bottom:.2rem}

/* Floating player while a song plays off-screen */
.now-playing{position:fixed;left:16px;bottom:16px;z-index:1150;display:flex;align-items:center;gap:.7rem;padding:.45rem .7rem .45rem .45rem;border:1px solid var(--gold-deep);border-radius:50px;background:rgba(16,16,19,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 14px 34px -12px rgba(0,0,0,.85);max-width:calc(100vw - 32px);transform:translateY(160%);opacity:0;pointer-events:none;transition:transform .35s ease,opacity .35s ease;font-family:var(--ui)}
.now-playing.show{transform:none;opacity:1;pointer-events:auto}
.now-playing .anthem-play{width:38px;height:38px}
.now-playing .anthem-play svg{width:13px;height:13px}
.np-text{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.np-name{font-family:var(--display);font-style:italic;font-size:1rem;color:var(--ivory);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.np-close{background:none;border:0;color:var(--muted);font-size:1.4rem;line-height:1;cursor:pointer;padding:.15rem .35rem;margin-left:.15rem}
.np-close:hover{color:var(--ivory)}
@media(max-width:680px){
  .now-playing{left:12px;bottom:12px;max-width:calc(100vw - 24px)}
  .now-playing.np-raise{bottom:76px}
  .page-anthem{padding-right:1.1rem!important;gap:.8rem}
  .page-anthem .anthem-name{font-size:1.05rem}
  .page-anthem .anthem-kicker{font-size:.58rem;letter-spacing:.14em}
  .page-anthem .anthem-link{margin-left:.1rem;letter-spacing:.12em}
  .hidden-track{padding:1.3rem 1rem 1rem}
}
@media(prefers-reduced-motion:reduce){.page-anthem .anthem-play,.eq i{animation:none}}
