.artist-intro { padding-block:48px 34px; }
.artist-intro h1 { font-size:calc(clamp(52px,6vw,72px) - 2px); line-height:1.1; }
.artist-intro > p { max-width:740px; margin-top:14px; }
.artist-intro + .page-divider { width:min(420px,55vw); margin-bottom:38px; }
.artist-playlist { display:grid; grid-template-columns:minmax(280px,360px) minmax(0,1fr); align-items:start; gap:clamp(28px,4vw,55px); padding-bottom:90px; }
.artist-sidebar h2 { margin:0 0 18px; font-size:calc(clamp(32px,3.4vw,43px) - 2px); line-height:1.12; }
.artist-cover { margin:24px 0 0; }
.artist-cover img { display:block; width:100%; max-width:360px; aspect-ratio:1; object-fit:cover; border:1px solid var(--line); box-shadow:12px 15px 28px rgba(38,31,25,.12); }
.artist-bio { margin:22px 0 0; font-size:17px; line-height:1.5; }
.artist-sidebar .text-link { display:inline-block; margin-top:15px; }
.playlist-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:18px; }
.playlist-heading h2 { margin:0; font-size:calc(clamp(32px,3.4vw,43px) - 2px); line-height:1.12; }
.playlist-count { margin:0 0 5px; color:var(--muted); font-family:'TC Volume Sans',sans-serif; font-size:12px; white-space:nowrap; }
.player-panel { padding:22px; border:1px solid var(--line); background:var(--surface); }
.now-label { display:block; margin-bottom:5px; color:var(--muted); font-family:'TC Volume Sans',sans-serif; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.now-title { display:block; margin-bottom:13px; font-family:'Libre Baskerville',Baskerville,Georgia,serif; font-size:calc(clamp(23px,2.4vw,29px) - 2px); font-style:italic; line-height:1.2; }
.player-panel audio { display:block; width:100%; }
.track-list { margin:0; padding:0; list-style:none; display:grid; gap:6px; }
.track-button { display:grid; grid-template-columns:30px minmax(0,1fr) 38px 42px; align-items:center; gap:10px; width:100%; min-height:54px; padding:8px 12px; border:1px solid var(--line); border-radius:7px; background:var(--button-cream); color:var(--button-ink); font:inherit; text-align:left; cursor:pointer; transition:background 160ms ease,border-color 160ms ease; }
.track-button:hover { border-color:var(--orange); background:var(--orange); }
.track-button[aria-current='true'] { border-color:var(--orange); }
.track-number,.track-duration,.track-action { font-family:'TC Volume Sans',sans-serif; font-size:11px; }
.track-number,.track-duration { color:#62574d; }
.track-title { font-family:'Libre Baskerville',Baskerville,Georgia,serif; font-size:17px; font-style:italic; line-height:1.18; text-decoration:underline; text-underline-offset:4px; }
.track-action { color:var(--orange-dark); text-align:right; }
.track-button:hover .track-action { color:#1f1c18; }
@media(max-width:850px) {
  .artist-playlist { grid-template-columns:1fr; gap:38px; }
  .artist-sidebar { display:grid; grid-template-columns:minmax(0,1fr) minmax(170px,220px); align-items:start; gap:0 22px; }
  .artist-sidebar h2,.player-panel { grid-column:1; }
  .artist-cover { grid-column:2; grid-row:1 / span 3; margin:0; }
  .artist-bio,.artist-sidebar .text-link { grid-column:1 / -1; }
  .artist-bio { margin-top:18px; }
}
@media(max-width:560px) {
  .artist-intro { padding-block:43px 30px; }
  .artist-intro + .page-divider { margin-bottom:32px; }
  .artist-playlist { padding-bottom:65px; }
  .artist-sidebar { grid-template-columns:1fr; }
  .artist-sidebar h2,.player-panel,.artist-cover,.artist-bio,.artist-sidebar .text-link { grid-column:1; }
  .artist-cover { grid-row:auto; width:min(100%,250px); margin:24px auto 0; }
  .artist-bio { font-size:16px; }
  .playlist-heading { align-items:start; flex-direction:column; gap:5px; }
  .track-button { grid-template-columns:25px minmax(0,1fr) 38px; gap:8px; padding:9px 11px; }
  .track-title { font-size:16px; }
  .track-action { display:none; }
}
