/* Shared, dependency-free controls and platform icons. */
.language-switch { display: inline-flex; z-index: 5; border: 1px solid #ffffff70; background: #080808e8; color: #fffaf4; }
.language-switch[hidden] { display: none !important; }
.language-switch button { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; min-height: 44px; padding: 8px 10px; border: 0; background: transparent; color: inherit; font: 600 11px/1 "DM Sans", Arial, sans-serif; letter-spacing: .04em; cursor: pointer; }
.language-switch button + button { border-left: 1px solid #ffffff40; }
.language-switch button[aria-pressed="true"] { background: #fffaf4; color: #171412; }
.language-switch button:hover:not([aria-pressed="true"]) { background: #302a25; }
.language-switch button:focus-visible { position: relative; outline: 3px solid #f05f49; outline-offset: 3px; }
.site-header > .language-switch { position: absolute; left: calc(clamp(1.25rem, 4vw, 4rem) + 60px); top: 50%; transform: translateY(-50%); }
.profile > .language-switch { position: absolute; left: 16px; top: 16px; }
.brand-icon { display: inline-block; width: 17px; height: 17px; flex: 0 0 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.hero-socials a { gap: 6px; }
.hero-socials .brand-icon { width: 14px; height: 14px; flex-basis: 14px; }
.text-links a { gap: 7px; }
.discography-links a { gap: 7px; white-space: nowrap; }
.follow-links a { gap: 9px; }
.follow-links a > .link-icon { margin-left: auto; }
.discography-links { justify-content: flex-end; }
.follow-links { flex-wrap: wrap; }
/* Preserve the supplied framing and headroom inside a moderately compact header. */
.profile .portrait { height: clamp(320px, 95vw, 380px); aspect-ratio: auto; overflow: hidden; background: #080808; }
.profile .portrait::before { content: ""; position: absolute; inset: 0; z-index: 0; background: url("assets/hero-center-stage.webp") center 64% / cover no-repeat; }
.profile .portrait img { position: relative; z-index: 1; width: auto; height: 100%; margin-inline: auto; object-fit: contain; object-position: center; transform: none; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.profile .portrait::after { z-index: 2; pointer-events: none; background: radial-gradient(ellipse at center, transparent 60%, rgba(8,8,8,.28) 100%), linear-gradient(transparent 97%, #080808 100%); }
.profile .identity { margin-top: 0; padding-top: 8px; }
.contact-panel .email-link { align-items: center; color: #fffaf4; }
.contact-panel { padding-top: 22px; }
.contact-panel .eyebrow { margin: 0 0 12px; color: #b9afa6; }
.contact-panel .contact-detail { display: flex; flex-direction: column; justify-content: center; gap: 4px; }
.contact-panel .contact-detail strong { color: #fffaf4; font-size: 12px; line-height: 1.3; }
.contact-panel .contact-detail small { color: #c5bbb3; margin: 0; font-size: 11px; line-height: 1.5; }
@media (max-width: 980px) {
  .discography-links { max-width: 390px; }
}
@media (max-width: 680px) {
  .site-header > .language-switch { left: 72px; }
  .discography-links { justify-content: flex-start; max-width: none; }
  .hero-socials a { gap: 4px; }
  .hero-socials .brand-icon { width: 12px; height: 12px; flex-basis: 12px; }
  .follow-links a { justify-content: flex-start; }
}
@media (max-width: 360px) {
  .hero-socials { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
