/* MYXX FM v28.1.5 stability bugfix
   Visual master: v28.1.3. No v28.2/v28.3 layout redesign rules are included here. */

/* Descender/glyph safety without changing the approved responsive composition. */
:where(h1,h2,h3,.display,.hero-statement,.entity-lead,.pulse-masthead h1,.world-map-copy h3,.host-profile-copy h2,.on-air-stage-copy h2,.remyxx-copy h2,.episode-copy h2,.now-playing-copy h2,.request-hero h1,.entity-hero-copy h1){
  overflow:visible!important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
:where(.display,.hero-statement,.masthead h1,.masthead h2,.section-head h2,.pulse-masthead h1,.world-map-copy h3,.host-profile-copy h2,.on-air-stage-copy h2,.remyxx-copy h2,.episode-copy h2,.now-playing-copy h2,.request-hero h1,.entity-hero-copy h1){
  padding-bottom:.07em!important;
}
:where(.masthead,.masthead>div,.pulse-masthead,.pulse-masthead-copy,.hero,.hero-copy,.section-head,.entity-hero,.entity-hero-copy,.authority-hero,.authority-hero-copy,.world-map-copy,.on-air-stage-copy,.episode-copy,.now-playing-copy){overflow:visible!important}

/* Smooth artwork swaps. Geometry remains the approved v28.1.3 geometry. */
img.artwork-swapping{opacity:.86;transition:opacity .18s ease}

/* Real artist imagery inside the existing v28.1.3 cards and identity frame. */
.entity-index-card.artist-with-photo{grid-template-columns:auto 68px minmax(0,1fr) auto;align-items:center}
.artist-index-thumb{width:68px;height:84px;object-fit:cover;object-position:center 32%;border-radius:15px;border:1px solid rgba(255,255,255,.10);background:#0d0d12;box-shadow:0 10px 28px rgba(0,0,0,.22)}
.artist-identity-mark.artist-photo-mark{aspect-ratio:4/5;overflow:hidden;padding:0;background:linear-gradient(145deg,#17151c,#09090c)}
.artist-identity-mark.artist-photo-mark>img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 32%;filter:none}
.artist-photo-credit{position:absolute;right:10px;bottom:10px;padding:6px 8px;border-radius:9px;background:rgba(0,0,0,.52);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);font-size:.58rem;color:rgba(255,255,255,.72)}
.artist-photo-credit a{color:inherit}
.photo-credit-link{margin-top:14px!important;text-align:right;font-size:.68rem;color:rgba(255,255,255,.52)}
.photo-credit-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.photo-credit-list li{display:grid;grid-template-columns:minmax(140px,.55fr) minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.035)}
.photo-credit-list li span{color:rgba(255,255,255,.62)}
.photo-credit-list li a{color:#ffd91a;font-weight:800}
@media(max-width:760px){
 .entity-index-card.artist-with-photo{grid-template-columns:56px minmax(0,1fr) auto}
 .entity-index-card.artist-with-photo>span:first-child{display:none}
 .artist-index-thumb{width:56px;height:70px;border-radius:12px}
 .photo-credit-list li{grid-template-columns:1fr;gap:6px}
}


/* v28.1.5 - glyph paint safety. This does not change headline size or grid geometry.
   background-clip:text can clip descenders when a tight line-height is used.
   Extend the painted box and neutralize the extra layout space. */
.pulse-editorial-home .pulse-lead-intro h2 .gradient-text,
.pulse-masthead h1 .gradient-text{
  overflow:visible!important;
  padding-bottom:.18em!important;
  margin-bottom:-.14em!important;
  background-size:100% 150%!important;
}
.pulse-editorial-home .pulse-lead-intro h2,
.pulse-masthead h1{overflow:visible!important}
