/* Perfis e portfólio: fotografias reais e tipografia de leitura. */
.artist-card-photo { display:block; }
.artist-card-summary { color:var(--muted-foreground); font-size:.88rem; }
.mc-body .card-footer-link { margin-top:1rem; padding-top:0; }
.mc-body .mc-real-name,.mc-body .mc-tag { font-family:var(--font-sans); }
.artist-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:32px; font-size:.85rem; color:#c7c9cf; }
.artist-breadcrumb a:hover { color:var(--paper); }
.artist-profile-hero { padding-top:30px; }
.artist-profile-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(28px,5vw,72px); align-items:center; }
.artist-profile-photo { position:relative; margin:0; overflow:hidden; border-radius:18px; background:#14191f; }
.artist-profile-photo img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:center; }
.artist-profile-photo figcaption { position:absolute; bottom:0; inset-inline:0; padding:36px 18px 16px; color:#e8e8ec; font-size:.75rem; background:linear-gradient(transparent,#090c10ed); }
.artist-profile-name { margin:0 0 12px; font-family:var(--font-poster); font-size:clamp(2.4rem,4.5vw,4.6rem); font-weight:800; line-height:1.1; letter-spacing:-.025em; overflow-wrap:anywhere; }
.artist-real-name { color:#c5c7ce; font-size:1rem; margin-bottom:22px; }
.artist-role-list { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:20px 0 24px; }
.artist-role-list li { padding:7px 12px; border:1px solid #ffffff26; border-radius:8px; font-size:.82rem; line-height:1.4; color:var(--paper); background:#ffffff08; }
.artist-profile-intro .hero-actions { margin-bottom:0; }
.artist-details-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:clamp(28px,5vw,64px); align-items:start; }
.artist-biography > p { color:#c9cbd2; margin-bottom:1rem; font-size:1rem; line-height:1.8; }
.artist-contact { gap:16px; }
.artist-contact .card-tag { margin-bottom:0; }
.artist-contact p { margin-bottom:0; }
.artist-contact > a:not(.btn) { font-size:.88rem; color:var(--paper); }
.artist-contact .btn,.artist-profile-intro .btn { white-space:normal; text-align:center; }
.artist-project-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:22px; }
.artist-project h3 { font:700 1.1rem/1.4 var(--font-sans); margin-bottom:10px; }
.artist-project p { margin-bottom:0; }
.artist-project .card-footer-link { color:var(--paper); }
.artist-music { margin-top:36px; padding-top:28px; border-top:1px solid var(--border); }
.artist-music .title-md { margin-bottom:20px; }
.artist-spotify-player { display:block; width:100%; max-width:100%; border:0; border-radius:12px; margin-bottom:16px; }
.artist-card-photo:focus-visible,.mc-stage-name a:focus-visible,.artist-project:focus-visible { outline:2px solid var(--paper); outline-offset:-3px; }
@media(max-width:700px) {
  .artist-profile-grid,.artist-details-grid { grid-template-columns:minmax(0,1fr); }
  .artist-profile-photo { max-width:440px; width:100%; }
  .artist-profile-photo img { aspect-ratio:4/3; }
  .artist-profile-name { font-size:clamp(2rem,9vw,3.4rem); }
  .artist-breadcrumb { font-size:.8rem; margin-bottom:24px; }
  .artist-project-grid { grid-template-columns:minmax(0,1fr); }
}
