/*! SONIC SNOWFLAKE RECORDS — Artist Detail View Styles */

.artist-hero { position: relative; min-height: 78vh; display: flex; align-items: flex-end; overflow: hidden; }
.artist-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; transform: scale(1.03); }
.artist-hero__scrim {
  position: absolute; inset: 0;
  background:
    linear-gradient(to top, var(--void) 4%, rgba(6,3,9,.35) 46%, rgba(6,3,9,.55) 100%),
    linear-gradient(to right, rgba(6,3,9,.5) 0%, transparent 55%);
}
.artist-hero__content { position: relative; z-index: 2; padding: calc(var(--nav-h) + 3rem) 0 4rem; }
.artist-hero__back {
  display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: .74rem;
  letter-spacing: .06em; text-transform: uppercase; color: var(--mist); margin-bottom: 26px; transition: color var(--dur-fast) ease;
}
.artist-hero__back svg { width: 14px; height: 14px; }
.artist-hero__back:hover { color: var(--pearl); }
.artist-hero .eyebrow { color: var(--card-accent); }
.artist-hero .eyebrow::before { background: var(--card-accent); }
.artist-hero__name { font-size: var(--fs-hero); line-height: .92; margin: .5rem 0 1rem; max-width: 16ch; }
.artist-hero__tagline { font-family: var(--font-mono); font-size: clamp(1rem, 1.6vw, 1.2rem); color: var(--mist); max-width: 50ch; margin-bottom: 2rem; }
.artist-hero__cta { display: flex; gap: 14px; flex-wrap: wrap; }
.artist-hero__cta .btn--primary { background: var(--card-accent); color: var(--void); }
.artist-hero__cta .btn--primary:hover { box-shadow: 0 0 26px color-mix(in srgb, var(--card-accent) 55%, transparent); }

.artist-bio__grid { display: grid; grid-template-columns: 1.6fr .9fr; gap: 50px; align-items: start; }
@media (max-width: 860px) { .artist-bio__grid { grid-template-columns: 1fr; } }
.artist-bio__text .eyebrow { color: var(--card-accent, var(--neon-bright)); margin-bottom: 14px; }
.artist-bio__text .eyebrow::before { background: var(--card-accent, var(--neon-bright)); }
.artist-bio__text p { color: var(--mist); font-size: var(--fs-lead); line-height: 1.75; margin-bottom: 1.1rem; }
.artist-bio__text p:first-of-type { color: var(--pearl); }

.artist-lineup { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; margin-top: 1.6rem; }
.artist-lineup__item { border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 14px 16px; }
.artist-lineup__item strong { display: block; font-family: var(--font-display); font-size: .95rem; margin-bottom: 4px; }
.artist-lineup__item span { font-family: var(--font-mono); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; color: var(--card-accent, var(--mist)); }

.artist-bio__stats { padding: 28px; display: flex; flex-direction: column; gap: 22px; }
.artist-bio__stats > div { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 1px solid var(--line-soft); padding-bottom: 18px; }
.artist-bio__stats > div:last-child { border-bottom: none; padding-bottom: 0; }
.artist-bio__stats strong { font-family: var(--font-display); font-size: 1.5rem; font-weight: 800; color: var(--pearl); }
.artist-bio__stats span { font-family: var(--font-mono); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--mist); }

.artist-gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
@media (max-width: 860px) { .artist-gallery { grid-template-columns: repeat(2, 1fr); } }
.artist-gallery__item { border-radius: var(--radius-sm); overflow: hidden; aspect-ratio: 1/1; border: 1px solid var(--line); }
.artist-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease-out), filter .3s ease; }
.artist-gallery__item:hover img { transform: scale(1.08); filter: brightness(1.08); }

.more-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
@media (max-width: 760px) { .more-grid { grid-template-columns: 1fr; } }
.more-card { position: relative; display: block; aspect-ratio: 16/10; border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--line); }
.more-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease-out); }
.more-card:hover img { transform: scale(1.07); }
.more-card__scrim { position: absolute; inset: 0; background: linear-gradient(to top, rgba(6,3,9,.9), transparent 65%); }
.more-card__body { position: absolute; left: 0; right: 0; bottom: 0; padding: 16px 18px; }
.more-card__body p { font-family: var(--font-mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--card-accent); margin-bottom: 4px; }
.more-card__body h4 { font-family: var(--font-display); font-size: 1.1rem; font-weight: 800; }
